Skip to content

disable momentum scrolling for horizontal ScrollView - #24045

Closed
Taylor123 wants to merge 2 commits into
react:masterfrom
Taylor123:master
Closed

disable momentum scrolling for horizontal ScrollView#24045
Taylor123 wants to merge 2 commits into
react:masterfrom
Taylor123:master

Conversation

@Taylor123

Copy link
Copy Markdown
Contributor

Would like feedback from the community as this may not be the best solution for all

Summary

I would like to restrict (or paginate) the fling of a horizontal ScrollView when snapToInterval is set. This is not currently possible with pagingEnabled, since the pagination works only when items are the entire width of the ScrollView.

This implementation simply restricts the predicted targetOffset found from the x velocity and replaces it with the offset when the pan gesture ended.

To get pagination working, I may paginate based on the interval by calculating the offset delta from the beginning of the gesture to current offset and restricting the scrolling behavior to the snapToInterval. If this is preferred, I can update this PR or make a new one, but wanted to start a discussion since it seems like there are many in the community that would like this feature #21302 .

Changelog

[General] [Added] - add prop disableIntervalMomentum to disable the predictive scrolling behavior of horizontal ScrollViews

Test Plan

Have not added any tests for the new prop at the moment.

Android

./scripts/run-android-local-unit-tests.sh Warning: The test suite expects buck version d743d2d0229852ce7c029ec257532d8916f6b2b7 to be installed
Fetching dependencies...
Invalidating internal cached state: Buck configuration options changed between invocations. This may cause slower builds.
Parsing buck files: finished in 1.1 sec
Building: finished in 2.6 sec (100%) 81/81 jobs, 42 updated
Total time: 4.2 sec
Running unit tests...
Building: finished in 28.7 sec (100%) 572/572 jobs, 384 updated
Total time: 28.9 sec
Testing: finished in 01:40.1 min (160 PASS/0 FAIL)
RESULTS FOR //ReactAndroid/src/test/java/com/facebook/react/animated:animated //ReactAndroid/src/test/java/com/facebook/react/bridge:bridge //ReactAndroid/src/test/java/com/facebook/react/devsupport:devsupport //ReactAndroid/src/test/java/com/facebook/react/modules:modules //ReactAndroid/src/test/java/com/facebook/react/packagerconnection:packagerconnection //ReactAndroid/src/test/java/com/facebook/react/uimanager/layoutanimation:layoutanimation //ReactAndroid/src/test/java/com/facebook/react/uimanager:uimanager //ReactAndroid/src/test/java/com/facebook/react/util:util //ReactAndroid/src/test/java/com/facebook/react/views:views //ReactAndroid/src/test/java/com/facebook/react:react
PASS 11.6s 7 Passed 0 Skipped 0 Failed com.facebook.react.animated.NativeAnimatedInterpolationTest
PASS 24.5s 23 Passed 0 Skipped 0 Failed com.facebook.react.animated.NativeAnimatedNodeTraversalTest
PASS 20.1s 4 Passed 0 Skipped 0 Failed com.facebook.react.bridge.BaseJavaModuleTest
PASS 703ms 4 Passed 0 Skipped 0 Failed com.facebook.react.bridge.FallbackJSBundleLoaderTest
PASS 125ms 1 Passed 0 Skipped 0 Failed com.facebook.react.bridge.JavaOnlyArrayTest
PASS <100ms 8 Passed 0 Skipped 0 Failed com.facebook.react.bridge.JsonWriterTest
PASS 18.8s 10 Passed 0 Skipped 0 Failed com.facebook.react.devsupport.JSDebuggerWebSocketClientTest
PASS 9.3s 4 Passed 0 Skipped 0 Failed com.facebook.react.devsupport.MultipartStreamReaderTest
PASS 6.5s 5 Passed 0 Skipped 0 Failed com.facebook.react.devsupport.StackTraceHelperTest
PASS 17.9s 6 Passed 0 Skipped 0 Failed com.facebook.react.modules.blob.BlobModuleTest
PASS 10.2s 5 Passed 0 Skipped 0 Failed com.facebook.react.modules.camera.ImageStoreManagerTest
PASS 6.0s 1 Passed 0 Skipped 0 Failed com.facebook.react.modules.clipboard.ClipboardModuleTest
PASS 18.9s 5 Passed 0 Skipped 0 Failed com.facebook.react.modules.dialog.DialogModuleTest
PASS 9.0s 14 Passed 0 Skipped 0 Failed com.facebook.react.modules.network.NetworkingModuleTest
PASS 2.1s 9 Passed 0 Skipped 0 Failed com.facebook.react.modules.network.ProgressiveStringDecoderTest
PASS 2.0s 4 Passed 0 Skipped 0 Failed com.facebook.react.modules.network.ReactCookieJarContainerTest
PASS 2.8s 2 Passed 0 Skipped 0 Failed com.facebook.react.modules.share.ShareModuleTest
PASS 8.4s 6 Passed 0 Skipped 0 Failed com.facebook.react.modules.storage.AsyncStorageModuleTest
PASS 4.0s 9 Passed 0 Skipped 0 Failed com.facebook.react.modules.timing.TimingModuleTest
PASS 7.6s 9 Passed 0 Skipped 0 Failed com.facebook.react.packagerconnection.JSPackagerClientTest
PASS 6.9s 4 Passed 0 Skipped 0 Failed com.facebook.react.uimanager.layoutanimation.InterpolatorTypeTest
PASS 7.2s 2 Passed 0 Skipped 0 Failed com.facebook.react.uimanager.BaseViewManagerTest
PASS 5.9s 4 Passed 0 Skipped 0 Failed com.facebook.react.uimanager.MatrixMathHelperTest
PASS 8.7s 2 Passed 0 Skipped 0 Failed com.facebook.react.uimanager.SimpleViewPropertyTest
PASS <100ms 1 Passed 0 Skipped 0 Failed com.facebook.react.util.JSStackTraceTest
PASS 7.1s 1 Passed 0 Skipped 0 Failed com.facebook.react.views.image.ImageResizeModeTest
PASS 16.2s 4 Passed 0 Skipped 0 Failed com.facebook.react.views.image.ReactImagePropertyTest
PASS 8.5s 4 Passed 0 Skipped 0 Failed com.facebook.react.CompositeReactPackageTest
PASS 10.7s 2 Passed 0 Skipped 0 Failed com.facebook.react.RootViewTest
Updated test logs: buck-out/log/test.log
TESTS PASSED

