Chromium Code Reviews| Index: chrome/android/junit/src/org/chromium/chrome/browser/media/router/ChromeMediaRouterTest.java |
| diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/media/router/ChromeMediaRouterTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/media/router/ChromeMediaRouterTest.java |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..97e09018025653bfc3e4382a8559bbb7af0dc4a2 |
| --- /dev/null |
| +++ b/chrome/android/junit/src/org/chromium/chrome/browser/media/router/ChromeMediaRouterTest.java |
| @@ -0,0 +1,63 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +package org.chromium.chrome.browser.media.router; |
| + |
| +import static org.junit.Assert.assertEquals; |
| +import static org.junit.Assert.assertTrue; |
| + |
| +import android.app.ActivityManager; |
| +import android.os.Build; |
| + |
| +import org.chromium.base.test.util.Feature; |
| +import org.chromium.testing.local.LocalRobolectricTestRunner; |
| +import org.junit.Before; |
| +import org.junit.Test; |
| +import org.junit.runner.RunWith; |
| +import org.robolectric.Robolectric; |
| +import org.robolectric.annotation.Config; |
| +import org.robolectric.annotation.Implementation; |
| +import org.robolectric.annotation.Implements; |
| +import org.robolectric.shadows.ShadowActivityManager; |
| + |
| +/** |
| + * Robolectric tests for ChromeMediaRouter. |
| + */ |
| +@RunWith(LocalRobolectricTestRunner.class) |
| +@Config(manifest = Config.NONE, |
| + shadows = { ChromeMediaRouterTest.FauxActivityManager.class }) |
| +public class ChromeMediaRouterTest { |
| + |
| + private static boolean sIsLowRamDevice; |
| + private ChromeMediaRouter mChromeMediaRouter; |
| + |
| + /** |
| + * Robolectric's ShadowActivityManager implementation in order to extend |
| + * isLowRamDevice and be able to instrument the tests. |
| + */ |
| + @Implements(ActivityManager.class) |
| + public static class FauxActivityManager extends ShadowActivityManager { |
|
Bernhard Bauer
2015/09/29 11:24:07
FakeActivityManager?
mlamouri (slow - plz ping)
2015/09/29 11:34:27
Sure.
|
| + @Implementation |
| + public boolean isLowRamDevice() { |
| + return sIsLowRamDevice; |
| + } |
| + } |
| + |
| + @Before |
| + public void setUp() { |
| + sIsLowRamDevice = false; |
| + mChromeMediaRouter = new ChromeMediaRouter(0, Robolectric.application); |
| + } |
| + |
| + @Test |
| + @Feature({"MediaRouter"}) |
| + public void testLowRamDevice() { |
| + sIsLowRamDevice = false; |
| + assertTrue(mChromeMediaRouter.startObservingMediaSinks("")); |
| + |
| + sIsLowRamDevice = true; |
|
Bernhard Bauer
2015/09/29 11:24:07
You could split this off into a different test.
mlamouri (slow - plz ping)
2015/09/29 11:34:27
Done.
|
| + assertEquals(Build.VERSION.SDK_INT <= Build.VERSION_CODES.JELLY_BEAN_MR2, |
| + mChromeMediaRouter.startObservingMediaSinks("")); |
| + } |
| +} |