Merge "Fix robolectric tests"
diff --git a/tests/robotests/src/com/android/settings/core/instrumentation/InstrumentedDialogFragmentTest.java b/tests/robotests/src/com/android/settings/core/instrumentation/InstrumentedDialogFragmentTest.java
index f9e6b46..14b3bb4 100644
--- a/tests/robotests/src/com/android/settings/core/instrumentation/InstrumentedDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/core/instrumentation/InstrumentedDialogFragmentTest.java
@@ -23,7 +23,7 @@
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
-import org.robolectric.util.FragmentTestUtil;
+import org.robolectric.shadows.ShadowApplication;
import static com.google.common.truth.Truth.assertThat;
@@ -58,7 +58,7 @@
// Precondition: no metrics feature
assertThat(fragment.getMetricsFeatureProvider()).isNull();
- FragmentTestUtil.startFragment(fragment);
+ fragment.onAttach(ShadowApplication.getInstance().getApplicationContext());
// Verify: has metrics feature
assertThat(fragment.getMetricsFeatureProvider()).isNotNull();
diff --git a/tests/robotests/src/com/android/settings/widget/RtlCompatibleViewPagerTest.java b/tests/robotests/src/com/android/settings/widget/RtlCompatibleViewPagerTest.java
index 2b3613f..b5213f1 100644
--- a/tests/robotests/src/com/android/settings/widget/RtlCompatibleViewPagerTest.java
+++ b/tests/robotests/src/com/android/settings/widget/RtlCompatibleViewPagerTest.java
@@ -16,47 +16,46 @@
package com.android.settings.widget;
-import android.annotation.Nullable;
-import android.app.Activity;
-import android.os.Bundle;
import android.os.Parcelable;
+import android.support.v4.view.PagerAdapter;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
+
import com.android.settings.TestConfig;
import com.android.settings.shadow.ShadowTextUtils;
+
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-
-import static com.google.common.truth.Truth.assertThat;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowApplication;
import java.util.Locale;
-import android.support.v4.view.PagerAdapter;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.annotation.Config;
-import org.robolectric.Robolectric;
+import static com.google.common.truth.Truth.assertThat;
@RunWith(RobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class RtlCompatibleViewPagerTest {
- private ViewPagerTestActivity mTestActivity;
- private RtlCompatibleViewPager mTestViewPager;
+
private Locale mLocaleEn;
private Locale mLocaleHe;
+ private RtlCompatibleViewPager mViewPager;
@Before
public void setUp() {
- mTestActivity = Robolectric.setupActivity(ViewPagerTestActivity.class);
- mTestViewPager = mTestActivity.getViewPager();
+ mViewPager = new RtlCompatibleViewPager(
+ ShadowApplication.getInstance().getApplicationContext());
+ mViewPager.setAdapter(new ViewPagerAdapter());
mLocaleEn = new Locale("en");
mLocaleHe = new Locale("he");
}
@Test
@Config(shadows = {ShadowTextUtils.class})
- public void testRtlCompatible() {
+ public void testGetCurrentItem_shouldMaintainIndexDuringLocaleChange() {
testRtlCompatibleInner(0);
testRtlCompatibleInner(1);
}
@@ -64,41 +63,20 @@
private void testRtlCompatibleInner(int currentItem) {
// Set up the environment
Locale.setDefault(mLocaleEn);
+ mViewPager.setCurrentItem(currentItem);
+
assertThat(TextUtils.getLayoutDirectionFromLocale(Locale.getDefault()))
.isEqualTo(View.LAYOUT_DIRECTION_LTR);
- mTestViewPager.setCurrentItem(currentItem);
- assertThat(mTestViewPager.getCurrentItem()).isEqualTo(currentItem);
+ assertThat(mViewPager.getCurrentItem()).isEqualTo(currentItem);
// Simulate to change the language to RTL
- Parcelable savedInstance = mTestViewPager.onSaveInstanceState();
+ Parcelable savedInstance = mViewPager.onSaveInstanceState();
Locale.setDefault(mLocaleHe);
+ mViewPager.onRestoreInstanceState(savedInstance);
+
assertThat(TextUtils.getLayoutDirectionFromLocale(Locale.getDefault()))
.isEqualTo(View.LAYOUT_DIRECTION_RTL);
- mTestViewPager.onRestoreInstanceState(savedInstance);
-
- assertThat(mTestViewPager.getCurrentItem()).isEqualTo(currentItem);
- }
-
-
- /**
- * Test activity that contains RTL viewpager
- */
- private static class ViewPagerTestActivity extends Activity {
- private RtlCompatibleViewPager mViewPager;
-
- @Override
- protected void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- mViewPager = new RtlCompatibleViewPager(ViewPagerTestActivity.this);
- mViewPager.setAdapter(new ViewPagerAdapter());
-
- setContentView(mViewPager);
- }
-
- public RtlCompatibleViewPager getViewPager() {
- return mViewPager;
- }
+ assertThat(mViewPager.getCurrentItem()).isEqualTo(currentItem);
}
/**
@@ -122,11 +100,6 @@
}
@Override
- public void destroyItem(ViewGroup collection, int position, Object view) {
- collection.removeView((View) view);
- }
-
- @Override
public Object instantiateItem(ViewGroup container, int position) {
return null;
}