@@ -83,21 +83,47 @@ def test_new_architecture_enabled?
8383 end
8484
8585 def test_use_hermes?
86+ options = { path : '../node_modules/react-native' }
87+
88+ ENV . delete ( 'RCT_BUILD_HERMES_FROM_SOURCE' )
8689 ENV . delete ( 'USE_HERMES' )
8790
88- refute ( use_hermes? ( { } ) )
89- assert ( use_hermes? ( { hermes_enabled : true } ) )
91+ refute ( use_hermes? ( options ) )
92+ assert ( use_hermes? ( { **options , hermes_enabled : true } ) )
93+ refute ( ENV . fetch ( 'RCT_BUILD_HERMES_FROM_SOURCE' , nil ) )
9094
9195 ENV [ 'USE_HERMES' ] = '0'
9296
93- refute ( use_hermes? ( { } ) )
94- refute ( use_hermes? ( { hermes_enabled : true } ) )
97+ refute ( use_hermes? ( options ) )
98+ refute ( use_hermes? ( { **options , hermes_enabled : true } ) )
99+ refute ( ENV . fetch ( 'RCT_BUILD_HERMES_FROM_SOURCE' , nil ) )
95100
96101 ENV [ 'USE_HERMES' ] = '1'
97102
98- assert ( use_hermes? ( { } ) )
99- assert ( use_hermes? ( { hermes_enabled : true } ) )
103+ assert ( use_hermes? ( options ) )
104+ assert ( use_hermes? ( { **options , hermes_enabled : true } ) )
105+ refute ( ENV . fetch ( 'RCT_BUILD_HERMES_FROM_SOURCE' , nil ) )
106+
107+ ENV . delete ( 'RCT_BUILD_HERMES_FROM_SOURCE' )
108+ ENV . delete ( 'USE_HERMES' )
109+ end
110+
111+ def test_use_hermes_visionos?
112+ options = {
113+ path : '../node_modules/@callstack/react-native-visionos' ,
114+ hermes_enabled : true ,
115+ }
116+
117+ ENV . delete ( 'RCT_BUILD_HERMES_FROM_SOURCE' )
118+ ENV . delete ( 'USE_HERMES' )
119+
120+ assert ( use_hermes? ( { **options , version : v ( 0 , 76 , 0 ) } ) )
121+ refute ( ENV . fetch ( 'RCT_BUILD_HERMES_FROM_SOURCE' , nil ) )
122+
123+ assert ( use_hermes? ( { **options , version : v ( 0 , 75 , 0 ) } ) )
124+ assert_equal ( 'true' , ENV . fetch ( 'RCT_BUILD_HERMES_FROM_SOURCE' ) )
100125
126+ ENV . delete ( 'RCT_BUILD_HERMES_FROM_SOURCE' )
101127 ENV . delete ( 'USE_HERMES' )
102128 end
103129
0 commit comments