Chromium Code Reviews| Index: chrome/android/junit/src/org/chromium/chrome/browser/media/router/ChromeMediaRouterSinkObservationTest.java |
| diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/media/router/ChromeMediaRouterSinkObservationTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/media/router/ChromeMediaRouterSinkObservationTest.java |
| index 4c85f8ef7bd3ee5baf0744346c329edcc01f3ddc..96c7a14a832c5595384e268449a01e67e2d36b5d 100644 |
| --- a/chrome/android/junit/src/org/chromium/chrome/browser/media/router/ChromeMediaRouterSinkObservationTest.java |
| +++ b/chrome/android/junit/src/org/chromium/chrome/browser/media/router/ChromeMediaRouterSinkObservationTest.java |
| @@ -9,6 +9,8 @@ import static org.junit.Assert.assertTrue; |
| import android.os.Build; |
| +import org.chromium.base.Log; |
| +import org.chromium.base.SysUtils; |
| import org.chromium.base.test.util.Feature; |
| import org.chromium.chrome.browser.media.router.cast.MediaSink; |
| import org.chromium.testing.local.LocalRobolectricTestRunner; |
| @@ -16,6 +18,7 @@ import org.junit.Test; |
| import org.junit.runner.RunWith; |
| import org.robolectric.annotation.Config; |
| +import java.lang.reflect.Field; |
| import java.util.ArrayList; |
| import java.util.List; |
| @@ -23,9 +26,11 @@ import java.util.List; |
| * Sink observation tests for ChromeMediaRouter. |
| */ |
| @RunWith(LocalRobolectricTestRunner.class) |
| -@Config(manifest = Config.NONE, |
| - shadows = { ChromeMediaRouterTestBase.FakeActivityManager.class }) |
| +@Config(manifest = Config.NONE) |
| public class ChromeMediaRouterSinkObservationTest extends ChromeMediaRouterTestBase { |
| + |
| + private static final String TAG = "SinkObservationTest";; |
| + |
| @Test |
| @Feature({"MediaRouter"}) |
| public void testRouterOnSinksReceived() { |
| @@ -92,16 +97,27 @@ public class ChromeMediaRouterSinkObservationTest extends ChromeMediaRouterTestB |
| @Test |
| @Feature({"MediaRouter"}) |
| - public void testNotLowRamDevice() { |
| - sIsLowRamDevice = false; |
| + public void testNotLowRamDevice() throws Exception { |
| + setIsLowRamDevice(false); |
| assertTrue(mChromeMediaRouter.startObservingMediaSinks(SOURCE_ID1)); |
| } |
| @Test |
| @Feature({"MediaRouter"}) |
| - public void testIsLowRamDevice() { |
| - sIsLowRamDevice = true; |
| + public void testIsLowRamDevice() throws Exception { |
| + setIsLowRamDevice(true); |
| assertEquals(Build.VERSION.SDK_INT <= Build.VERSION_CODES.JELLY_BEAN_MR2, |
| mChromeMediaRouter.startObservingMediaSinks(SOURCE_ID1)); |
| } |
| + |
| + private void setIsLowRamDevice(Boolean isLowRamDevice) throws Exception { |
| + try { |
| + Field field = SysUtils.class.getDeclaredField("sLowEndDevice"); |
|
Ted C
2016/08/03 19:18:26
We should really, really, really try to never use
mikecase (-- gone --)
2016/08/05 03:17:07
Didn't know these switches existed. Fixed. Way sim
|
| + field.setAccessible(true); |
| + field.set(null, isLowRamDevice); |
| + } catch (NoSuchFieldException e) { |
| + Log.e(TAG, "sLowEndDevice field was changed in SysUtils. Must update this test."); |
| + throw e; |
| + } |
| + } |
| } |