ソースを参照

Stack can be pushed (#2672)

Guy Carmeli 7 年 前
コミット
f7d0371e09
No account linked to committer's email address

+ 1
- 1
lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/ViewController.java ファイルの表示

130
         isShown = true;
130
         isShown = true;
131
         applyOnParentController(parentController -> {
131
         applyOnParentController(parentController -> {
132
             parentController.clearOptions();
132
             parentController.clearOptions();
133
-            parentController.applyOptions(options, (ReactComponent) getView());
133
+            if (getView() instanceof ReactComponent) parentController.applyOptions(options, (ReactComponent) getView());
134
         });
134
         });
135
     }
135
     }
136
 
136
 

+ 9
- 0
lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/StackControllerTest.java ファイルの表示

326
         });
326
         });
327
     }
327
     }
328
 
328
 
329
+    @Test
330
+    public void stackCanBePushed() throws Exception {
331
+        StackController parent = new StackController(activity, "someStack", new Options());
332
+        parent.ensureViewIsCreated();
333
+        parent.push(uut, new MockPromise());
334
+        uut.onViewAppeared();
335
+        assertThat(parent.getView().getChildAt(1)).isEqualTo(uut.getView());
336
+    }
337
+
329
     private void assertContainsOnlyId(String... ids) {
338
     private void assertContainsOnlyId(String... ids) {
330
         assertThat(uut.size()).isEqualTo(ids.length);
339
         assertThat(uut.size()).isEqualTo(ids.length);
331
         assertThat(uut.getChildControllers()).extracting((Extractor<ViewController, String>) ViewController::getId).containsOnly(ids);
340
         assertThat(uut.getChildControllers()).extracting((Extractor<ViewController, String>) ViewController::getId).containsOnly(ids);