aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraliwar <alix.warnke@assaabloy.com>2017-11-01 16:50:50 +0100
committeraliwar <alix.warnke@assaabloy.com>2017-11-01 16:50:50 +0100
commitc463e3f1320acc419fe0f8c4a45a4cc6f6ca1b2b (patch)
tree4372b98dc64ec78d4bdfb483614feeaa50a981b4
parent155232a18121d1138db3606613dcae5f5eb7e214 (diff)
downloadrobolectric-shadows-c463e3f1320acc419fe0f8c4a45a4cc6f6ca1b2b.tar.gz
Added support for fragment arguments (https://github.com/robolectric/robolectric/issues/3296). Still to do: Verify implementation.
-rw-r--r--robolectric/src/main/java/org/robolectric/android/controller/FragmentController.java5
-rw-r--r--robolectric/src/test/java/org/robolectric/android/controller/FragmentControllerTest.java12
2 files changed, 17 insertions, 0 deletions
diff --git a/robolectric/src/main/java/org/robolectric/android/controller/FragmentController.java b/robolectric/src/main/java/org/robolectric/android/controller/FragmentController.java
index 2c2a8a471..7e212d5a2 100644
--- a/robolectric/src/main/java/org/robolectric/android/controller/FragmentController.java
+++ b/robolectric/src/main/java/org/robolectric/android/controller/FragmentController.java
@@ -123,6 +123,11 @@ public class FragmentController<F extends Fragment> extends ComponentController<
return this;
}
+ public FragmentController<F> arguments(Bundle bundle) {
+ component.setArguments(bundle);
+ return this;
+ }
+
public FragmentController<F> saveInstanceState(final Bundle outState) {
shadowMainLooper.runPaused(new Runnable() {
@Override
diff --git a/robolectric/src/test/java/org/robolectric/android/controller/FragmentControllerTest.java b/robolectric/src/test/java/org/robolectric/android/controller/FragmentControllerTest.java
index 109ca39e7..8d2fa7726 100644
--- a/robolectric/src/test/java/org/robolectric/android/controller/FragmentControllerTest.java
+++ b/robolectric/src/test/java/org/robolectric/android/controller/FragmentControllerTest.java
@@ -135,6 +135,18 @@ public class FragmentControllerTest {
}
@Test
+ public void withArguments() {
+ final LoginFragment fragment = new LoginFragment();
+
+ Bundle arguments = new Bundle();
+ arguments.putString("test_argument", "test_value");
+ FragmentController<LoginFragment> controller = FragmentController.of(fragment, LoginActivity.class).arguments(arguments).create();
+
+ Bundle argumentsInFragment = controller.get().getArguments();
+ assertThat(argumentsInFragment.getString("test_argument")).isEqualTo("test_value");
+ }
+
+ @Test
public void visible() {
final LoginFragment fragment = new LoginFragment();
final FragmentController<LoginFragment> controller = FragmentController.of(fragment, LoginActivity.class);