This commit is contained in:
2026-03-25 14:14:07 +01:00
parent d6b31e2ef7
commit a0073b4fb1
10368 changed files with 2214340 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
const test = require('node:test');
const assert = require('node:assert');
const { evaluate } = require("../lib/parse-utils");
/** @type {Array<[string, boolean | undefined]>} */
const testCases = [
[`defined(NAPI_EXPERIMENTAL)`, false],
[`!defined(NAPI_EXPERIMENTAL)`, true],
[`defined(NAPI_EXPERIMENTAL) || defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT)`, undefined],
[`defined(NAPI_EXPERIMENTAL) && defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT)`, false],
[`!defined(NAPI_EXPERIMENTAL) || (defined(NAPI_EXPERIMENTAL) && (defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT) || defined(NODE_API_EXPERIMENTAL_BASIC_ENV_OPT_OUT)))`, true],
[`NAPI_VERSION >= 9`, undefined],
[`!defined __cplusplus || (defined(_MSC_VER) && _MSC_VER < 1900)`, undefined], // parser error on `defined __cplusplus`
];
for (const [text, expected] of testCases) {
test(`${text} -> ${expected}`, (t) => {
const result = evaluate(text);
assert.strictEqual(result, expected);
});
}