@@ -8,25 +8,47 @@ import {
88 StatusText ,
99} from "mocha-remote-react-native" ;
1010
11- import nodeAddonExamples from "@react-native-node-api/node-addon-examples" ;
11+ import { suites as nodeAddonExamplesSuites } from "@react-native-node-api/node-addon-examples" ;
1212
13- function loadTests ( ) {
14- for ( const [ suiteName , examples ] of Object . entries ( nodeAddonExamples ) ) {
15- describe ( suiteName , ( ) => {
16- for ( const [ exampleName , requireExample ] of Object . entries ( examples ) ) {
17- it ( exampleName , async ( ) => {
18- const test = requireExample ( ) ;
19- if ( test instanceof Function ) {
20- await test ( ) ;
21- }
22- } ) ;
23- }
24- } ) ;
25- }
13+ function describeIf (
14+ condition : boolean ,
15+ title : string ,
16+ fn : ( this : Mocha . Suite ) => void
17+ ) {
18+ return condition ? describe ( title , fn ) : describe . skip ( title , fn ) ;
19+ }
20+
21+ type Context = {
22+ allTests ?: boolean ;
23+ nodeAddonExamples ?: boolean ;
24+ ferricExample ?: boolean ;
25+ } ;
26+
27+ function loadTests ( {
28+ allTests = false ,
29+ nodeAddonExamples = allTests ,
30+ ferricExample = allTests ,
31+ } : Context ) {
32+ describeIf ( nodeAddonExamples , "Node Addon Examples" , ( ) => {
33+ for ( const [ suiteName , examples ] of Object . entries (
34+ nodeAddonExamplesSuites
35+ ) ) {
36+ describe ( suiteName , ( ) => {
37+ for ( const [ exampleName , requireExample ] of Object . entries ( examples ) ) {
38+ it ( exampleName , async ( ) => {
39+ const test = requireExample ( ) ;
40+ if ( test instanceof Function ) {
41+ await test ( ) ;
42+ }
43+ } ) ;
44+ }
45+ } ) ;
46+ }
47+ } ) ;
2648
27- describe ( "ferric-example" , ( ) => {
49+ describeIf ( ferricExample , "ferric-example" , ( ) => {
2850 it ( "exports a callable sum function" , ( ) => {
29- // eslint-disable-next-line @typescript-eslint/no-require-imports
51+ /* eslint-disable-next-line @typescript-eslint/no-require-imports -- TODO: Determine why a dynamic import doesn't work on Android */
3052 const exampleAddon = require ( "ferric-example" ) ;
3153 const result = exampleAddon . sum ( 1 , 3 ) ;
3254 if ( result !== 4 ) {
0 commit comments