|
@@ -168,6 +168,25 @@ public class NavigatorTest extends BaseTest {
|
168
|
168
|
assertThat(stack2.getChildControllers()).containsOnly(child2);
|
169
|
169
|
}
|
170
|
170
|
|
|
171
|
+ @Test
|
|
172
|
+ public void popToRoot() throws Exception {
|
|
173
|
+ BottomTabsController bottomTabsController = new BottomTabsController(activity, "tabsController");
|
|
174
|
+ StackController stack1 = new StackController(activity, "stack1");
|
|
175
|
+ StackController stack2 = new StackController(activity, "stack2");
|
|
176
|
+ stack1.push(child1);
|
|
177
|
+ stack2.push(child2);
|
|
178
|
+ stack2.push(child3);
|
|
179
|
+ stack2.push(new SimpleViewController(activity, "child4"));
|
|
180
|
+ stack2.push(new SimpleViewController(activity, "child5"));
|
|
181
|
+
|
|
182
|
+ bottomTabsController.setTabs(Arrays.<ViewController>asList(stack1, stack2));
|
|
183
|
+ uut.setRoot(bottomTabsController);
|
|
184
|
+
|
|
185
|
+ uut.popToRoot(child3.getId());
|
|
186
|
+
|
|
187
|
+ assertThat(stack2.getChildControllers()).containsOnly(child2);
|
|
188
|
+ }
|
|
189
|
+
|
171
|
190
|
private void assertHasSingleChildViewOf(ViewController parent, ViewController child) {
|
172
|
191
|
assertThat(((ViewGroup) parent.getView()).getChildCount()).isEqualTo(1);
|
173
|
192
|
assertThat(((ViewGroup) parent.getView()).getChildAt(0)).isEqualTo(child.getView()).isNotNull();
|