Skip to content
This repository was archived by the owner on Jul 22, 2024. It is now read-only.

Commit 20d6f7f

Browse files
committed
Adding multiple window telemetry tests for Glean.
1 parent 0cc9656 commit 20d6f7f

1 file changed

Lines changed: 112 additions & 4 deletions

File tree

app/src/test/java/org/mozilla/vrbrowser/GleanMetricsServiceTest.kt

Lines changed: 112 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@ import org.junit.Assert.*
77
import org.junit.Rule
88
import org.junit.Test
99
import 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.*
1411
import org.mozilla.vrbrowser.telemetry.GleanMetricsService
1512
import org.robolectric.RobolectricTestRunner
1613
import 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

Comments
 (0)