Files
react-native/ReactAndroid/src/androidTest/java/com/facebook/react/tests/JSResponderTestCase.java
T
Oleksandr Melnykov 6c0f73b322 Format Java code in xplat/js/react-native-github
Summary:
This diff formats the Java class files inside xplat/js/react-native-github. Since google-java-format was enabled in D16071401 we want to codemode the existing code so that users don't have to deal with formatter lint noise at diff-time.

```arc f --paths-cmd 'hg files -I "**/*.java"'```

drop-conflicts

Reviewed By: cpojer

Differential Revision: D16071725

fbshipit-source-id: fc6e3852e45742c109f0c5ac4065d64201c74204
2019-07-02 04:16:46 -07:00

62 lines
2.0 KiB
Java

/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* <p>This source code is licensed under the MIT license found in the LICENSE file in the root
* directory of this source tree.
*/
package com.facebook.react.tests;
import android.widget.ScrollView;
import com.facebook.react.testing.ReactAppInstrumentationTestCase;
import com.facebook.react.testing.SingleTouchGestureGenerator;
import com.facebook.react.uimanager.PixelUtil;
/**
* Test case to verify that JSResponder flow work correctly.
*
* <p>In a single test case scenario we have a view with pan gesture recognizer containing a
* scrollview We verify that by vertical drags affects a scrollview while horizontal drags are
* suppose to be recognized by pan responder and setJSResponder should be triggered resulting in
* scrollview events being intercepted.
*/
public class JSResponderTestCase extends ReactAppInstrumentationTestCase {
@Override
protected String getReactApplicationKeyUnderTest() {
return "JSResponderTestApp";
}
public void testResponderLocksScrollView() {
ScrollView scrollView = getViewByTestId("scroll_view");
assertNotNull(scrollView);
assertEquals(0, scrollView.getScrollY());
float inpx40dp = PixelUtil.toPixelFromDIP(40f);
float inpx100dp = PixelUtil.toPixelFromDIP(100f);
SingleTouchGestureGenerator gestureGenerator = createGestureGenerator();
gestureGenerator
.startGesture(30, 30 + inpx100dp)
.dragTo(30 + inpx40dp, 30, 10, 1200)
.endGesture(180, 100);
waitForBridgeAndUIIdle();
assertTrue("Expected to scroll by at least 80 dp", scrollView.getScrollY() >= inpx100dp * .8f);
int previousScroll = scrollView.getScrollY();
gestureGenerator
.startGesture(30, 30 + inpx100dp)
.dragTo(30 + inpx40dp, 30 + inpx100dp, 10, 1200);
waitForBridgeAndUIIdle();
gestureGenerator.dragTo(30 + inpx40dp, 30, 10, 1200).endGesture();
waitForBridgeAndUIIdle();
assertEquals("Expected not to scroll", scrollView.getScrollY(), previousScroll);
}
}