iOS

./scripts/objc-test-ios.sh test
All tests
Test Suite RNTesterUnitTests.xctest started
RCTAllocationTests
✓ testBridgeIsDeallocated (0.328 seconds)
✓ testContentViewIsInvalidated (0.016 seconds)
✓ testModuleMethodsAreDeallocated (0.001 seconds)
✓ testModulesAreDeallocated (0.027 seconds)
✓ testModulesAreInvalidated (0.043 seconds)
✓ testUnderlyingBridgeIsDeallocated (0.128 seconds)
RCTAnimationUtilsTests
✓ testClampExtrapolate (0.001 seconds)
✓ testExtendExtrapolate (0.001 seconds)
✓ testIdentityExtrapolate (0.001 seconds)
✓ testManySegments (0.002 seconds)
✓ testSimpleOneToOneMapping (0.001 seconds)
✓ testWiderInputRange (0.001 seconds)
✓ testWiderOutputRange (0.001 seconds)
RCTBlobManagerTests
✓ testCreateFromParts (0.005 seconds)
✓ testRemove (0.001 seconds)
✓ testResolve (0.002 seconds)
✓ testResolveMap (0.001 seconds)
✓ testResolveURL (0.001 seconds)
RCTBundleURLProviderTests
✓ testBundleURL (0.064 seconds)
✓ testIPURL (0.023 seconds)
✓ testLocalhostURL (0.024 seconds)
RCTComponentPropsTests
✓ testNeedsOffscreenAlphaCompositing (0.036 seconds)
✓ testResetBackgroundColor (0.035 seconds)
✓ testResetProps (0.023 seconds)
✓ testSetProps (0.031 seconds)
RCTConvert_NSURLTests
✓ test_basic (0.005 seconds)
✓ test_documentsFolder (0.002 seconds)
✓ test_filePath (0.002 seconds)
✓ test_filePathWithEncodedSpaces (0.001 seconds)
✓ test_filePathWithSpaces (0.001 seconds)
✓ test_fileURL (0.002 seconds)
✓ test_fullURL (0.000 seconds)
✓ test_imageAt2XPath (0.007 seconds)
✓ test_imageFile (0.001 seconds)
✓ test_imageURL (0.002 seconds)
✓ test_imageURLWithSpaces (0.001 seconds)
✓ test_null (0.002 seconds)
✓ test_unicodeURL (0.001 seconds)
✓ test_urlWithEncodedSpaces (0.000 seconds)
✓ test_urlWithSpaces (0.002 seconds)
✓ testDataURL (0.002 seconds)
RCTConvert_YGValueTests
✓ testNumberPoints (0.003 seconds)
✓ testStringPercent (0.002 seconds)
✓ testUndefined (0.001 seconds)
RCTDevMenuTests
✓ testClosingActionSheetAfterAction (0.048 seconds)
✓ testShowCreatingActionSheet (0.038 seconds)
RCTEventDispatcherTests
✓ testBasicCoalescingReturnsLastEvent (0.027 seconds)
✓ testCoalescingEventIsImmediatelyDispatched (0.004 seconds)
✓ testDifferentEventTypesDontCoalesce (0.005 seconds)
✓ testLegacyEventsAreImmediatelyDispatched (0.006 seconds)
✓ testMultipleEventsResultInOnlyOneDispatchAfterTheFirstOne (0.003 seconds)
✓ testNonCoalescingEventIsImmediatelyDispatched (0.001 seconds)
✓ testRunningTheDispatchedBlockResultInANewOneBeingEnqueued (0.001 seconds)
✓ testSameEventTypesWithDifferentCoalesceKeysDontCoalesce (0.002 seconds)
RCTFontTests
✓ testFamily (0.106 seconds)
✓ testFamilyAndStyle (0.004 seconds)
✓ testFamilyAndWeight (0.003 seconds)
✓ testFamilyStyleAndWeight (0.002 seconds)
✓ testInvalidFont (0.003 seconds)
✓ testSize (0.001 seconds)
✓ testStyle (0.005 seconds)
✓ testStyleAndWeight (0.014 seconds)
✓ testVariant (0.002 seconds)
✓ testWeight (0.004 seconds)
RCTFormatErrorTests
✓ testSymbolication (0.006 seconds)
RCTGzipTests
✓ testDontRezipZippedData (0.004 seconds)
✓ testGzip (0.014 seconds)
✓ testRequestBodyEncoding (0.007 seconds)
RCTImageLoaderTests
✓ testImageDecoding (0.040 seconds)
✓ testImageLoaderUsesImageDecoderWithHighestPriority (0.018 seconds)
✓ testImageLoaderUsesImageURLLoaderWithHighestPriority (0.010 seconds)
✓ testImageLoading (0.011 seconds)
RCTImageUtilTests
✓ testLandscapeSourceLandscapeTarget (0.003 seconds)
✓ testPortraitSourceLandscapeTarget (0.001 seconds)
✓ testPortraitSourcePortraitTarget (0.002 seconds)
✓ testRounding (0.000 seconds)
✓ testScaling (0.001 seconds)
RCTJSONTests
✓ testDecodingArray (0.003 seconds)
✓ testDecodingMutableArray (0.001 seconds)
✓ testDecodingObject (0.001 seconds)
✓ testDecodingString (0.003 seconds)
✓ testEncodingArray (0.002 seconds)
✓ testEncodingNSError (0.020 seconds)
✓ testEncodingObject (0.001 seconds)
✓ testEncodingString (0.001 seconds)
✓ testErrorPointer (0.005 seconds)
✓ testLeadingWhitespace (0.001 seconds)
✓ testNaN (0.002 seconds)
✓ testNotJSONSerializable (0.004 seconds)
✓ testNotUTF8Convertible (0.005 seconds)
RCTMethodArgumentTests
✓ testAttributes (0.001 seconds)
✓ testGenericArray (0.002 seconds)
✓ testGenericDictionary (0.005 seconds)
✓ testGenericSet (0.005 seconds)
✓ testNamespacedCxxStruct (0.001 seconds)
✓ testNestedGenericArray (0.001 seconds)
✓ testNewlines (0.001 seconds)
✓ testNullability (0.000 seconds)
✓ testOneArgument (0.007 seconds)
✓ testSemicolonStripping (0.001 seconds)
✓ testSpaces (0.001 seconds)
✓ testTwoArguments (0.000 seconds)
✓ testUnnamedArgs (0.003 seconds)
✓ testUntypedUnnamedArgs (0.002 seconds)
✓ testUnused (0.000 seconds)
RCTModuleInitNotificationRaceTests
✓ testViewManagerNotInitializedBeforeSetBridgeModule (0.063 seconds)
RCTModuleInitTests
✓ testCustomInitModuleInitializedAtBridgeStartup (0.043 seconds)
✓ testCustomSetBridgeModuleInitializedAtBridgeStartup (0.025 seconds)
✓ testExportConstantsModuleInitializedAtBridgeStartup (0.019 seconds)
✓ testInjectedModulesInitializedDuringBridgeInit (0.013 seconds)
✓ testLazyInitModuleNotInitializedDuringBridgeInit (0.017 seconds)
RCTModuleMethodTests
✓ testFunctionType (0.003 seconds)
✓ testNonnull (0.003 seconds)
✓ testNumbersNonnull (0.001 seconds)
✓ testReturnsNilForDefaultFunction (0.001 seconds)
✓ testReturnsValueForSyncFunction (0.001 seconds)
✓ testReturnTypeForSyncFunction (0.001 seconds)
✓ testStructArgument (0.002 seconds)
✓ testWhitespaceTolerance (0.007 seconds)
RCTMultipartStreamReaderTests
✓ testMultipleParts (0.001 seconds)
✓ testNoCloseDelimiter (0.003 seconds)
✓ testNoDelimiter (0.001 seconds)
✓ testSimpleCase (0.002 seconds)
RCTNativeAnimatedNodesManagerTests
✓ testAdditionNode (0.012 seconds)
✓ testAnimationCallbackFinish (0.002 seconds)
✓ testCritcallyDampedSpringAnimation (0.002 seconds)
✓ testDecayAnimation (0.011 seconds)
✓ testDecayAnimationLoop (0.046 seconds)
✓ testFramesAnimation (0.004 seconds)
✓ testFramesAnimationLoop (0.030 seconds)
✓ testHandleStoppingAnimation (0.012 seconds)
✓ testInterpolationNode (0.008 seconds)
✓ testMultiplicationNode (0.004 seconds)
✓ testNativeAnimatedEventDoNotUpdate (0.001 seconds)
✓ testNativeAnimatedEventDoUpdate (0.006 seconds)
✓ testNodeValueListenerIfListening (0.005 seconds)
✓ testNodeValueListenerIfNotListening (0.002 seconds)
✓ testSpringAnimationLoop (0.020 seconds)
✓ testSpringTrackingRetainsSpeed (0.019 seconds)
✓ testTracking (0.003 seconds)
✓ testTrackingPausesWhenEndValueIsReached (0.005 seconds)
✓ testUnderdampedSpringAnimation (0.005 seconds)
✓ testViewReceiveUpdatesIfOneOfAnimationHasntStarted (0.001 seconds)
✓ testViewReceiveUpdatesWhenOneOfAnimationHasFinished (0.003 seconds)
RCTShadowViewTests
✓ testAncestorCheck (0.002 seconds)
✓ testApplyingLayoutRecursivelyToShadowView (0.002 seconds)
✓ testAssignsSuggestedHeightDimension (0.001 seconds)
✓ testAssignsSuggestedWidthDimension (0.003 seconds)
✓ testDoesNotAssignSuggestedDimensionsWhenStyledWithFlexAttribute (0.001 seconds)
✓ testDoesNotOverrideDimensionStyleWithSuggestedDimensions (0.001 seconds)
RCTUIManagerTests
✓ testManagingChildrenToAddRemoveAndMove (0.011 seconds)
✓ testManagingChildrenToAddViews (0.002 seconds)
✓ testManagingChildrenToRemoveViews (0.002 seconds)
RCTURLUtilsTests
✓ testAppendParam (0.002 seconds)
✓ testDuplicateParamTakesLatter (0.001 seconds)
✓ testGetEncodedParam (0.001 seconds)
✓ testGetQueryParam (0.001 seconds)
✓ testIsLocalAssetsURLParam (0.002 seconds)
✓ testNilURLAppendQueryParam (0.002 seconds)
✓ testNilURLGetQueryParam (0.001 seconds)
✓ testQueryParamNotFound (0.001 seconds)
✓ testRemoveParam (0.000 seconds)
✓ testReplaceEncodedParam (0.001 seconds)
✓ testReplaceParam (0.001 seconds)
RCTUnicodeDecodeTests
✓ testEmojis (0.002 seconds)
✓ testNiqqud (0.001 seconds)
Executed 166 tests, with 0 failures (0 unexpected) in 1.763 (2.137) seconds

