Browse Source

navigator id

Daniel Zlotin 7 years ago
parent
commit
f67c2bf2d9

+ 3
- 1
lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/Navigator.java View File

5
 import android.view.View;
5
 import android.view.View;
6
 import android.widget.FrameLayout;
6
 import android.widget.FrameLayout;
7
 
7
 
8
+import com.reactnativenavigation.utils.CompatUtils;
9
+
8
 public class Navigator extends ViewController {
10
 public class Navigator extends ViewController {
9
 	private boolean activityResumed = false;
11
 	private boolean activityResumed = false;
10
 
12
 
11
 	public Navigator(final Activity activity) {
13
 	public Navigator(final Activity activity) {
12
-		super(activity, "navigator");
14
+		super(activity, "navigator" + CompatUtils.generateViewId());
13
 	}
15
 	}
14
 
16
 
15
 	@NonNull
17
 	@NonNull

+ 8
- 0
lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/NavigatorTest.java View File

8
 import org.junit.Test;
8
 import org.junit.Test;
9
 import org.robolectric.Shadows;
9
 import org.robolectric.Shadows;
10
 
10
 
11
+import java.util.regex.Pattern;
12
+
11
 import static org.assertj.core.api.Java6Assertions.assertThat;
13
 import static org.assertj.core.api.Java6Assertions.assertThat;
12
 
14
 
13
 public class NavigatorTest extends BaseTest {
15
 public class NavigatorTest extends BaseTest {
58
 		assertHasSingleChildViewOf(child2);
60
 		assertHasSingleChildViewOf(child2);
59
 	}
61
 	}
60
 
62
 
63
+	@Test
64
+	public void holdsUniqueId() throws Exception {
65
+		assertThat(uut.getId()).startsWith("navigator").matches(Pattern.compile("navigator\\d"));
66
+		assertThat(new Navigator(activity).getId()).isNotEqualTo(uut.getId());
67
+	}
68
+
61
 	private void assertHasSingleChildViewOf(ViewController vc) {
69
 	private void assertHasSingleChildViewOf(ViewController vc) {
62
 		assertThat(uut.getView().getChildCount()).isEqualTo(1);
70
 		assertThat(uut.getView().getChildCount()).isEqualTo(1);
63
 		assertThat(uut.getView().getChildAt(0)).isEqualTo(vc.getView()).isNotNull();
71
 		assertThat(uut.getView().getChildAt(0)).isEqualTo(vc.getView()).isNotNull();