@@ -7,10 +7,7 @@ import org.junit.Assert.*
77import org.junit.Rule
88import org.junit.Test
99import org.junit.runner.RunWith
10- import org.mozilla.vrbrowser.GleanMetrics.Distribution
11- import org.mozilla.vrbrowser.GleanMetrics.FirefoxAccount
12- import org.mozilla.vrbrowser.GleanMetrics.Tabs
13- import org.mozilla.vrbrowser.GleanMetrics.Url
10+ import org.mozilla.vrbrowser.GleanMetrics.*
1411import org.mozilla.vrbrowser.telemetry.GleanMetricsService
1512import org.robolectric.RobolectricTestRunner
1613import org.robolectric.annotation.Config
@@ -137,4 +134,115 @@ class GleanMetricsServiceTest {
137134 assertTrue(Tabs .activated.testHasValue())
138135 assertEquals(Tabs .activated.testGetValue(), 1 )
139136 }
137+
138+ @Test
139+ fun testPages () {
140+ assertFalse(Pages .pageLoad.testHasValue())
141+ GleanMetricsService .startPageLoadTime(" www.example.com" )
142+ assertFalse(Pages .pageLoad.testHasValue())
143+ GleanMetricsService .stopPageLoadTimeWithURI(" www.example.com" )
144+ assertTrue(Pages .pageLoad.testHasValue())
145+ }
146+
147+ @Test
148+ fun testImmersive () {
149+ assertFalse(Immersive .duration.testHasValue())
150+ GleanMetricsService .startImmersive()
151+ assertFalse(Immersive .duration.testHasValue())
152+ GleanMetricsService .stopImmersive()
153+ assertTrue(Immersive .duration.testHasValue())
154+ }
155+
156+ @Test
157+ fun testMultiWindow () {
158+ assertFalse(Windows .duration.testHasValue())
159+ GleanMetricsService .openWindowEvent(1 )
160+ assertFalse(Windows .duration.testHasValue())
161+ GleanMetricsService .closeWindowEvent(1 )
162+ assertTrue(Windows .duration.testHasValue())
163+
164+ assertFalse(Windows .movement.testHasValue())
165+ GleanMetricsService .windowsMoveEvent()
166+ assertTrue(Windows .movement.testHasValue())
167+ assertEquals(Windows .movement.testGetValue(), 1 )
168+
169+ assertFalse(Windows .resize.testHasValue())
170+ GleanMetricsService .windowsResizeEvent()
171+ assertTrue(Windows .resize.testHasValue())
172+ assertEquals(Windows .resize.testGetValue(), 1 )
173+
174+ assertFalse(Windows .activeInFrontTime.testHasValue())
175+ GleanMetricsService .activePlacementEvent(0 , true )
176+ assertFalse(Windows .activeInFrontTime.testHasValue())
177+ GleanMetricsService .activePlacementEvent(0 , false )
178+ assertTrue(Windows .activeInFrontTime.testHasValue())
179+
180+ assertFalse(Windows .activeInLeftTime.testHasValue())
181+ GleanMetricsService .activePlacementEvent(1 , true )
182+ assertFalse(Windows .activeInLeftTime.testHasValue())
183+ GleanMetricsService .activePlacementEvent(1 , false )
184+ assertTrue(Windows .activeInLeftTime.testHasValue())
185+
186+ assertFalse(Windows .activeInRightTime.testHasValue())
187+ GleanMetricsService .activePlacementEvent(2 , true )
188+ assertFalse(Windows .activeInRightTime.testHasValue())
189+ GleanMetricsService .activePlacementEvent(2 , false )
190+ assertTrue(Windows .activeInRightTime.testHasValue())
191+
192+ assertFalse(Windows .openedWindowCount[" single" ].testHasValue())
193+ assertFalse(Windows .singleWindowOpenedTime.testHasValue())
194+ GleanMetricsService .openWindowsEvent(0 , 1 ,false )
195+ assertTrue(Windows .openedWindowCount[" single" ].testHasValue())
196+ assertEquals(Windows .openedWindowCount[" single" ].testGetValue(), 1 )
197+ assertFalse(Windows .singleWindowOpenedTime.testHasValue())
198+ assertFalse(Windows .doubleWindowOpenedTime.testHasValue())
199+ assertFalse(Windows .openedWindowCount[" double" ].testHasValue())
200+ GleanMetricsService .openWindowsEvent(1 , 2 , false )
201+ assertTrue(Windows .openedWindowCount[" double" ].testHasValue())
202+ assertEquals(Windows .openedWindowCount[" double" ].testGetValue(), 1 )
203+ assertTrue(Windows .singleWindowOpenedTime.testHasValue())
204+ assertFalse(Windows .doubleWindowOpenedTime.testHasValue())
205+ assertFalse(Windows .tripleWindowOpenedTime.testHasValue())
206+ assertFalse(Windows .openedWindowCount[" triple" ].testHasValue())
207+ GleanMetricsService .openWindowsEvent(2 , 3 , false )
208+ assertTrue(Windows .openedWindowCount[" triple" ].testHasValue())
209+ assertEquals(Windows .openedWindowCount[" triple" ].testGetValue(), 1 )
210+ assertTrue(Windows .doubleWindowOpenedTime.testHasValue())
211+ assertFalse(Windows .tripleWindowOpenedTime.testHasValue())
212+ GleanMetricsService .openWindowsEvent(3 , 2 , false )
213+ assertEquals(Windows .openedWindowCount[" double" ].testGetValue(), 2 )
214+ assertTrue(Windows .tripleWindowOpenedTime.testHasValue())
215+ Pings .sessionEnd.submit();
216+ // Windows.openedWindowCount will reset when a session is ended.
217+ GleanMetricsService .resetOpenedWindowsCount(2 , false )
218+ assertEquals(Windows .openedWindowCount[" double" ].testGetValue(), 1 )
219+
220+ assertFalse(Windows .openedPriWindowCount[" single" ].testHasValue())
221+ assertFalse(Windows .singlePriWindowOpenedTime.testHasValue())
222+ GleanMetricsService .openWindowsEvent(0 , 1 ,true )
223+ assertTrue(Windows .openedPriWindowCount[" single" ].testHasValue())
224+ assertEquals(Windows .openedPriWindowCount[" single" ].testGetValue(), 1 )
225+ assertFalse(Windows .singlePriWindowOpenedTime.testHasValue())
226+ assertFalse(Windows .doublePriWindowOpenedTime.testHasValue())
227+ assertFalse(Windows .openedPriWindowCount[" double" ].testHasValue())
228+ GleanMetricsService .openWindowsEvent(1 , 2 , true )
229+ assertTrue(Windows .openedPriWindowCount[" double" ].testHasValue())
230+ assertEquals(Windows .openedPriWindowCount[" double" ].testGetValue(), 1 )
231+ assertTrue(Windows .singlePriWindowOpenedTime.testHasValue())
232+ assertFalse(Windows .doublePriWindowOpenedTime.testHasValue())
233+ assertFalse(Windows .triplePriWindowOpenedTime.testHasValue())
234+ assertFalse(Windows .openedPriWindowCount[" triple" ].testHasValue())
235+ GleanMetricsService .openWindowsEvent(2 , 3 , true )
236+ assertTrue(Windows .openedPriWindowCount[" triple" ].testHasValue())
237+ assertEquals(Windows .openedPriWindowCount[" triple" ].testGetValue(), 1 )
238+ assertTrue(Windows .doublePriWindowOpenedTime.testHasValue())
239+ assertFalse(Windows .triplePriWindowOpenedTime.testHasValue())
240+ GleanMetricsService .openWindowsEvent(3 , 2 , true )
241+ assertEquals(Windows .openedPriWindowCount[" double" ].testGetValue(), 2 )
242+ assertTrue(Windows .triplePriWindowOpenedTime.testHasValue())
243+ Pings .sessionEnd.submit();
244+ // Windows.openedPriWindowCount will reset when a session is ended.
245+ GleanMetricsService .resetOpenedWindowsCount(2 , true )
246+ assertEquals(Windows .openedPriWindowCount[" double" ].testGetValue(), 1 )
247+ }
140248}
0 commit comments