diff options
Diffstat (limited to 'library/gingerbread/test')
-rw-r--r-- | library/gingerbread/test/instrumentation/src/com/android/setupwizardlib/items/ButtonItemDrawingTest.java | 57 |
1 files changed, 39 insertions, 18 deletions
diff --git a/library/gingerbread/test/instrumentation/src/com/android/setupwizardlib/items/ButtonItemDrawingTest.java b/library/gingerbread/test/instrumentation/src/com/android/setupwizardlib/items/ButtonItemDrawingTest.java index 74d3be6..b97905c 100644 --- a/library/gingerbread/test/instrumentation/src/com/android/setupwizardlib/items/ButtonItemDrawingTest.java +++ b/library/gingerbread/test/instrumentation/src/com/android/setupwizardlib/items/ButtonItemDrawingTest.java @@ -18,6 +18,7 @@ package com.android.setupwizardlib.items; import static org.junit.Assert.assertTrue; +import android.support.annotation.StyleRes; import android.support.test.annotation.UiThreadTest; import android.support.test.filters.SmallTest; import android.support.test.rule.UiThreadTestRule; @@ -29,7 +30,6 @@ import android.widget.LinearLayout; import com.android.setupwizardlib.R; import com.android.setupwizardlib.test.util.DrawingTestHelper; -import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; @@ -38,40 +38,61 @@ import org.junit.runner.RunWith; @RunWith(AndroidJUnit4.class) public class ButtonItemDrawingTest { - private static final int GOOGLE_BLUE = 0xff4285f4; + private static final int GLIF_ACCENT_COLOR = 0xff4285f4; + private static final int GLIF_V3_ACCENT_COLOR = 0xff1a73e8; // These tests need to be run on UI thread because button uses ValueAnimator @Rule public UiThreadTestRule mUiThreadTestRule = new UiThreadTestRule(); - private ViewGroup mParent; + @Test + @UiThreadTest + public void drawButton_glif_shouldHaveAccentColoredButton() + throws InstantiationException, IllegalAccessException { + Button button = createButton(R.style.SuwThemeGlif_Light); + + DrawingTestHelper drawingTestHelper = new DrawingTestHelper(50, 50); + drawingTestHelper.drawView(button); - @Before - public void setUp() throws Exception { - mParent = new LinearLayout( - DrawingTestHelper.createCanvasActivity(R.style.SuwThemeGlif_Light)); + int accentPixelCount = + countPixelsWithColor(drawingTestHelper.getPixels(), GLIF_ACCENT_COLOR); + assertTrue("> 10 pixels should be #4285f4. Found " + accentPixelCount, + accentPixelCount > 10); } @Test @UiThreadTest - public void testColoredButtonTheme() { + public void drawButton_glifV3_shouldHaveAccentColoredButton() + throws InstantiationException, IllegalAccessException { + Button button = createButton(R.style.SuwThemeGlifV3_Light); + + DrawingTestHelper drawingTestHelper = new DrawingTestHelper(50, 50); + drawingTestHelper.drawView(button); + + int accentPixelCount = + countPixelsWithColor(drawingTestHelper.getPixels(), GLIF_V3_ACCENT_COLOR); + assertTrue("> 10 pixels should be #1a73e8. Found " + accentPixelCount, + accentPixelCount > 10); + } + + private Button createButton(@StyleRes int theme) + throws InstantiationException, IllegalAccessException { + final ViewGroup parent = new LinearLayout(DrawingTestHelper.createCanvasActivity(theme)); TestButtonItem item = new TestButtonItem(); item.setTheme(R.style.SuwButtonItem_Colored); item.setText("foobar"); - final Button button = item.createButton(mParent); - - DrawingTestHelper drawingTestHelper = new DrawingTestHelper(50, 50); - drawingTestHelper.drawView(button); + return item.createButton(parent); + } - int googleBluePixelCount = 0; - for (int pixel : drawingTestHelper.getPixels()) { - if (pixel == GOOGLE_BLUE) { - googleBluePixelCount++; + private int countPixelsWithColor(int[] pixels, int color) { + int count = 0; + for (int pixel : pixels) { + if (pixel == color) { + count++; } } - assertTrue("> 10 pixels should be Google blue. Found " + googleBluePixelCount, - googleBluePixelCount > 10); + return count; } private static class TestButtonItem extends ButtonItem { |