• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package org.robolectric.shadows;
2 
3 import static org.assertj.core.api.Assertions.assertThat;
4 import static org.junit.Assert.assertFalse;
5 import static org.junit.Assert.assertTrue;
6 import static org.robolectric.Shadows.shadowOf;
7 
8 import android.graphics.Color;
9 import android.graphics.Paint;
10 import org.junit.Test;
11 import org.junit.runner.RunWith;
12 import org.robolectric.RobolectricTestRunner;
13 import org.robolectric.shadow.api.Shadow;
14 
15 @RunWith(RobolectricTestRunner.class)
16 public class ShadowPaintTest {
17 
18   @Test
shouldGetIsDitherInfo()19   public void shouldGetIsDitherInfo() {
20     Paint paint = Shadow.newInstanceOf(Paint.class);
21     assertFalse(paint.isAntiAlias());
22     ShadowPaint shadowPaint = shadowOf(paint);
23     shadowPaint.setAntiAlias(true);
24     assertTrue(paint.isAntiAlias());
25   }
26 
27   @Test
shouldGetIsAntiAlias()28   public void shouldGetIsAntiAlias() {
29     Paint paint = Shadow.newInstanceOf(Paint.class);
30     assertFalse(paint.isAntiAlias());
31     ShadowPaint shadowPaint = shadowOf(paint);
32     shadowPaint.setAntiAlias(true);
33     assertTrue(paint.isAntiAlias());
34     shadowPaint.setAntiAlias(false);
35     assertFalse(paint.isAntiAlias());
36   }
37 
38   @Test
testCtor()39   public void testCtor() {
40     Paint paint = Shadow.newInstanceOf(Paint.class);
41     assertFalse(paint.isAntiAlias());
42     ShadowPaint shadowPaint = shadowOf(paint);
43     shadowPaint.__constructor__( Paint.ANTI_ALIAS_FLAG );
44     assertTrue(paint.isAntiAlias());
45   }
46 
47   @Test
testCtorWithPaint()48   public void testCtorWithPaint() {
49     Paint paint = new Paint();
50     paint.setColor(Color.RED);
51     paint.setAlpha(72);
52     paint.setFlags(2345);
53 
54     Paint other = new Paint(paint);
55     assertThat(other.getColor()).isEqualTo(Color.RED);
56     assertThat(other.getAlpha()).isEqualTo(72);
57     assertThat(other.getFlags()).isEqualTo(2345);
58   }
59 
60   @Test
shouldGetAndSetTextAlignment()61   public void shouldGetAndSetTextAlignment() throws Exception {
62     Paint paint = Shadow.newInstanceOf(Paint.class);
63     assertThat(paint.getTextAlign()).isEqualTo(Paint.Align.LEFT);
64     paint.setTextAlign(Paint.Align.CENTER);
65     assertThat(paint.getTextAlign()).isEqualTo(Paint.Align.CENTER);
66   }
67 
68   @Test
measureTextActuallyMeasuresLength()69   public void measureTextActuallyMeasuresLength() throws Exception {
70     Paint paint = Shadow.newInstanceOf(Paint.class);
71     assertThat(paint.measureText("Hello")).isEqualTo(5);
72     assertThat(paint.measureText("Hello", 1, 3)).isEqualTo(2);
73     assertThat(paint.measureText(new StringBuilder("Hello"), 1, 4)).isEqualTo(3);
74   }
75 
76   @Test
createPaintFromPaint()77   public void createPaintFromPaint() throws Exception {
78     Paint origPaint = new Paint();
79     assertThat(new Paint(origPaint).getTextLocale()).isSameAs(origPaint.getTextLocale());
80   }
81 }
82