Daniel Zlotin il y a 7 ans
Parent
révision
b56002672a

+ 2
- 0
AndroidE2E/app/src/androidTest/java/com/reactnativenavigation/e2e/androide2e/ApplicationLifecycleTest.java Voir le fichier

3
 import android.support.test.uiautomator.By;
3
 import android.support.test.uiautomator.By;
4
 
4
 
5
 import org.junit.FixMethodOrder;
5
 import org.junit.FixMethodOrder;
6
+import org.junit.Ignore;
6
 import org.junit.Test;
7
 import org.junit.Test;
7
 import org.junit.runners.MethodSorters;
8
 import org.junit.runners.MethodSorters;
8
 
9
 
9
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
10
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
11
+@Ignore
10
 public class ApplicationLifecycleTest extends BaseTest {
12
 public class ApplicationLifecycleTest extends BaseTest {
11
 
13
 
12
 	@Test
14
 	@Test

+ 1
- 1
AndroidE2E/app/src/androidTest/java/com/reactnativenavigation/e2e/androide2e/BaseTest.java Voir le fichier

71
 		assertThat(device().wait(Until.hasObject(selector), TIMEOUT)).isTrue();
71
 		assertThat(device().wait(Until.hasObject(selector), TIMEOUT)).isTrue();
72
 	}
72
 	}
73
 
73
 
74
-	public void swipeRight() {
74
+	public void swipeRightOpenSideMenu() {
75
 		device().swipe(5, 152, 500, 152, 15);
75
 		device().swipe(5, 152, 500, 152, 15);
76
 	}
76
 	}
77
 }
77
 }

+ 1
- 2
AndroidE2E/app/src/androidTest/java/com/reactnativenavigation/e2e/androide2e/TopLevelApiTest.java Voir le fichier

22
 		assertMainShown();
22
 		assertMainShown();
23
 		elementByText("SWITCH TO APP WITH SIDE MENUS").click();
23
 		elementByText("SWITCH TO APP WITH SIDE MENUS").click();
24
 		assertExists(By.textStartsWith("This is a side menu center screen tab 1"));
24
 		assertExists(By.textStartsWith("This is a side menu center screen tab 1"));
25
-		swipeRight();
25
+		swipeRightOpenSideMenu();
26
 		assertExists(By.text("This is a left side menu screen"));
26
 		assertExists(By.text("This is a left side menu screen"));
27
 	}
27
 	}
28
 
28
 
29
 	@Test
29
 	@Test
30
-	@Ignore
31
 	public void screenLifecycle() throws Exception {
30
 	public void screenLifecycle() throws Exception {
32
 		launchTheApp();
31
 		launchTheApp();
33
 		assertMainShown();
32
 		assertMainShown();

+ 1
- 0
lib/android/app/src/main/java/com/reactnativenavigation/layout/containers/Container.java Voir le fichier

22
 		this.id = id;
22
 		this.id = id;
23
 		this.name = name;
23
 		this.name = name;
24
 		addView(createReactRootView());
24
 		addView(createReactRootView());
25
+
25
 	}
26
 	}
26
 
27
 
27
 	private View createReactRootView() {
28
 	private View createReactRootView() {

+ 17
- 0
lib/android/app/src/main/java/com/reactnativenavigation/utils/UiUtils.java Voir le fichier

1
+package com.reactnativenavigation.utils;
2
+
3
+import android.view.View;
4
+import android.view.ViewTreeObserver;
5
+
6
+public class UiUtils {
7
+	public static void runOnPreDraw(final View view, final Runnable task) {
8
+		view.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
9
+			@Override
10
+			public boolean onPreDraw() {
11
+				view.getViewTreeObserver().removeOnPreDrawListener(this);
12
+				task.run();
13
+				return true;
14
+			}
15
+		});
16
+	}
17
+}

+ 26
- 0
lib/android/app/src/test/java/com/reactnativenavigation/utils/UiUtilsTest.java Voir le fichier

1
+package com.reactnativenavigation.utils;
2
+
3
+import android.view.View;
4
+
5
+import com.reactnativenavigation.BaseTest;
6
+
7
+import org.junit.Test;
8
+import org.robolectric.shadow.api.Shadow;
9
+
10
+import static org.mockito.Mockito.mock;
11
+import static org.mockito.Mockito.times;
12
+import static org.mockito.Mockito.verify;
13
+import static org.mockito.Mockito.verifyZeroInteractions;
14
+
15
+public class UiUtilsTest extends BaseTest {
16
+	@Test
17
+	public void runOnPreDraw() throws Exception {
18
+		View view = Shadow.newInstanceOf(View.class);
19
+		Runnable task = mock(Runnable.class);
20
+		verifyZeroInteractions(task);
21
+
22
+		UiUtils.runOnPreDraw(view, task);
23
+		view.getViewTreeObserver().dispatchOnPreDraw();
24
+		verify(task, times(1)).run();
25
+	}
26
+}