react-native-windows 0.82.1 → 0.83.0-preview.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/.flowconfig +2 -7
  2. package/Libraries/Animated/components/AnimatedFlatList.js +5 -3
  3. package/Libraries/Animated/components/AnimatedImage.js +4 -3
  4. package/Libraries/Animated/components/AnimatedSectionList.js +2 -2
  5. package/Libraries/Animated/components/AnimatedText.js +7 -3
  6. package/Libraries/Animated/components/AnimatedView.js +3 -2
  7. package/Libraries/Animated/createAnimatedComponent.js +24 -12
  8. package/Libraries/Animated/nodes/AnimatedColor.js +26 -10
  9. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +43 -15
  10. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +43 -15
  11. package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +2 -2
  12. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +2 -2
  13. package/Libraries/Components/Glyph/Glyph.js +4 -1
  14. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +2 -2
  15. package/Libraries/Components/RefreshControl/RefreshControl.d.ts +3 -3
  16. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +2 -2
  17. package/Libraries/Components/ScrollView/ScrollView.js +1 -0
  18. package/Libraries/Components/ScrollView/ScrollView.windows.js +1 -0
  19. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +6 -6
  20. package/Libraries/Components/Switch/Switch.d.ts +2 -2
  21. package/Libraries/Components/Switch/Switch.windows.js +1 -1
  22. package/Libraries/Components/TextInput/TextInput.d.ts +2 -5
  23. package/Libraries/Components/TextInput/TextInput.js +6 -0
  24. package/Libraries/Components/TextInput/TextInput.windows.js +6 -0
  25. package/Libraries/Components/Touchable/TouchableBounce.js +7 -7
  26. package/Libraries/Components/Touchable/TouchableBounce.windows.js +7 -7
  27. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -1
  28. package/Libraries/Components/View/ReactNativeStyleAttributes.js +19 -1
  29. package/Libraries/Components/View/View.d.ts +2 -2
  30. package/Libraries/Components/View/View.windows.js +0 -1
  31. package/Libraries/Components/View/ViewNativeComponent.js +13 -1
  32. package/Libraries/Core/ReactNativeVersion.js +3 -3
  33. package/Libraries/Core/setUpPerformance.js +2 -0
  34. package/Libraries/Debugging/DebuggingOverlay.js +14 -14
  35. package/Libraries/Debugging/DebuggingOverlayRegistry.js +8 -2
  36. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +5 -2
  37. package/Libraries/Image/Image.d.ts +3 -3
  38. package/Libraries/Image/ImageInjection.js +3 -6
  39. package/Libraries/Image/ImageTypes.flow.js +3 -7
  40. package/Libraries/Lists/FlatList.js +8 -8
  41. package/Libraries/Lists/SectionList.d.ts +5 -1
  42. package/Libraries/Lists/ViewabilityHelper.js +1 -1
  43. package/Libraries/Lists/VirtualizedList.js +1 -0
  44. package/Libraries/LogBox/UI/AnsiHighlight.js +4 -1
  45. package/Libraries/NativeComponent/BaseViewConfig.android.js +11 -2
  46. package/Libraries/NativeComponent/NativeComponentRegistry.d.ts +98 -0
  47. package/Libraries/NativeComponent/NativeComponentRegistry.js +2 -0
  48. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +3 -1
  49. package/Libraries/NativeComponent/ViewConfigIgnore.windows.js +45 -0
  50. package/Libraries/Network/RCTNetworking.android.js +3 -1
  51. package/Libraries/Network/RCTNetworking.ios.js +3 -0
  52. package/Libraries/Network/RCTNetworking.windows.js +3 -0
  53. package/Libraries/Network/XMLHttpRequest.js +1 -41
  54. package/Libraries/Pressability/usePressability.js +14 -3
  55. package/Libraries/ReactNative/PaperUIManager.windows.js +3 -3
  56. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +20 -82
  57. package/Libraries/ReactNative/getNativeComponentAttributes.js +12 -0
  58. package/Libraries/Renderer/implementations/ReactFabric-dev.js +6759 -4478
  59. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3169 -3119
  60. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4732 -3535
  61. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +6646 -4070
  62. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3136 -2825
  63. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4761 -3312
  64. package/Libraries/Renderer/shims/ReactNative.js +3 -1
  65. package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -1
  66. package/Libraries/Renderer/shims/ReactNativeTypes.windows.js +2 -1
  67. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
  68. package/Libraries/StyleSheet/StyleSheetTypes.js +44 -0
  69. package/Libraries/StyleSheet/processBackgroundPosition.js +284 -0
  70. package/Libraries/StyleSheet/processBackgroundRepeat.js +105 -0
  71. package/Libraries/StyleSheet/processBackgroundSize.js +104 -0
  72. package/Libraries/Text/Text.d.ts +2 -2
  73. package/Libraries/Text/TextNativeComponent.js +10 -0
  74. package/Libraries/TurboModule/TurboModuleRegistry.js +3 -9
  75. package/Libraries/Utilities/DevLoadingView.js +14 -6
  76. package/Libraries/Utilities/HMRClient.js +13 -5
  77. package/Microsoft.ReactNative/Base/CxxReactIncludes.h +11 -0
  78. package/Microsoft.ReactNative/CompositionComponentView.idl +2 -0
  79. package/Microsoft.ReactNative/CompositionHwndHost.idl +1 -0
  80. package/Microsoft.ReactNative/Fabric/ComponentView.cpp +1 -1
  81. package/Microsoft.ReactNative/Fabric/ComponentView.h +1 -1
  82. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +10 -40
  83. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +3 -80
  84. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.cpp +45 -12
  85. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.h +8 -0
  86. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +61 -74
  87. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +4 -0
  88. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +1 -0
  89. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +4 -3
  90. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +2 -1
  91. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeWindow.cpp +245 -0
  92. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeWindow.h +80 -0
  93. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +20 -36
  94. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +70 -49
  95. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +4 -1
  96. package/Microsoft.ReactNative/Fabric/Composition/UriImageManager.cpp +5 -0
  97. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +7 -2
  98. package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +1 -0
  99. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -1
  100. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +1 -1
  101. package/Microsoft.ReactNative/Modules/LogBoxModule.cpp +20 -94
  102. package/Microsoft.ReactNative/Modules/LogBoxModule.h +1 -3
  103. package/Microsoft.ReactNative/Pch/pch.h +2 -0
  104. package/Microsoft.ReactNative/ReactHost/CrashManager.cpp +5 -0
  105. package/Microsoft.ReactNative/ReactHost/ReactNativeHeaders.h +1 -0
  106. package/Microsoft.ReactNative/ReactNativeAppBuilder.cpp +0 -41
  107. package/Microsoft.ReactNative/ReactNativeAppBuilder.idl +0 -11
  108. package/Microsoft.ReactNative/ReactNativeIsland.idl +2 -3
  109. package/Microsoft.ReactNative/ReactNativeWin32App.cpp +31 -101
  110. package/Microsoft.ReactNative/ReactNativeWin32App.h +2 -13
  111. package/Microsoft.ReactNative/ReactNativeWindow.idl +44 -0
  112. package/Microsoft.ReactNative.Cxx/AutoDraw.h +9 -1
  113. package/Microsoft.ReactNative.Cxx/ReactCommon/CallInvoker.h +13 -16
  114. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.h +24 -36
  115. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.h +5 -8
  116. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/AString.h +8 -6
  117. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Array.h +32 -49
  118. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Base.h +27 -76
  119. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bool.h +4 -2
  120. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/CallbackWrapper.h +19 -18
  121. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +25 -48
  122. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Convert.h +38 -31
  123. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Error.h +11 -6
  124. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/EventEmitter.h +47 -45
  125. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Function.h +69 -89
  126. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/HighResTimeStamp.h +8 -8
  127. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/LongLivedObject.h +6 -6
  128. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Number.h +16 -8
  129. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Object.h +17 -24
  130. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Promise.h +17 -17
  131. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Value.h +20 -29
  132. package/Microsoft.ReactNative.Cxx/ReactCommon/react/debug/react_native_assert.h +2 -7
  133. package/Microsoft.ReactNative.Cxx/ReactCommon/react/timing/primitives.h +127 -115
  134. package/PropertySheets/External/Microsoft.ReactNative.Composition.CppLib.props +10 -0
  135. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppLib.props +10 -0
  136. package/PropertySheets/Generated/PackageVersion.g.props +5 -5
  137. package/PropertySheets/Warnings.props +2 -1
  138. package/ReactCommon/ReactCommon.vcxproj +21 -12
  139. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +2 -2
  140. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/Instance.cpp +381 -0
  141. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +49 -0
  142. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSIndexedRAMBundle.cpp +145 -0
  143. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/MethodCall.cpp +100 -0
  144. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ModuleRegistry.cpp +256 -0
  145. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +13 -4
  146. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/RAMBundleRegistry.cpp +93 -0
  147. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ReactMarker.cpp +149 -0
  148. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +25 -35
  149. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +86 -67
  150. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsiexecutor/jsireact/JSIExecutor.cpp +629 -0
  151. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsiexecutor/jsireact/JSINativeModules.cpp +123 -0
  152. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +84 -68
  153. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +31 -35
  154. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/Utf8.h +4 -5
  155. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/network/HttpUtils.cpp +2 -1
  156. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +24 -36
  157. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.h +28 -66
  158. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/webperformance/NativePerformance.cpp +414 -0
  159. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +3 -3
  160. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/image/conversions.h +8 -4
  161. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +19 -16
  162. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +8 -9
  163. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +25 -95
  164. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/accessibilityPropsConversions.h +85 -42
  165. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventDispatcher.cpp +81 -0
  166. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventQueueProcessor.cpp +140 -0
  167. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/imagemanager/primitives.h +25 -31
  168. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManager.cpp +746 -0
  169. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +702 -0
  170. package/Scripts/Tfs/Layout-Desktop-Headers.ps1 +1 -15
  171. package/Scripts/creaternwapp.cmd +1 -1
  172. package/Scripts/perf/compare-results.js +357 -0
  173. package/Scripts/perf/create-perf-test.js +343 -0
  174. package/Scripts/perf/post-pr-comment.js +210 -0
  175. package/Shared/Hermes/HermesRuntimeTargetDelegate.cpp +8 -0
  176. package/Shared/Hermes/HermesRuntimeTargetDelegate.h +3 -0
  177. package/Shared/Shared.vcxitems +24 -12
  178. package/Shared/Shared.vcxitems.filters +11 -3
  179. package/codegen/NativeIntersectionObserverSpec.g.h +2 -0
  180. package/codegen/NativeNetworkingIOSSpec.g.h +2 -0
  181. package/codegen/NativePerformanceSpec.g.h +6 -0
  182. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +229 -139
  183. package/codegen/react/components/rnwcore/ActivityIndicatorView.g.h +2 -1
  184. package/codegen/react/components/rnwcore/AndroidDrawerLayout.g.h +42 -25
  185. package/codegen/react/components/rnwcore/AndroidHorizontalScrollContentView.g.h +2 -1
  186. package/codegen/react/components/rnwcore/AndroidProgressBar.g.h +2 -1
  187. package/codegen/react/components/rnwcore/AndroidSwipeRefreshLayout.g.h +11 -6
  188. package/codegen/react/components/rnwcore/AndroidSwitch.g.h +11 -6
  189. package/codegen/react/components/rnwcore/DebuggingOverlay.g.h +1 -0
  190. package/codegen/react/components/rnwcore/InputAccessory.g.h +2 -1
  191. package/codegen/react/components/rnwcore/ModalHostView.g.h +40 -23
  192. package/codegen/react/components/rnwcore/Props.cpp +6 -1
  193. package/codegen/react/components/rnwcore/Props.h +1 -0
  194. package/codegen/react/components/rnwcore/PullToRefreshView.g.h +11 -6
  195. package/codegen/react/components/rnwcore/SafeAreaView.g.h +1 -0
  196. package/codegen/react/components/rnwcore/Switch.g.h +11 -6
  197. package/codegen/react/components/rnwcore/UnimplementedNativeView.g.h +2 -1
  198. package/codegen/react/components/rnwcore/VirtualView.g.h +41 -8
  199. package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +45 -8
  200. package/codegen/rnwcoreJSI.h +3973 -6059
  201. package/index.js +6 -0
  202. package/index.windows.js +6 -0
  203. package/jest/mockComponent.js +6 -6
  204. package/jest/setup.js +15 -10
  205. package/package.json +27 -27
  206. package/src/private/components/virtualview/VirtualView.js +22 -27
  207. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +6 -0
  208. package/src/private/featureflags/ReactNativeFeatureFlags.js +100 -19
  209. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +18 -3
  210. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
  211. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +1 -1
  212. package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +1 -0
  213. package/src/private/webapis/dom/nodes/ReactNativeElement.js +12 -2
  214. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +76 -15
  215. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +1 -0
  216. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
  217. package/src/private/webapis/performance/ResourceTiming.js +31 -4
  218. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +4 -1
  219. package/src/private/webapis/performance/specs/NativePerformance.js +3 -0
  220. package/stubs/double-conversion/double-conversion.h +5 -0
  221. package/templates/cpp-app/template.config.js +1 -1
  222. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +3 -1
  223. package/templates/cpp-lib/template.config.js +1 -1
  224. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +1 -1
  225. package/types/index.d.ts +1 -0
  226. package/types/public/ReactNativeTypes.d.ts +115 -2
  227. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +0 -152
  228. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +0 -1574
  229. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ShadowNode.cpp +0 -528
  230. package/Scripts/OpenSSL.nuspec +0 -39
  231. package/Scripts/OpenSSL.targets +0 -36
  232. package/codegen/rnwcoreJSI-generated.cpp +0 -3470
