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; |
+ } |
+ } |
} |