• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2019 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 // generate_java_test.py
6 
7 package org.chromium.components.prefs;
8 
9 import static org.junit.Assert.assertEquals;
10 import static org.mockito.ArgumentMatchers.eq;
11 import static org.mockito.Mockito.doReturn;
12 import static org.mockito.Mockito.verify;
13 
14 import org.junit.Before;
15 import org.junit.Rule;
16 import org.junit.Test;
17 import org.junit.runner.RunWith;
18 import org.mockito.Mock;
19 import org.mockito.MockitoAnnotations;
20 import org.robolectric.annotation.Config;
21 
22 import org.chromium.base.test.BaseRobolectricTestRunner;
23 import org.chromium.base.test.util.JniMocker;
24 
25 /** Unit tests for {@link PrefService}. */
26 @RunWith(BaseRobolectricTestRunner.class)
27 @Config(manifest = Config.NONE)
28 public class PrefServiceTest {
29     private static final String PREF = "42";
30     private static final long NATIVE_HANDLE = 117;
31 
32     @Rule public JniMocker mocker = new JniMocker();
33     @Mock private PrefService.Natives mNativeMock;
34 
35     PrefService mPrefService;
36 
37     @Before
setUp()38     public void setUp() {
39         MockitoAnnotations.initMocks(this);
40         mocker.mock(PrefServiceJni.TEST_HOOKS, mNativeMock);
41         mPrefService = new PrefService(NATIVE_HANDLE);
42     }
43 
44     @Test
testGetBoolean()45     public void testGetBoolean() {
46         boolean expected = false;
47 
48         doReturn(expected).when(mNativeMock).getBoolean(NATIVE_HANDLE, PREF);
49 
50         assertEquals(expected, mPrefService.getBoolean(PREF));
51     }
52 
53     @Test
testSetBoolean()54     public void testSetBoolean() {
55         boolean value = true;
56 
57         mPrefService.setBoolean(PREF, value);
58 
59         verify(mNativeMock).setBoolean(eq(NATIVE_HANDLE), eq(PREF), eq(value));
60     }
61 
62     @Test
testGetInteger()63     public void testGetInteger() {
64         int expected = 26;
65 
66         doReturn(expected).when(mNativeMock).getInteger(NATIVE_HANDLE, PREF);
67 
68         assertEquals(expected, mPrefService.getInteger(PREF));
69     }
70 
71     @Test
testSetInteger()72     public void testSetInteger() {
73         int value = 62;
74 
75         mPrefService.setInteger(PREF, value);
76 
77         verify(mNativeMock).setInteger(eq(NATIVE_HANDLE), eq(PREF), eq(value));
78     }
79 
80     @Test
testGetDouble()81     public void testGetDouble() {
82         double expected = 1.23;
83 
84         doReturn(expected).when(mNativeMock).getDouble(NATIVE_HANDLE, PREF);
85 
86         assertEquals(expected, mPrefService.getDouble(PREF), 0.01f);
87     }
88 
89     @Test
testSetDouble()90     public void testSetDouble() {
91         double value = 12.34;
92 
93         mPrefService.setDouble(PREF, value);
94 
95         verify(mNativeMock).setDouble(eq(NATIVE_HANDLE), eq(PREF), eq(value));
96     }
97 
98     @Test
testGetString()99     public void testGetString() {
100         String expected = "foo";
101 
102         doReturn(expected).when(mNativeMock).getString(NATIVE_HANDLE, PREF);
103 
104         assertEquals(expected, mPrefService.getString(PREF));
105     }
106 
107     @Test
testSetString()108     public void testSetString() {
109         String value = "bar";
110 
111         mPrefService.setString(PREF, value);
112 
113         verify(mNativeMock).setString(eq(NATIVE_HANDLE), eq(PREF), eq(value));
114     }
115 
116     @Test
testIsManaged()117     public void testIsManaged() {
118         boolean expected = true;
119 
120         doReturn(expected).when(mNativeMock).isManagedPreference(NATIVE_HANDLE, PREF);
121 
122         assertEquals(expected, mPrefService.isManagedPreference(PREF));
123     }
124 
125     @Test
testIsDefaultValuePreference()126     public void testIsDefaultValuePreference() {
127         for (boolean expected : new boolean[] {false, true}) {
128             doReturn(expected).when(mNativeMock).isDefaultValuePreference(NATIVE_HANDLE, PREF);
129             assertEquals(expected, mPrefService.isDefaultValuePreference(PREF));
130         }
131     }
132 }
133