@facebook-github-botfacebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Mar 19, 2019
@Kida007

Kida007 commented Apr 2, 2019

Copy link
Copy Markdown
Contributor

A bit off-topic, but :
I also wanted to build something similar like a Custom-width-pagination. But as you said pagination only works if the width of the item is equal to the scrollview , was not possible. It would be great to have something like this.

If you are looking for a workaround I made this : custom-width-pagination

@Taylor123

Copy link
Copy Markdown
ContributorAuthor

A bit off-topic, but :
I also wanted to build something similar like a Custom-width-pagination. But as you said pagination only works if the width of the item is equal to the scrollview , was not possible. It would be great to have something like this.

If you are looking for a workaround I made this : custom-width-pagination

The main reason I went with the solution in this PR is because I wanted everything to be handled by a native thread and not have to call scrollTo or some variation from JS. In my scenario, I have a large amount of data being returned and calculated when the item changes. This makes any of the JS solutions I've found online or wrote myself drop frames and provides a worse UX.

This solution in the PR could still be better though. I need to find some time to update the ScrollView component to actually paginate, not just disable the projected scrolling

@sahrenssahrens left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this! Just some tweaks and then I'll land it.

Comment threadLibraries/Components/ScrollView/ScrollView.js Outdated
Comment threadReact/Views/ScrollView/RCTScrollView.m Outdated

@facebook-github-botfacebook-github-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sahrens is landing this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

@react-native-bot

Copy link
Copy Markdown
Collaborator

This pull request was successfully merged by @Taylor123 in faaa92b.

When will my fix make it into a release? | Upcoming Releases

@react-native-botreact-native-bot added the Merged This PR has been merged. label Apr 15, 2019
@Shaninnik

Copy link
Copy Markdown
Contributor

