Skip to content

Commit 16d15b6

Browse files
committed
Merge remote-tracking branch 'upstream/main' into add-generate-command
2 parents efab2cb + 256e7a5 commit 16d15b6

18 files changed

+761
-5
lines changed

apps/test-app/App.tsx

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
} from "mocha-remote-react-native";
1010

1111
import { suites as nodeAddonExamplesSuites } from "@react-native-node-api/node-addon-examples";
12+
import { suites as nodeTestsSuites } from "@react-native-node-api/node-tests";
1213

1314
function describeIf(
1415
condition: boolean,
@@ -21,11 +22,13 @@ function describeIf(
2122
type Context = {
2223
allTests?: boolean;
2324
nodeAddonExamples?: boolean;
25+
nodeTests?: boolean;
2426
};
2527

2628
function loadTests({
2729
allTests = false,
2830
nodeAddonExamples = allTests,
31+
nodeTests = allTests,
2932
}: Context) {
3033
describeIf(nodeAddonExamples, "Node Addon Examples", () => {
3134
for (const [suiteName, examples] of Object.entries(
@@ -43,6 +46,22 @@ function loadTests({
4346
});
4447
}
4548
});
49+
50+
describeIf(nodeTests, "Node Tests", () => {
51+
function registerTestSuite(suite: typeof nodeTestsSuites) {
52+
for (const [name, suiteOrTest] of Object.entries(suite)) {
53+
if (typeof suiteOrTest === "function") {
54+
it(name, suiteOrTest);
55+
} else {
56+
describe(name, () => {
57+
registerTestSuite(suiteOrTest);
58+
});
59+
}
60+
}
61+
}
62+
63+
registerTestSuite(nodeTestsSuites);
64+
});
4665
}
4766

4867
export default function App() {

apps/test-app/package.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,15 @@
1010
"test:android": "mocha-remote --exit-on-error -- concurrently --kill-others-on-fail --passthrough-arguments npm:metro 'npm:android -- {@}' --",
1111
"test:android:allTests": "MOCHA_REMOTE_CONTEXT=allTests npm run test:android -- ",
1212
"test:android:nodeAddonExamples": "MOCHA_REMOTE_CONTEXT=nodeAddonExamples npm run test:android -- ",
13+
"test:android:nodeTests": "MOCHA_REMOTE_CONTEXT=nodeTests npm run test:android -- ",
1314
"test:android:ferricExample": "MOCHA_REMOTE_CONTEXT=ferricExample npm run test:android -- ",
1415
"test:ios": "mocha-remote --exit-on-error -- concurrently --passthrough-arguments --kill-others-on-fail npm:metro 'npm:ios -- {@}' --",
1516
"test:ios:allTests": "MOCHA_REMOTE_CONTEXT=allTests npm run test:ios -- ",
1617
"test:ios:nodeAddonExamples": "MOCHA_REMOTE_CONTEXT=nodeAddonExamples npm run test:ios -- ",
17-
"test:ios:ferricExample": "MOCHA_REMOTE_CONTEXT=ferricExample npm run test:ios -- ",
1818
"gen:rs": "ferric init lib_in_rust",
1919
"build:rs": "ferric build --cwd lib_in_rust",
20-
"build:rs:release": "npm run build:rs -- --configuration release"
20+
"build:rs:release": "npm run build:rs -- --configuration release",
21+
"test:ios:nodeTests": "MOCHA_REMOTE_CONTEXT=nodeTests npm run test:ios -- "
2122
},
2223
"dependencies": {
2324
"@babel/core": "^7.26.10",
@@ -26,6 +27,8 @@
2627
"@react-native-community/cli": "^18.0.0",
2728
"@react-native-community/cli-platform-android": "^18.0.0",
2829
"@react-native-community/cli-platform-ios": "^18.0.0",
30+
"@react-native-node-api/node-addon-examples": "*",
31+
"@react-native-node-api/node-tests": "*",
2932
"@react-native/babel-preset": "0.79.0",
3033
"@react-native/metro-config": "0.79.0",
3134
"@react-native/typescript-config": "0.79.0",
@@ -39,7 +42,6 @@
3942
"mocha-remote-react-native": "^1.13.2",
4043
"react": "19.0.0",
4144
"react-native": "0.79.5",
42-
"@react-native-node-api/node-addon-examples": "*",
4345
"react-native-node-api": "*",
4446
"react-native-test-app": "^4.3.3"
4547
}

eslint.config.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ export default tseslint.config(
1212
"apps/test-app/ios/**",
1313
"packages/host/hermes/**",
1414
"packages/node-addon-examples/examples/**",
15+
"packages/ferric-example/ferric_example.d.ts",
16+
"packages/node-tests/node/**",
17+
"packages/node-tests/tests/**",
1518
]),
1619
eslint.configs.recommended,
1720
tseslint.configs.recommended,
@@ -22,6 +25,7 @@ export default tseslint.config(
2225
"packages/node-addon-examples/*.js",
2326
"packages/host/babel-plugin.js",
2427
"packages/host/react-native.config.js",
28+
"packages/node-tests/tests.generated.js",
2529
],
2630
languageOptions: {
2731
parserOptions: {

0 commit comments

Comments
 (0)