diff options
author | aliwar <alix.warnke@assaabloy.com> | 2017-11-01 16:50:50 +0100 |
---|---|---|
committer | aliwar <alix.warnke@assaabloy.com> | 2017-11-01 16:50:50 +0100 |
commit | c463e3f1320acc419fe0f8c4a45a4cc6f6ca1b2b (patch) | |
tree | 4372b98dc64ec78d4bdfb483614feeaa50a981b4 | |
parent | 155232a18121d1138db3606613dcae5f5eb7e214 (diff) | |
download | robolectric-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.java | 5 | ||||
-rw-r--r-- | robolectric/src/test/java/org/robolectric/android/controller/FragmentControllerTest.java | 12 |
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); |