Sorry to resurrect old PR. @Taylor123 but was there a reason to limit this to horizontal scrolling only? I have exact same use case but for vertical scroll, tested

if (isHorizontal) {
// Use current scroll offset to determine the next index to snap to when momentum disabled
targetContentOffsetAlongAxis = self.disableIntervalMomentum ? scrollView.contentOffset.x : targetContentOffset->x;
} else {
targetContentOffsetAlongAxis = self.disableIntervalMomentum ? scrollView.contentOffset.y : targetContentOffset->y;
}

and it works perfect (not yet sure about Android)

@Taylor123

Copy link
Copy Markdown
ContributorAuthor

@Shaninnik no reason aside from me thinking this UX behavior is mainly used in horizontal scrollviews.

Happy to make the update unless you'd like to

facebook-github-bot pushed a commit that referenced this pull request Jan 27, 2020
Summary:
Following up changes added in #24045 I had the same use case for vertical ScrollView. This PR just enables existing `disableIntervalMomentum` property to work with vertical ScrollViews: restricts vertical pagination when page height is less than height of ScrollView.
## Changelog
[General] [Changed] - changed property `disableIntervalMomentum` to work with both horizontal and vertical ScrollViews
Pull Request resolved: #27666
Test Plan:
No new tests at the moment
`iOS`
```
All tests
Test Suite RNTesterUnitTests.xctest started
RCTAllocationTests
✓ testBridgeIsDeallocated (0.045 seconds)
✓ testContentViewIsInvalidated (0.006 seconds)
✓ testModuleMethodsAreDeallocated (0.002 seconds)
✓ testModulesAreDeallocated (0.022 seconds)
✓ testModulesAreInvalidated (0.017 seconds)
RCTAnimationUtilsTests
✓ testClampExtrapolate (0.002 seconds)
✓ testExtendExtrapolate (0.002 seconds)
✓ testIdentityExtrapolate (0.001 seconds)
✓ testManySegments (0.003 seconds)
✓ testSimpleOneToOneMapping (0.002 seconds)
✓ testWiderInputRange (0.003 seconds)
✓ testWiderOutputRange (0.002 seconds)
RCTBlobManagerTests
✓ testCreateFromParts (0.002 seconds)
✓ testRemove (0.001 seconds)
✓ testResolve (0.001 seconds)
✓ testResolveMap (0.001 seconds)
✓ testResolveURL (0.001 seconds)
RCTBundleURLProviderTests
✓ testBundleURL (0.041 seconds)
✓ testIPURL (0.005 seconds)
✓ testLocalhostURL (0.005 seconds)
RCTComponentPropsTests
✓ testNeedsOffscreenAlphaCompositing (0.019 seconds)
✓ testResetBackgroundColor (0.008 seconds)
✓ testResetProps (0.012 seconds)
✓ testSetProps (0.009 seconds)
RCTConvert_NSURLTests
✓ test_basic (0.002 seconds)
✓ test_documentsFolder (0.001 seconds)
✓ test_filePath (0.001 seconds)
✓ test_filePathWithEncodedSpaces (0.001 seconds)
✓ test_filePathWithSpaces (0.001 seconds)
✓ test_fileURL (0.001 seconds)
✓ test_fullURL (0.001 seconds)
✓ test_imageAt2XPath (0.001 seconds)
✓ test_imageFile (0.001 seconds)
✓ test_imageURL (0.001 seconds)
✓ test_imageURLWithSpaces (0.001 seconds)
✓ test_null (0.001 seconds)
✓ test_unicodeURL (0.001 seconds)
✓ test_urlWithEncodedSpaces (0.001 seconds)
✓ test_urlWithSpaces (0.001 seconds)
✓ testDataURL (0.003 seconds)
RCTConvert_YGValueTests
✓ testNumberPoints (0.002 seconds)
✓ testStringPercent (0.002 seconds)
✓ testUndefined (0.001 seconds)
RCTDevMenuTests
✓ testClosingActionSheetAfterAction (0.009 seconds)
✓ testShowCreatingActionSheet (0.017 seconds)
RCTEventDispatcherTests
✓ testBasicCoalescingReturnsLastEvent (0.006 seconds)
✓ testCoalescingEventIsImmediatelyDispatched (0.001 seconds)
✓ testDifferentEventTypesDontCoalesce (0.001 seconds)
✓ testDifferentViewTagsDontCoalesce (0.001 seconds)
✓ testLegacyEventsAreImmediatelyDispatched (0.001 seconds)
✓ testMultipleEventsResultInOnlyOneDispatchAfterTheFirstOne (0.001 seconds)
✓ testNonCoalescingEventIsImmediatelyDispatched (0.001 seconds)
✓ testRunningTheDispatchedBlockResultInANewOneBeingEnqueued (0.001 seconds)
✓ testSameEventTypesWithDifferentCoalesceKeysDontCoalesce (0.001 seconds)
RCTFontTests
✓ testFamily (0.029 seconds)
✓ testFamilyAndStyle (0.001 seconds)
✓ testFamilyAndWeight (0.002 seconds)
✓ testFamilyStyleAndWeight (0.002 seconds)
✓ testInvalidFont (0.002 seconds)
✓ testSize (0.001 seconds)
✓ testStyle (0.003 seconds)
✓ testStyleAndWeight (0.002 seconds)
✓ testVariant (0.002 seconds)
✓ testWeight (0.002 seconds)
RCTFormatErrorTests
✓ testSymbolication (0.002 seconds)
RCTGzipTests
✓ testDontRezipZippedData (0.004 seconds)
✓ testGzip (0.002 seconds)
✓ testRequestBodyEncoding (0.003 seconds)
RCTImageLoaderTests
✓ testImageDecoding (0.010 seconds)
✓ testImageLoaderUsesImageDecoderWithHighestPriority (0.003 seconds)
✓ testImageLoaderUsesImageURLLoaderWithHighestPriority (0.004 seconds)
✓ testImageLoading (0.004 seconds)
RCTImageUtilTests
✓ testLandscapeSourceLandscapeTarget (0.001 seconds)
✓ testPortraitSourceLandscapeTarget (0.001 seconds)
✓ testPortraitSourcePortraitTarget (0.001 seconds)
✓ testRounding (0.001 seconds)
✓ testScaling (0.001 seconds)
RCTJSONTests
✓ testDecodingArray (0.001 seconds)
✓ testDecodingMutableArray (0.001 seconds)
✓ testDecodingObject (0.001 seconds)
✓ testDecodingString (0.001 seconds)
✓ testEncodingArray (0.001 seconds)
✓ testEncodingNSError (0.023 seconds)
✓ testEncodingObject (0.001 seconds)
✓ testEncodingString (0.001 seconds)
✓ testErrorPointer (0.002 seconds)
✓ testLeadingWhitespace (0.001 seconds)
✓ testNaN (0.001 seconds)
✓ testNotJSONSerializable (0.001 seconds)
✓ testNotUTF8Convertible (0.004 seconds)
RCTMethodArgumentTests
✓ testAttributes (0.001 seconds)
✓ testGenericArray (0.001 seconds)
✓ testGenericDictionary (0.001 seconds)
✓ testGenericSet (0.001 seconds)
✓ testNamespacedCxxStruct (0.001 seconds)
✓ testNestedGenericArray (0.001 seconds)
✓ testNewlines (0.001 seconds)
✓ testNullability (0.001 seconds)
✓ testOneArgument (0.001 seconds)
✓ testSemicolonStripping (0.001 seconds)
✓ testSpaces (0.001 seconds)
✓ testTwoArguments (0.001 seconds)
✓ testUnnamedArgs (0.001 seconds)
✓ testUntypedUnnamedArgs (0.001 seconds)
✓ testUnused (0.001 seconds)
RCTModuleInitNotificationRaceTests
✓ testViewManagerNotInitializedBeforeSetBridgeModule (0.009 seconds)
RCTModuleInitTests
✓ testCustomInitModuleInitializedAtBridgeStartup (0.005 seconds)
✓ testCustomSetBridgeModuleInitializedAtBridgeStartup (0.006 seconds)
✓ testExportConstantsModuleInitializedAtBridgeStartup (0.005 seconds)
✓ testInjectedModulesInitializedDuringBridgeInit (0.003 seconds)
✓ testLazyInitModuleNotInitializedDuringBridgeInit (0.005 seconds)
RCTModuleMethodTests
✓ testFunctionType (0.001 seconds)
✓ testNonnull (0.001 seconds)
✓ testNumbersNonnull (0.001 seconds)
✓ testReturnsNilForDefaultFunction (0.001 seconds)
✓ testReturnsValueForSyncFunction (0.001 seconds)
✓ testReturnTypeForSyncFunction (0.001 seconds)
✓ testStructArgument (0.001 seconds)
✓ testWhitespaceTolerance (0.001 seconds)
RCTMultipartStreamReaderTests
✓ testMultipleParts (0.001 seconds)
✓ testNoCloseDelimiter (0.001 seconds)
✓ testNoDelimiter (0.001 seconds)
✓ testSimpleCase (0.001 seconds)
RCTNativeAnimatedNodesManagerTests
✓ testAdditionNode (0.002 seconds)
✓ testAnimationCallbackFinish (0.001 seconds)
✓ testCritcallyDampedSpringAnimation (0.003 seconds)
✓ testDecayAnimation (0.004 seconds)
✓ testDecayAnimationLoop (0.012 seconds)
✓ testFramesAnimation (0.001 seconds)
✓ testFramesAnimationLoop (0.002 seconds)
✓ testHandleStoppingAnimation (0.002 seconds)
✓ testInterpolationNode (0.002 seconds)
✓ testMultiplicationNode (0.001 seconds)
✓ testNativeAnimatedEventDoNotUpdate (0.001 seconds)
✓ testNativeAnimatedEventDoUpdate (0.002 seconds)
✓ testNodeValueListenerIfListening (0.001 seconds)
✓ testNodeValueListenerIfNotListening (0.001 seconds)
✓ testSpringAnimationLoop (0.007 seconds)
✓ testSpringTrackingRetainsSpeed (0.007 seconds)
✓ testTracking (0.002 seconds)
✓ testTrackingPausesWhenEndValueIsReached (0.001 seconds)
✓ testUnderdampedSpringAnimation (0.003 seconds)
✓ testViewReceiveUpdatesIfOneOfAnimationHasntStarted (0.001 seconds)
✓ testViewReceiveUpdatesWhenOneOfAnimationHasFinished (0.001 seconds)
RCTPerformanceLoggerTests
✓ testLabelCountInSyncWithRCTPLTag (0.001 seconds)
RCTShadowViewTests
✓ testAncestorCheck (0.001 seconds)
✓ testApplyingLayoutRecursivelyToShadowView (0.002 seconds)
✓ testAssignsSuggestedHeightDimension (0.001 seconds)
✓ testAssignsSuggestedWidthDimension (0.001 seconds)
✓ testDoesNotAssignSuggestedDimensionsWhenStyledWithFlexAttribute (0.001 seconds)
✓ testDoesNotOverrideDimensionStyleWithSuggestedDimensions (0.001 seconds)
RCTUIManagerTests
✓ testManagingChildrenToAddRemoveAndMove (0.001 seconds)
✓ testManagingChildrenToAddViews (0.001 seconds)
✓ testManagingChildrenToRemoveViews (0.001 seconds)
RCTURLUtilsTests
✓ testAppendParam (0.001 seconds)
✓ testDuplicateParamTakesLatter (0.001 seconds)
✓ testGetEncodedParam (0.001 seconds)
✓ testGetQueryParam (0.001 seconds)
✓ testIsLocalAssetsURLParam (0.001 seconds)
✓ testNilURLAppendQueryParam (0.001 seconds)
✓ testNilURLGetQueryParam (0.001 seconds)
✓ testQueryParamNotFound (0.001 seconds)
✓ testRemoveParam (0.001 seconds)
✓ testReplaceEncodedParam (0.001 seconds)
✓ testReplaceParam (0.001 seconds)
RCTUnicodeDecodeTests
✓ testEmojis (0.001 seconds)
✓ testNiqqud (0.001 seconds)
Executed 167 tests, with 0 failures (0 unexpected) in 0.530 (0.667) seconds
```
`Android`
```
PASS 8.4s 7 Passed 0 Skipped 0 Failed com.facebook.react.animated.NativeAnimatedInterpolationTest
PASS 16.7s 23 Passed 0 Skipped 0 Failed com.facebook.react.animated.NativeAnimatedNodeTraversalTest
PASS 13.5s 4 Passed 0 Skipped 0 Failed com.facebook.react.bridge.BaseJavaModuleTest
PASS 341ms 4 Passed 0 Skipped 0 Failed com.facebook.react.bridge.FallbackJSBundleLoaderTest
PASS <100ms 1 Passed 0 Skipped 0 Failed com.facebook.react.bridge.JavaOnlyArrayTest
PASS 13.0s 10 Passed 0 Skipped 0 Failed com.facebook.react.devsupport.JSDebuggerWebSocketClientTest
PASS 6.3s 4 Passed 0 Skipped 0 Failed com.facebook.react.devsupport.MultipartStreamReaderTest
PASS 6.1s 5 Passed 0 Skipped 0 Failed com.facebook.react.devsupport.StackTraceHelperTest
PASS 13.9s 6 Passed 0 Skipped 0 Failed com.facebook.react.modules.blob.BlobModuleTest
PASS 6.7s 5 Passed 0 Skipped 0 Failed com.facebook.react.modules.camera.ImageStoreManagerTest
PASS 5.2s 1 Passed 0 Skipped 0 Failed com.facebook.react.modules.clipboard.ClipboardModuleTest
PASS 3.8s 5 Passed 0 Skipped 0 Failed com.facebook.react.modules.dialog.DialogModuleTest
PASS <100ms 10 Passed 0 Skipped 0 Failed com.facebook.react.modules.network.HeaderUtilTest
PASS 3.3s 14 Passed 0 Skipped 0 Failed com.facebook.react.modules.network.NetworkingModuleTest
PASS 1.4s 9 Passed 0 Skipped 0 Failed com.facebook.react.modules.network.ProgressiveStringDecoderTest
PASS 1.6s 4 Passed 0 Skipped 0 Failed com.facebook.react.modules.network.ReactCookieJarContainerTest
PASS 2.2s 2 Passed 0 Skipped 0 Failed com.facebook.react.modules.share.ShareModuleTest
PASS 5.1s 6 Passed 0 Skipped 0 Failed com.facebook.react.modules.storage.AsyncStorageModuleTest
PASS 2.7s 9 Passed 0 Skipped 0 Failed com.facebook.react.modules.timing.TimingModuleTest
PASS 9.2s 9 Passed 0 Skipped 0 Failed com.facebook.react.packagerconnection.JSPackagerClientTest
PASS 7.3s 4 Passed 0 Skipped 0 Failed com.facebook.react.uimanager.layoutanimation.InterpolatorTypeTest
PASS 8.9s 2 Passed 0 Skipped 0 Failed com.facebook.react.uimanager.BaseViewManagerTest
PASS 6.7s 4 Passed 0 Skipped 0 Failed com.facebook.react.uimanager.MatrixMathHelperTest
PASS 8.8s 3 Passed 0 Skipped 0 Failed com.facebook.react.uimanager.SimpleViewPropertyTest
PASS <100ms 1 Passed 0 Skipped 0 Failed com.facebook.react.util.JSStackTraceTest
PASS 9.5s 1 Passed 0 Skipped 0 Failed com.facebook.react.views.image.ImageResizeModeTest
PASS 15.7s 4 Passed 0 Skipped 0 Failed com.facebook.react.views.image.ReactImagePropertyTest
PASS 9.2s 4 Passed 0 Skipped 0 Failed com.facebook.react.CompositeReactPackageTest
PASS 9.2s 2 Passed 0 Skipped 0 Failed com.facebook.react.RootViewTest
```
Differential Revision: D19576473
Pulled By: shergin
fbshipit-source-id: 35a6bce9f7dd3efec0cfcdbb00796852e1a79d6c
osdnk pushed a commit to osdnk/react-native that referenced this pull request Mar 9, 2020
Summary:
Following up changes added in react#24045 I had the same use case for vertical ScrollView. This PR just enables existing `disableIntervalMomentum` property to work with vertical ScrollViews: restricts vertical pagination when page height is less than height of ScrollView.
## Changelog
[General] [Changed] - changed property `disableIntervalMomentum` to work with both horizontal and vertical ScrollViews
Pull Request resolved: react#27666
Test Plan:
No new tests at the moment
`iOS`
```
All tests
Test Suite RNTesterUnitTests.xctest started
RCTAllocationTests
✓ testBridgeIsDeallocated (0.045 seconds)
✓ testContentViewIsInvalidated (0.006 seconds)
✓ testModuleMethodsAreDeallocated (0.002 seconds)
✓ testModulesAreDeallocated (0.022 seconds)
✓ testModulesAreInvalidated (0.017 seconds)
RCTAnimationUtilsTests
✓ testClampExtrapolate (0.002 seconds)
✓ testExtendExtrapolate (0.002 seconds)
✓ testIdentityExtrapolate (0.001 seconds)
✓ testManySegments (0.003 seconds)
✓ testSimpleOneToOneMapping (0.002 seconds)
✓ testWiderInputRange (0.003 seconds)
✓ testWiderOutputRange (0.002 seconds)
RCTBlobManagerTests
✓ testCreateFromParts (0.002 seconds)
✓ testRemove (0.001 seconds)
✓ testResolve (0.001 seconds)
✓ testResolveMap (0.001 seconds)
✓ testResolveURL (0.001 seconds)
RCTBundleURLProviderTests
✓ testBundleURL (0.041 seconds)
✓ testIPURL (0.005 seconds)
✓ testLocalhostURL (0.005 seconds)
RCTComponentPropsTests
✓ testNeedsOffscreenAlphaCompositing (0.019 seconds)
✓ testResetBackgroundColor (0.008 seconds)
✓ testResetProps (0.012 seconds)
✓ testSetProps (0.009 seconds)
RCTConvert_NSURLTests
✓ test_basic (0.002 seconds)
✓ test_documentsFolder (0.001 seconds)
✓ test_filePath (0.001 seconds)
✓ test_filePathWithEncodedSpaces (0.001 seconds)
✓ test_filePathWithSpaces (0.001 seconds)
✓ test_fileURL (0.001 seconds)
✓ test_fullURL (0.001 seconds)
✓ test_imageAt2XPath (0.001 seconds)
✓ test_imageFile (0.001 seconds)
✓ test_imageURL (0.001 seconds)
✓ test_imageURLWithSpaces (0.001 seconds)
✓ test_null (0.001 seconds)
✓ test_unicodeURL (0.001 seconds)
✓ test_urlWithEncodedSpaces (0.001 seconds)
✓ test_urlWithSpaces (0.001 seconds)
✓ testDataURL (0.003 seconds)
RCTConvert_YGValueTests
✓ testNumberPoints (0.002 seconds)
✓ testStringPercent (0.002 seconds)
✓ testUndefined (0.001 seconds)
RCTDevMenuTests
✓ testClosingActionSheetAfterAction (0.009 seconds)
✓ testShowCreatingActionSheet (0.017 seconds)
RCTEventDispatcherTests
✓ testBasicCoalescingReturnsLastEvent (0.006 seconds)
✓ testCoalescingEventIsImmediatelyDispatched (0.001 seconds)
✓ testDifferentEventTypesDontCoalesce (0.001 seconds)
✓ testDifferentViewTagsDontCoalesce (0.001 seconds)
✓ testLegacyEventsAreImmediatelyDispatched (0.001 seconds)
✓ testMultipleEventsResultInOnlyOneDispatchAfterTheFirstOne (0.001 seconds)
✓ testNonCoalescingEventIsImmediatelyDispatched (0.001 seconds)
✓ testRunningTheDispatchedBlockResultInANewOneBeingEnqueued (0.001 seconds)
✓ testSameEventTypesWithDifferentCoalesceKeysDontCoalesce (0.001 seconds)
RCTFontTests
✓ testFamily (0.029 seconds)
✓ testFamilyAndStyle (0.001 seconds)
✓ testFamilyAndWeight (0.002 seconds)
✓ testFamilyStyleAndWeight (0.002 seconds)
✓ testInvalidFont (0.002 seconds)
✓ testSize (0.001 seconds)
✓ testStyle (0.003 seconds)
✓ testStyleAndWeight (0.002 seconds)
✓ testVariant (0.002 seconds)
✓ testWeight (0.002 seconds)
RCTFormatErrorTests
✓ testSymbolication (0.002 seconds)
RCTGzipTests
✓ testDontRezipZippedData (0.004 seconds)
✓ testGzip (0.002 seconds)
✓ testRequestBodyEncoding (0.003 seconds)
RCTImageLoaderTests
✓ testImageDecoding (0.010 seconds)
✓ testImageLoaderUsesImageDecoderWithHighestPriority (0.003 seconds)
✓ testImageLoaderUsesImageURLLoaderWithHighestPriority (0.004 seconds)
✓ testImageLoading (0.004 seconds)
RCTImageUtilTests
✓ testLandscapeSourceLandscapeTarget (0.001 seconds)
✓ testPortraitSourceLandscapeTarget (0.001 seconds)
✓ testPortraitSourcePortraitTarget (0.001 seconds)
✓ testRounding (0.001 seconds)
✓ testScaling (0.001 seconds)
RCTJSONTests
✓ testDecodingArray (0.001 seconds)
✓ testDecodingMutableArray (0.001 seconds)
✓ testDecodingObject (0.001 seconds)
✓ testDecodingString (0.001 seconds)
✓ testEncodingArray (0.001 seconds)
✓ testEncodingNSError (0.023 seconds)
✓ testEncodingObject (0.001 seconds)
✓ testEncodingString (0.001 seconds)
✓ testErrorPointer (0.002 seconds)
✓ testLeadingWhitespace (0.001 seconds)
✓ testNaN (0.001 seconds)
✓ testNotJSONSerializable (0.001 seconds)
✓ testNotUTF8Convertible (0.004 seconds)
RCTMethodArgumentTests
✓ testAttributes (0.001 seconds)
✓ testGenericArray (0.001 seconds)
✓ testGenericDictionary (0.001 seconds)
✓ testGenericSet (0.001 seconds)
✓ testNamespacedCxxStruct (0.001 seconds)
✓ testNestedGenericArray (0.001 seconds)
✓ testNewlines (0.001 seconds)
✓ testNullability (0.001 seconds)
✓ testOneArgument (0.001 seconds)
✓ testSemicolonStripping (0.001 seconds)
✓ testSpaces (0.001 seconds)
✓ testTwoArguments (0.001 seconds)
✓ testUnnamedArgs (0.001 seconds)
✓ testUntypedUnnamedArgs (0.001 seconds)
✓ testUnused (0.001 seconds)
RCTModuleInitNotificationRaceTests
✓ testViewManagerNotInitializedBeforeSetBridgeModule (0.009 seconds)
RCTModuleInitTests
✓ testCustomInitModuleInitializedAtBridgeStartup (0.005 seconds)
✓ testCustomSetBridgeModuleInitializedAtBridgeStartup (0.006 seconds)
✓ testExportConstantsModuleInitializedAtBridgeStartup (0.005 seconds)
✓ testInjectedModulesInitializedDuringBridgeInit (0.003 seconds)
✓ testLazyInitModuleNotInitializedDuringBridgeInit (0.005 seconds)
RCTModuleMethodTests
✓ testFunctionType (0.001 seconds)
✓ testNonnull (0.001 seconds)
✓ testNumbersNonnull (0.001 seconds)
✓ testReturnsNilForDefaultFunction (0.001 seconds)
✓ testReturnsValueForSyncFunction (0.001 seconds)
✓ testReturnTypeForSyncFunction (0.001 seconds)
✓ testStructArgument (0.001 seconds)
✓ testWhitespaceTolerance (0.001 seconds)
RCTMultipartStreamReaderTests
✓ testMultipleParts (0.001 seconds)
✓ testNoCloseDelimiter (0.001 seconds)
✓ testNoDelimiter (0.001 seconds)
✓ testSimpleCase (0.001 seconds)
RCTNativeAnimatedNodesManagerTests
✓ testAdditionNode (0.002 seconds)
✓ testAnimationCallbackFinish (0.001 seconds)
✓ testCritcallyDampedSpringAnimation (0.003 seconds)
✓ testDecayAnimation (0.004 seconds)
✓ testDecayAnimationLoop (0.012 seconds)
✓ testFramesAnimation (0.001 seconds)
✓ testFramesAnimationLoop (0.002 seconds)
✓ testHandleStoppingAnimation (0.002 seconds)
✓ testInterpolationNode (0.002 seconds)
✓ testMultiplicationNode (0.001 seconds)
✓ testNativeAnimatedEventDoNotUpdate (0.001 seconds)
✓ testNativeAnimatedEventDoUpdate (0.002 seconds)
✓ testNodeValueListenerIfListening (0.001 seconds)
✓ testNodeValueListenerIfNotListening (0.001 seconds)
✓ testSpringAnimationLoop (0.007 seconds)
✓ testSpringTrackingRetainsSpeed (0.007 seconds)
✓ testTracking (0.002 seconds)
✓ testTrackingPausesWhenEndValueIsReached (0.001 seconds)
✓ testUnderdampedSpringAnimation (0.003 seconds)
✓ testViewReceiveUpdatesIfOneOfAnimationHasntStarted (0.001 seconds)
✓ testViewReceiveUpdatesWhenOneOfAnimationHasFinished (0.001 seconds)
RCTPerformanceLoggerTests
✓ testLabelCountInSyncWithRCTPLTag (0.001 seconds)
RCTShadowViewTests
✓ testAncestorCheck (0.001 seconds)
✓ testApplyingLayoutRecursivelyToShadowView (0.002 seconds)
✓ testAssignsSuggestedHeightDimension (0.001 seconds)
✓ testAssignsSuggestedWidthDimension (0.001 seconds)
✓ testDoesNotAssignSuggestedDimensionsWhenStyledWithFlexAttribute (0.001 seconds)
✓ testDoesNotOverrideDimensionStyleWithSuggestedDimensions (0.001 seconds)
RCTUIManagerTests
✓ testManagingChildrenToAddRemoveAndMove (0.001 seconds)
✓ testManagingChildrenToAddViews (0.001 seconds)
✓ testManagingChildrenToRemoveViews (0.001 seconds)
RCTURLUtilsTests
✓ testAppendParam (0.001 seconds)
✓ testDuplicateParamTakesLatter (0.001 seconds)
✓ testGetEncodedParam (0.001 seconds)
✓ testGetQueryParam (0.001 seconds)
✓ testIsLocalAssetsURLParam (0.001 seconds)
✓ testNilURLAppendQueryParam (0.001 seconds)
✓ testNilURLGetQueryParam (0.001 seconds)
✓ testQueryParamNotFound (0.001 seconds)
✓ testRemoveParam (0.001 seconds)
✓ testReplaceEncodedParam (0.001 seconds)
✓ testReplaceParam (0.001 seconds)
RCTUnicodeDecodeTests
✓ testEmojis (0.001 seconds)
✓ testNiqqud (0.001 seconds)
Executed 167 tests, with 0 failures (0 unexpected) in 0.530 (0.667) seconds
```
`Android`
```
PASS 8.4s 7 Passed 0 Skipped 0 Failed com.facebook.react.animated.NativeAnimatedInterpolationTest
PASS 16.7s 23 Passed 0 Skipped 0 Failed com.facebook.react.animated.NativeAnimatedNodeTraversalTest
PASS 13.5s 4 Passed 0 Skipped 0 Failed com.facebook.react.bridge.BaseJavaModuleTest
PASS 341ms 4 Passed 0 Skipped 0 Failed com.facebook.react.bridge.FallbackJSBundleLoaderTest
PASS <100ms 1 Passed 0 Skipped 0 Failed com.facebook.react.bridge.JavaOnlyArrayTest
PASS 13.0s 10 Passed 0 Skipped 0 Failed com.facebook.react.devsupport.JSDebuggerWebSocketClientTest
PASS 6.3s 4 Passed 0 Skipped 0 Failed com.facebook.react.devsupport.MultipartStreamReaderTest
PASS 6.1s 5 Passed 0 Skipped 0 Failed com.facebook.react.devsupport.StackTraceHelperTest
PASS 13.9s 6 Passed 0 Skipped 0 Failed com.facebook.react.modules.blob.BlobModuleTest
PASS 6.7s 5 Passed 0 Skipped 0 Failed com.facebook.react.modules.camera.ImageStoreManagerTest
PASS 5.2s 1 Passed 0 Skipped 0 Failed com.facebook.react.modules.clipboard.ClipboardModuleTest
PASS 3.8s 5 Passed 0 Skipped 0 Failed com.facebook.react.modules.dialog.DialogModuleTest
PASS <100ms 10 Passed 0 Skipped 0 Failed com.facebook.react.modules.network.HeaderUtilTest
PASS 3.3s 14 Passed 0 Skipped 0 Failed com.facebook.react.modules.network.NetworkingModuleTest
PASS 1.4s 9 Passed 0 Skipped 0 Failed com.facebook.react.modules.network.ProgressiveStringDecoderTest
PASS 1.6s 4 Passed 0 Skipped 0 Failed com.facebook.react.modules.network.ReactCookieJarContainerTest
PASS 2.2s 2 Passed 0 Skipped 0 Failed com.facebook.react.modules.share.ShareModuleTest
PASS 5.1s 6 Passed 0 Skipped 0 Failed com.facebook.react.modules.storage.AsyncStorageModuleTest
PASS 2.7s 9 Passed 0 Skipped 0 Failed com.facebook.react.modules.timing.TimingModuleTest
PASS 9.2s 9 Passed 0 Skipped 0 Failed com.facebook.react.packagerconnection.JSPackagerClientTest
PASS 7.3s 4 Passed 0 Skipped 0 Failed com.facebook.react.uimanager.layoutanimation.InterpolatorTypeTest
PASS 8.9s 2 Passed 0 Skipped 0 Failed com.facebook.react.uimanager.BaseViewManagerTest
PASS 6.7s 4 Passed 0 Skipped 0 Failed com.facebook.react.uimanager.MatrixMathHelperTest
PASS 8.8s 3 Passed 0 Skipped 0 Failed com.facebook.react.uimanager.SimpleViewPropertyTest
PASS <100ms 1 Passed 0 Skipped 0 Failed com.facebook.react.util.JSStackTraceTest
PASS 9.5s 1 Passed 0 Skipped 0 Failed com.facebook.react.views.image.ImageResizeModeTest
PASS 15.7s 4 Passed 0 Skipped 0 Failed com.facebook.react.views.image.ReactImagePropertyTest
PASS 9.2s 4 Passed 0 Skipped 0 Failed com.facebook.react.CompositeReactPackageTest
PASS 9.2s 2 Passed 0 Skipped 0 Failed com.facebook.react.RootViewTest
```
Differential Revision: D19576473
Pulled By: shergin
fbshipit-source-id: 35a6bce9f7dd3efec0cfcdbb00796852e1a79d6c
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA SignedThis label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.Component: ScrollViewMergedThis PR has been merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@Taylor123@Kida007@react-native-bot@Shaninnik@sahrens@facebook-github-bot