@@ -44,19 +44,23 @@ TEST_P(JSITest, PropNameIDTest) {
44
44
  EXPECT_TRUE(PropNameID::compare(rt, movedQuux, copiedQuux));
45
45
 
46
46
  EXPECT_TRUE(PropNameID::compare(rt, movedQuux, movedQuux));
47
- EXPECT_TRUE(PropNameID::compare(
48
- rt, movedQuux, PropNameID::forAscii(rt, std::string("quux2"))));
49
- EXPECT_FALSE(PropNameID::compare(
50
- rt, movedQuux, PropNameID::forAscii(rt, std::string("foo"))));
47
+ EXPECT_TRUE(
48
+ PropNameID::compare(
49
+ rt, movedQuux, PropNameID::forAscii(rt, std::string("quux2"))));
50
+ EXPECT_FALSE(
51
+ PropNameID::compare(
52
+ rt, movedQuux, PropNameID::forAscii(rt, std::string("foo"))));
51
53
  uint8_t utf8[] = {0xF0, 0x9F, 0x86, 0x97};
52
54
  PropNameID utf8PropNameID = PropNameID::forUtf8(rt, utf8, sizeof(utf8));
53
55
  EXPECT_EQ(
54
56
  utf8PropNameID.utf8(rt), reinterpret_cast<const char*>(u8"\U0001F197"));
55
- EXPECT_TRUE(PropNameID::compare(
56
- rt, utf8PropNameID, PropNameID::forUtf8(rt, utf8, sizeof(utf8))));
57
+ EXPECT_TRUE(
58
+ PropNameID::compare(
59
+ rt, utf8PropNameID, PropNameID::forUtf8(rt, utf8, sizeof(utf8))));
57
60
  PropNameID nonUtf8PropNameID = PropNameID::forUtf8(rt, "meow");
58
- EXPECT_TRUE(PropNameID::compare(
59
- rt, nonUtf8PropNameID, PropNameID::forAscii(rt, "meow")));
61
+ EXPECT_TRUE(
62
+ PropNameID::compare(
63
+ rt, nonUtf8PropNameID, PropNameID::forAscii(rt, "meow")));
60
64
  EXPECT_EQ(nonUtf8PropNameID.utf8(rt), "meow");
61
65
  PropNameID strPropNameID =
62
66
  PropNameID::forString(rt, String::createFromAscii(rt, "meow"));
@@ -149,11 +153,12 @@ TEST_P(JSITest, ObjectTest) {
149
153
  obj.setProperty(rt, "oprop", oprop);
150
154
  obj.setProperty(rt, "aprop", Array(rt, 1));
151
155
 
152
- EXPECT_TRUE(function("function (obj) { return "
153
- "obj.roses == 'red' && "
154
- "obj['violets'] == 'blue' && "
155
- "typeof obj.oprop == 'object' && "
156
- "Array.isArray(obj.aprop); }")
156
+ EXPECT_TRUE(function(
157
+ "function (obj) { return "
158
+ "obj.roses == 'red' && "
159
+ "obj['violets'] == 'blue' && "
160
+ "typeof obj.oprop == 'object' && "
161
+ "Array.isArray(obj.aprop); }")
157
162
  .call(rt, obj)
158
163
  .getBool());
159
164
 
@@ -247,7 +252,7 @@ TEST_P(JSITest, HostObjectTest) {
247
252
  EXPECT_TRUE(cho.getHostObject<ConstantHostObject>(rt).get() != nullptr);
248
253
 
249
254
  struct SameRuntimeHostObject : HostObject {
250
- SameRuntimeHostObject(Runtime& rt) : rt_(rt){};
255
+ SameRuntimeHostObject(Runtime& rt) : rt_(rt) {};
251
256
 
252
257
  Value get(Runtime& rt, const PropNameID& sym) override {
253
258
  EXPECT_EQ(&rt, &rt_);
@@ -731,14 +736,15 @@ TEST_P(JSITest, HostFunctionTest) {
731
736
  EXPECT_TRUE(eval("cons.length == 2").getBool());
732
737
  EXPECT_TRUE(eval("cons instanceof Function").getBool());
733
738
 
734
- EXPECT_TRUE(eval("(function() {"
735
- " try {"
736
- " cons('fail'); return false;"
737
- " } catch (e) {"
738
- " return ((e instanceof Error) &&"
739
- " (e.message == 'Exception in HostFunction: ' +"
740
- " 'expected 2 args'));"
741
- " }})()")
739
+ EXPECT_TRUE(eval(
740
+ "(function() {"
741
+ " try {"
742
+ " cons('fail'); return false;"
743
+ " } catch (e) {"
744
+ " return ((e instanceof Error) &&"
745
+ " (e.message == 'Exception in HostFunction: ' +"
746
+ " 'expected 2 args'));"
747
+ " }})()")
742
748
  .getBool());
743
749
 
744
750
  Function coolify = Function::createFromHostFunction(
@@ -755,10 +761,11 @@ TEST_P(JSITest, HostFunctionTest) {
755
761
  EXPECT_TRUE(eval("coolify.name == 'coolify'").getBool());
756
762
  EXPECT_TRUE(eval("coolify.length == 0").getBool());
757
763
  EXPECT_TRUE(eval("coolify.bind('R&M')() == 'R&M is cool'").getBool());
758
- EXPECT_TRUE(eval("(function() {"
759
- " var s = coolify.bind(function(){})();"
760
- " return s.lastIndexOf(' is cool') == (s.length - 8);"
761
- "})()")
764
+ EXPECT_TRUE(eval(
765
+ "(function() {"
766
+ " var s = coolify.bind(function(){})();"
767
+ " return s.lastIndexOf(' is cool') == (s.length - 8);"
768
+ "})()")
762
769
  .getBool());
763
770
 
764
771
  Function lookAtMe = Function::createFromHostFunction(
@@ -887,14 +894,15 @@ TEST_P(JSITest, ValueTest) {
887
894
  uint8_t utf8[] = "[null, 2, \"c\", \"emoji: \xf0\x9f\x86\x97\", {}]";
888
895
 
889
896
  EXPECT_TRUE(
890
- function("function (arr) { return "
891
- "Array.isArray(arr) && "
892
- "arr.length == 5 && "
893
- "arr[0] === null && "
894
- "arr[1] == 2 && "
895
- "arr[2] == 'c' && "
896
- "arr[3] == 'emoji: \\uD83C\\uDD97' && "
897
- "typeof arr[4] == 'object'; }")
897
+ function(
898
+ "function (arr) { return "
899
+ "Array.isArray(arr) && "
900
+ "arr.length == 5 && "
901
+ "arr[0] === null && "
902
+ "arr[1] == 2 && "
903
+ "arr[2] == 'c' && "
904
+ "arr[3] == 'emoji: \\uD83C\\uDD97' && "
905
+ "typeof arr[4] == 'object'; }")
898
906
  .call(rt, Value::createFromJsonUtf8(rt, utf8, sizeof(utf8) - 1))
899
907
  .getBool());
900
908
 
@@ -936,14 +944,16 @@ TEST_P(JSITest, EqualsTest) {
936
944
  EXPECT_TRUE(Value::strictEquals(rt, nullptr, nullptr));
937
945
  EXPECT_TRUE(Value::strictEquals(rt, Value::undefined(), Value()));
938
946
  EXPECT_TRUE(Value::strictEquals(rt, rt.global(), Value(rt.global())));
939
- EXPECT_FALSE(Value::strictEquals(
940
- rt,
941
- std::numeric_limits<double>::quiet_NaN(),
942
- std::numeric_limits<double>::quiet_NaN()));
943
- EXPECT_FALSE(Value::strictEquals(
944
- rt,
945
- std::numeric_limits<double>::signaling_NaN(),
946
- std::numeric_limits<double>::signaling_NaN()));
947
+ EXPECT_FALSE(
948
+ Value::strictEquals(
949
+ rt,
950
+ std::numeric_limits<double>::quiet_NaN(),
951
+ std::numeric_limits<double>::quiet_NaN()));
952
+ EXPECT_FALSE(
953
+ Value::strictEquals(
954
+ rt,
955
+ std::numeric_limits<double>::signaling_NaN(),
956
+ std::numeric_limits<double>::signaling_NaN()));
947
957
  EXPECT_TRUE(Value::strictEquals(rt, +0.0, -0.0));
948
958
  EXPECT_TRUE(Value::strictEquals(rt, -0.0, +0.0));
949
959
 
@@ -1089,8 +1099,9 @@ TEST_P(JSITest, JSErrorDoesNotInfinitelyRecurse) {
1089
1099
  return rt.global().getPropertyAsObject(rt, "NotAProperty");
1090
1100
  };
1091
1101
  EXPECT_EQ(
1092
- function("function (f) { try { f(); return 'undefined'; }"
1093
- "catch (e) { return typeof e; } }")
1102
+ function(
1103
+ "function (f) { try { f(); return 'undefined'; }"
1104
+ "catch (e) { return typeof e; } }")
1094
1105
  .call(
1095
1106
  rt,
1096
1107
  Function::createFromHostFunction(
@@ -1330,18 +1341,21 @@ TEST_P(JSITest, SymbolTest) {
1330
1341
  EXPECT_EQ(eval("Symbol('sym')").getSymbol(rt).toString(rt), "Symbol(sym)");
1331
1342
 
1332
1343
  // EqualsTest
1333
- EXPECT_FALSE(Symbol::strictEquals(
1334
- rt,
1335
- eval("Symbol('a')").getSymbol(rt),
1336
- eval("Symbol('a')").getSymbol(rt)));
1337
- EXPECT_TRUE(Symbol::strictEquals(
1338
- rt,
1339
- eval("Symbol.for('a')").getSymbol(rt),
1340
- eval("Symbol.for('a')").getSymbol(rt)));
1344
+ EXPECT_FALSE(
1345
+ Symbol::strictEquals(
1346
+ rt,
1347
+ eval("Symbol('a')").getSymbol(rt),
1348
+ eval("Symbol('a')").getSymbol(rt)));
1349
+ EXPECT_TRUE(
1350
+ Symbol::strictEquals(
1351
+ rt,
1352
+ eval("Symbol.for('a')").getSymbol(rt),
1353
+ eval("Symbol.for('a')").getSymbol(rt)));
1341
1354
  EXPECT_FALSE(
1342
1355
  Value::strictEquals(rt, eval("Symbol('a')"), eval("Symbol('a')")));
1343
- EXPECT_TRUE(Value::strictEquals(
1344
- rt, eval("Symbol.for('a')"), eval("Symbol.for('a')")));
1356
+ EXPECT_TRUE(
1357
+ Value::strictEquals(
1358
+ rt, eval("Symbol.for('a')"), eval("Symbol.for('a')")));
1345
1359
  EXPECT_FALSE(Value::strictEquals(rt, eval("Symbol('a')"), eval("'a'")));
1346
1360
  }
1347
1361
 
@@ -1352,13 +1366,15 @@ TEST_P(JSITest, JSErrorTest) {
1352
1366
  // Getting message property can throw
1353
1367
 
1354
1368
  EXPECT_THROW(
1355
- eval("var GetMessageThrows = {get message() { throw Error('ex'); }};"
1356
- "throw GetMessageThrows;"),
1369
+ eval(
1370
+ "var GetMessageThrows = {get message() { throw Error('ex'); }};"
1371
+ "throw GetMessageThrows;"),
1357
1372
  JSIException);
1358
1373
 
1359
1374
  EXPECT_THROW(
1360
- eval("var GetMessageThrows = {get message() { throw GetMessageThrows; }};"
1361
- "throw GetMessageThrows;"),
1375
+ eval(
1376
+ "var GetMessageThrows = {get message() { throw GetMessageThrows; }};"
1377
+ "throw GetMessageThrows;"),
1362
1378
  JSIException);
1363
1379
 
1364
1380
  // Converting exception message to String can throw
@@ -1381,18 +1397,20 @@ TEST_P(JSITest, JSErrorTest) {
1381
1397
  JSIException);
1382
1398
 
1383
1399
  EXPECT_THROW(
1384
- eval("var e = Error();"
1385
- "String = function() { throw Error('ctor'); };"
1386
- "throw e;"),
1400
+ eval(
1401
+ "var e = Error();"
1402
+ "String = function() { throw Error('ctor'); };"
1403
+ "throw e;"),
1387
1404
  JSIException);
1388
1405
 
1389
1406
  // Converting an exception message to String can return a non-String
1390
1407
 
1391
1408
  EXPECT_THROW(
1392
- eval("String = function() { return 42; };"
1393
- "var e = Error();"
1394
- "e.message = 17;"
1395
- "throw e;"),
1409
+ eval(
1410
+ "String = function() { return 42; };"
1411
+ "var e = Error();"
1412
+ "e.message = 17;"
1413
+ "throw e;"),
1396
1414
  JSIException);
1397
1415
 
1398
1416
  // Exception can be non-Object
@@ -1404,8 +1422,9 @@ TEST_P(JSITest, JSErrorTest) {
1404
1422
  // Converting exception with no message or stack property to String can throw
1405
1423
 
1406
1424
  EXPECT_THROW(
1407
- eval("var e = {toString() { throw new Error('errstr'); }};"
1408
- "throw e;"),
1425
+ eval(
1426
+ "var e = {toString() { throw new Error('errstr'); }};"
1427
+ "throw e;"),
1409
1428
  JSIException);
1410
1429
  }
1411
1430