зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1676216 - Remove o.m.g.test.util.Callbacks. r=owlish
It's a relic of the past when we didn't require default methods for delegates, we don't need it anymore. Differential Revision: https://phabricator.services.mozilla.com/D122506
This commit is contained in:
Родитель
f4796a5e64
Коммит
a4f2c7f7f0
|
@ -32,7 +32,6 @@ import org.mozilla.geckoview.Autocomplete.StorageDelegate
|
|||
import org.mozilla.geckoview.Autocomplete.UsedField
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.AssertCalled
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
|
@ -165,7 +164,7 @@ class AutocompleteTest : BaseSessionTest() {
|
|||
}
|
||||
})
|
||||
|
||||
mainSession.delegateUntilTestEnd(object : Callbacks.PromptDelegate {
|
||||
mainSession.delegateUntilTestEnd(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onCreditCardSelect(
|
||||
session: GeckoSession,
|
||||
|
@ -286,7 +285,7 @@ class AutocompleteTest : BaseSessionTest() {
|
|||
override fun onAddressSave(address: Address) {}
|
||||
})
|
||||
|
||||
mainSession.delegateUntilTestEnd(object : Callbacks.PromptDelegate {
|
||||
mainSession.delegateUntilTestEnd(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onAddressSelect(
|
||||
session: GeckoSession,
|
||||
|
@ -478,7 +477,7 @@ class AutocompleteTest : BaseSessionTest() {
|
|||
// Submit the form.
|
||||
mainSession.evaluateJS("document.querySelector('#form1').submit()")
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.PromptDelegate {
|
||||
sessionRule.waitUntilCalled(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLoginSave(
|
||||
session: GeckoSession,
|
||||
|
@ -544,7 +543,7 @@ class AutocompleteTest : BaseSessionTest() {
|
|||
}
|
||||
})
|
||||
|
||||
sessionRule.delegateDuringNextWait(object : Callbacks.PromptDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLoginSave(
|
||||
session: GeckoSession,
|
||||
|
@ -621,7 +620,7 @@ class AutocompleteTest : BaseSessionTest() {
|
|||
}
|
||||
})
|
||||
|
||||
sessionRule.delegateDuringNextWait(object : Callbacks.PromptDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLoginSave(
|
||||
session: GeckoSession,
|
||||
|
@ -737,7 +736,7 @@ class AutocompleteTest : BaseSessionTest() {
|
|||
}
|
||||
})
|
||||
|
||||
sessionRule.delegateUntilTestEnd(object : Callbacks.PromptDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : PromptDelegate {
|
||||
@AssertCalled(count = 2)
|
||||
override fun onLoginSave(
|
||||
session: GeckoSession,
|
||||
|
@ -867,7 +866,7 @@ class AutocompleteTest : BaseSessionTest() {
|
|||
})
|
||||
}
|
||||
|
||||
sessionRule.delegateUntilTestEnd(object : Callbacks.PromptDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : PromptDelegate {
|
||||
@AssertCalled(false)
|
||||
override fun onLoginSave(
|
||||
session: GeckoSession,
|
||||
|
@ -943,7 +942,7 @@ class AutocompleteTest : BaseSessionTest() {
|
|||
override fun onLoginUsed(login: LoginEntry, usedFields: Int) {}
|
||||
})
|
||||
|
||||
sessionRule.delegateUntilTestEnd(object : Callbacks.PromptDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : PromptDelegate {
|
||||
@AssertCalled(false)
|
||||
override fun onLoginSave(
|
||||
session: GeckoSession,
|
||||
|
@ -1121,7 +1120,7 @@ class AutocompleteTest : BaseSessionTest() {
|
|||
mainSession.loadTestPath(FORMS3_HTML_PATH)
|
||||
mainSession.waitForPageStop()
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.PromptDelegate {
|
||||
mainSession.delegateDuringNextWait(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLoginSave(
|
||||
session: GeckoSession,
|
||||
|
@ -1161,7 +1160,7 @@ class AutocompleteTest : BaseSessionTest() {
|
|||
session2.loadTestPath(FORMS3_HTML_PATH)
|
||||
session2.waitForPageStop()
|
||||
|
||||
session2.delegateDuringNextWait(object : Callbacks.PromptDelegate {
|
||||
session2.delegateDuringNextWait(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLoginSave(
|
||||
session: GeckoSession,
|
||||
|
@ -1199,7 +1198,7 @@ class AutocompleteTest : BaseSessionTest() {
|
|||
// Reload for the last time.
|
||||
val session3 = sessionRule.createOpenSession()
|
||||
|
||||
session3.delegateUntilTestEnd(object : Callbacks.PromptDelegate {
|
||||
session3.delegateUntilTestEnd(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLoginSelect(
|
||||
session: GeckoSession,
|
||||
|
@ -1372,7 +1371,7 @@ class AutocompleteTest : BaseSessionTest() {
|
|||
mainSession.loadTestPath(FORMS3_HTML_PATH)
|
||||
mainSession.waitForPageStop()
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.PromptDelegate {
|
||||
mainSession.delegateDuringNextWait(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLoginSave(
|
||||
session: GeckoSession,
|
||||
|
@ -1412,7 +1411,7 @@ class AutocompleteTest : BaseSessionTest() {
|
|||
session2.loadTestPath(FORMS3_HTML_PATH)
|
||||
session2.waitForPageStop()
|
||||
|
||||
session2.delegateDuringNextWait(object : Callbacks.PromptDelegate {
|
||||
session2.delegateDuringNextWait(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLoginSave(
|
||||
session: GeckoSession,
|
||||
|
@ -1450,7 +1449,7 @@ class AutocompleteTest : BaseSessionTest() {
|
|||
// Reload for the last time.
|
||||
val session3 = sessionRule.createOpenSession()
|
||||
|
||||
session3.delegateUntilTestEnd(object : Callbacks.PromptDelegate {
|
||||
session3.delegateUntilTestEnd(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLoginSelect(
|
||||
session: GeckoSession,
|
||||
|
@ -1586,7 +1585,7 @@ class AutocompleteTest : BaseSessionTest() {
|
|||
mainSession.loadTestPath(FORMS4_HTML_PATH)
|
||||
mainSession.waitForPageStop()
|
||||
|
||||
mainSession.delegateUntilTestEnd(object : Callbacks.PromptDelegate {
|
||||
mainSession.delegateUntilTestEnd(object : PromptDelegate {
|
||||
@AssertCalled
|
||||
override fun onLoginSelect(
|
||||
session: GeckoSession,
|
||||
|
|
|
@ -23,7 +23,6 @@ import org.mozilla.geckoview.GeckoSession
|
|||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.AssertCalled
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.WithDisplay
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
|
@ -37,7 +36,7 @@ class AutofillDelegateTest : BaseSessionTest() {
|
|||
|
||||
mainSession.loadTestPath(FORMS_HTML_PATH)
|
||||
// Wait for the auto-fill nodes to populate.
|
||||
sessionRule.waitUntilCalled(object : Callbacks.AutofillDelegate {
|
||||
sessionRule.waitUntilCalled(object : Autofill.Delegate {
|
||||
// For the root document and the iframe document, each has a form group and
|
||||
// a group for inputs outside of forms, so the total count is 4.
|
||||
@AssertCalled(count = 4)
|
||||
|
@ -61,7 +60,7 @@ class AutofillDelegateTest : BaseSessionTest() {
|
|||
// Submit the session.
|
||||
mainSession.evaluateJS("document.querySelector('#form1').submit()")
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.AutofillDelegate {
|
||||
sessionRule.waitUntilCalled(object : Autofill.Delegate {
|
||||
@AssertCalled(count = 5)
|
||||
override fun onAutofill(session: GeckoSession,
|
||||
notification: Int,
|
||||
|
@ -101,7 +100,7 @@ class AutofillDelegateTest : BaseSessionTest() {
|
|||
|
||||
mainSession.loadTestPath(FORMS_ID_VALUE_HTML_PATH)
|
||||
// Wait for the auto-fill nodes to populate.
|
||||
sessionRule.waitUntilCalled(object : Callbacks.AutofillDelegate {
|
||||
sessionRule.waitUntilCalled(object : Autofill.Delegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onAutofill(session: GeckoSession,
|
||||
notification: Int,
|
||||
|
@ -120,7 +119,7 @@ class AutofillDelegateTest : BaseSessionTest() {
|
|||
// Submit the session.
|
||||
mainSession.evaluateJS("document.querySelector('#form1').submit()")
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.AutofillDelegate {
|
||||
sessionRule.waitUntilCalled(object : Autofill.Delegate {
|
||||
@AssertCalled(count = 2)
|
||||
override fun onAutofill(session: GeckoSession,
|
||||
notification: Int,
|
||||
|
@ -149,7 +148,7 @@ class AutofillDelegateTest : BaseSessionTest() {
|
|||
// SessionAccessibility for a11y auto-fill support.
|
||||
mainSession.loadTestPath(FORMS_HTML_PATH)
|
||||
// Wait for the auto-fill nodes to populate.
|
||||
sessionRule.waitUntilCalled(object : Callbacks.AutofillDelegate {
|
||||
sessionRule.waitUntilCalled(object : Autofill.Delegate {
|
||||
// For the root document and the iframe document, each has a form group and
|
||||
// a group for inputs outside of forms, so the total count is 4.
|
||||
@AssertCalled(count = 4)
|
||||
|
@ -251,7 +250,7 @@ class AutofillDelegateTest : BaseSessionTest() {
|
|||
@Test fun autofillNavigation() {
|
||||
// Wait for the accessibility nodes to populate.
|
||||
mainSession.loadTestPath(FORMS_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.AutofillDelegate {
|
||||
sessionRule.waitUntilCalled(object : Autofill.Delegate {
|
||||
@AssertCalled(count = 4)
|
||||
override fun onAutofill(session: GeckoSession,
|
||||
notification: Int,
|
||||
|
@ -270,7 +269,7 @@ class AutofillDelegateTest : BaseSessionTest() {
|
|||
|
||||
// Now wait for the nodes to clear.
|
||||
mainSession.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.AutofillDelegate {
|
||||
sessionRule.waitUntilCalled(object : Autofill.Delegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onAutofill(session: GeckoSession,
|
||||
notification: Int,
|
||||
|
@ -287,7 +286,7 @@ class AutofillDelegateTest : BaseSessionTest() {
|
|||
// Now wait for the nodes to reappear.
|
||||
mainSession.waitForPageStop()
|
||||
mainSession.goBack()
|
||||
sessionRule.waitUntilCalled(object : Callbacks.AutofillDelegate {
|
||||
sessionRule.waitUntilCalled(object : Autofill.Delegate {
|
||||
@AssertCalled(count = 4)
|
||||
override fun onAutofill(session: GeckoSession,
|
||||
notification: Int,
|
||||
|
@ -307,7 +306,7 @@ class AutofillDelegateTest : BaseSessionTest() {
|
|||
|
||||
mainSession.evaluateJS("document.querySelector('#pass2').focus()")
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.AutofillDelegate {
|
||||
sessionRule.waitUntilCalled(object : Autofill.Delegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onAutofill(session: GeckoSession,
|
||||
notification: Int,
|
||||
|
@ -330,7 +329,7 @@ class AutofillDelegateTest : BaseSessionTest() {
|
|||
equalTo(8))
|
||||
|
||||
mainSession.evaluateJS("document.querySelector('#pass2').blur()")
|
||||
sessionRule.waitUntilCalled(object : Callbacks.AutofillDelegate {
|
||||
sessionRule.waitUntilCalled(object : Autofill.Delegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onAutofill(session: GeckoSession,
|
||||
notification: Int,
|
||||
|
@ -349,7 +348,7 @@ class AutofillDelegateTest : BaseSessionTest() {
|
|||
@Test fun autofillUserpass() {
|
||||
mainSession.loadTestPath(FORMS2_HTML_PATH)
|
||||
// Wait for the auto-fill nodes to populate.
|
||||
sessionRule.waitUntilCalled(object : Callbacks.AutofillDelegate {
|
||||
sessionRule.waitUntilCalled(object : Autofill.Delegate {
|
||||
@AssertCalled(count = 3)
|
||||
override fun onAutofill(session: GeckoSession,
|
||||
notification: Int,
|
||||
|
@ -392,7 +391,7 @@ class AutofillDelegateTest : BaseSessionTest() {
|
|||
// inactive. Likewise, we should focus a node once we return.
|
||||
mainSession.loadTestPath(FORMS_HTML_PATH)
|
||||
// Wait for the auto-fill nodes to populate.
|
||||
sessionRule.waitUntilCalled(object : Callbacks.AutofillDelegate {
|
||||
sessionRule.waitUntilCalled(object : Autofill.Delegate {
|
||||
// For the root document and the iframe document, each has a form group and
|
||||
// a group for inputs outside of forms, so the total count is 4.
|
||||
@AssertCalled(count = 4)
|
||||
|
@ -408,7 +407,7 @@ class AutofillDelegateTest : BaseSessionTest() {
|
|||
})
|
||||
|
||||
mainSession.evaluateJS("document.querySelector('#pass2').focus()")
|
||||
sessionRule.waitUntilCalled(object : Callbacks.AutofillDelegate {
|
||||
sessionRule.waitUntilCalled(object : Autofill.Delegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onAutofill(session: GeckoSession,
|
||||
notification: Int,
|
||||
|
@ -424,7 +423,7 @@ class AutofillDelegateTest : BaseSessionTest() {
|
|||
|
||||
// Make sure we get NODE_BLURRED when inactive
|
||||
mainSession.setActive(false)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.AutofillDelegate {
|
||||
sessionRule.waitUntilCalled(object : Autofill.Delegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onAutofill(session: GeckoSession,
|
||||
notification: Int,
|
||||
|
@ -438,7 +437,7 @@ class AutofillDelegateTest : BaseSessionTest() {
|
|||
|
||||
// Make sure we get NODE_FOCUSED when active once again
|
||||
mainSession.setActive(true)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.AutofillDelegate {
|
||||
sessionRule.waitUntilCalled(object : Autofill.Delegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onAutofill(session: GeckoSession,
|
||||
notification: Int,
|
||||
|
@ -456,7 +455,7 @@ class AutofillDelegateTest : BaseSessionTest() {
|
|||
@WithDisplay(width = 100, height = 100)
|
||||
@Test fun autofillAutocompleteAttribute() {
|
||||
mainSession.loadTestPath(FORMS_AUTOCOMPLETE_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.AutofillDelegate {
|
||||
sessionRule.waitUntilCalled(object : Autofill.Delegate {
|
||||
@AssertCalled(count = 3)
|
||||
override fun onAutofill(session: GeckoSession,
|
||||
notification: Int,
|
||||
|
|
|
@ -7,7 +7,6 @@ package org.mozilla.geckoview.test
|
|||
import androidx.test.filters.MediumTest
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import org.hamcrest.Matchers.*
|
||||
import org.junit.Ignore
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.mozilla.geckoview.ContentBlocking
|
||||
|
@ -17,7 +16,6 @@ import org.mozilla.geckoview.GeckoSession
|
|||
import org.mozilla.geckoview.GeckoSessionSettings
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.AssertCalled
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
import org.junit.Assume.assumeThat
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
|
@ -31,7 +29,7 @@ class ContentBlockingControllerTest : BaseSessionTest() {
|
|||
session1.loadTestPath(TRACKERS_PATH)
|
||||
|
||||
sessionRule.waitUntilCalled(
|
||||
object : Callbacks.ContentBlockingDelegate {
|
||||
object : ContentBlocking.Delegate {
|
||||
@GeckoSessionTestRule.AssertCalled(count=3)
|
||||
override fun onContentBlocked(session: GeckoSession,
|
||||
event: ContentBlocking.BlockEvent) {
|
||||
|
@ -69,7 +67,7 @@ class ContentBlockingControllerTest : BaseSessionTest() {
|
|||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(
|
||||
object : Callbacks.ContentBlockingDelegate {
|
||||
object : ContentBlocking.Delegate {
|
||||
@GeckoSessionTestRule.AssertCalled(false)
|
||||
override fun onContentBlocked(session: GeckoSession,
|
||||
event: ContentBlocking.BlockEvent) {
|
||||
|
@ -87,7 +85,7 @@ class ContentBlockingControllerTest : BaseSessionTest() {
|
|||
session1.reload()
|
||||
|
||||
sessionRule.waitUntilCalled(
|
||||
object : Callbacks.ContentBlockingDelegate {
|
||||
object : ContentBlocking.Delegate {
|
||||
@GeckoSessionTestRule.AssertCalled(count=3)
|
||||
override fun onContentBlocked(session: GeckoSession,
|
||||
event: ContentBlocking.BlockEvent) {
|
||||
|
@ -236,7 +234,7 @@ class ContentBlockingControllerTest : BaseSessionTest() {
|
|||
sessionRule.session.loadTestPath(TRACKERS_PATH)
|
||||
|
||||
sessionRule.waitUntilCalled(
|
||||
object : Callbacks.ContentBlockingDelegate {
|
||||
object : ContentBlocking.Delegate {
|
||||
@GeckoSessionTestRule.AssertCalled(count=3)
|
||||
override fun onContentBlocked(session: GeckoSession,
|
||||
event: ContentBlocking.BlockEvent) {
|
||||
|
@ -263,7 +261,7 @@ class ContentBlockingControllerTest : BaseSessionTest() {
|
|||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(
|
||||
object : Callbacks.ContentBlockingDelegate {
|
||||
object : ContentBlocking.Delegate {
|
||||
@GeckoSessionTestRule.AssertCalled(false)
|
||||
override fun onContentBlocked(session: GeckoSession,
|
||||
event: ContentBlocking.BlockEvent) {
|
||||
|
@ -280,7 +278,7 @@ class ContentBlockingControllerTest : BaseSessionTest() {
|
|||
sessionRule.session.reload()
|
||||
|
||||
sessionRule.waitUntilCalled(
|
||||
object : Callbacks.ContentBlockingDelegate {
|
||||
object : ContentBlocking.Delegate {
|
||||
@GeckoSessionTestRule.AssertCalled(count=3)
|
||||
override fun onContentBlocked(session: GeckoSession,
|
||||
event: ContentBlocking.BlockEvent) {
|
||||
|
@ -341,7 +339,7 @@ class ContentBlockingControllerTest : BaseSessionTest() {
|
|||
sessionRule.session.settings.useTrackingProtection = true
|
||||
sessionRule.session.loadTestPath(TRACKERS_PATH)
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentBlockingDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentBlocking.Delegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onContentBlocked(session: GeckoSession,
|
||||
event: ContentBlocking.BlockEvent) {
|
||||
|
|
|
@ -12,8 +12,8 @@ import org.junit.Before
|
|||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.mozilla.geckoview.BuildConfig
|
||||
import org.mozilla.geckoview.GeckoSession.ContentDelegate
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.IgnoreCrash
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
|
@ -37,7 +37,7 @@ class ContentCrashTest : BaseSessionTest() {
|
|||
assumeThat(sessionRule.env.isIsolatedProcess, Matchers.equalTo(false))
|
||||
|
||||
mainSession.loadUri(CONTENT_CRASH_URL)
|
||||
mainSession.waitUntilCalled(Callbacks.ContentDelegate::class, "onCrash")
|
||||
mainSession.waitUntilCalled(ContentDelegate::class, "onCrash")
|
||||
|
||||
// This test is really slow so we allow double the usual timeout
|
||||
var evalResult = client.getEvalResult(env.defaultTimeoutMillis * 2)
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
|
||||
package org.mozilla.geckoview.test
|
||||
|
||||
import org.mozilla.geckoview.GeckoSession.ContentDelegate
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.AssertCalled
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.IgnoreCrash
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
|
||||
import androidx.annotation.AnyThread
|
||||
import androidx.test.filters.MediumTest
|
||||
|
@ -37,7 +37,7 @@ class ContentDelegateMultipleSessionsTest : BaseSessionTest() {
|
|||
killAllContentProcesses()
|
||||
|
||||
if (isMainSessionAlreadyOpen) {
|
||||
mainSession.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
mainSession.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onKill(session: GeckoSession) {
|
||||
}
|
||||
|
@ -108,7 +108,7 @@ class ContentDelegateMultipleSessionsTest : BaseSessionTest() {
|
|||
// ...but we use GeckoResult.allOf for waiting on the aggregated results
|
||||
val allCrashesFound = GeckoResult.allOf(mainSessionCrash, newSessionCrash)
|
||||
|
||||
sessionRule.delegateUntilTestEnd(object : Callbacks.ContentDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : ContentDelegate {
|
||||
fun reportCrash(session: GeckoSession) {
|
||||
if (session == mainSession) {
|
||||
mainSessionCrash.complete(null)
|
||||
|
@ -143,7 +143,7 @@ class ContentDelegateMultipleSessionsTest : BaseSessionTest() {
|
|||
|
||||
val allKillEventsReceived = GeckoResult.allOf(mainSessionKilled, newSessionKilled)
|
||||
|
||||
sessionRule.delegateUntilTestEnd(object : Callbacks.ContentDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : ContentDelegate {
|
||||
override fun onKill(session: GeckoSession) {
|
||||
if (session == mainSession) {
|
||||
mainSessionKilled.complete(null)
|
||||
|
|
|
@ -7,10 +7,12 @@ package org.mozilla.geckoview.test
|
|||
import android.graphics.SurfaceTexture
|
||||
import android.net.Uri
|
||||
import org.mozilla.geckoview.GeckoSession.NavigationDelegate.LoadRequest
|
||||
import org.mozilla.geckoview.GeckoSession.ProgressDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.ContentDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.NavigationDelegate
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.AssertCalled
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.IgnoreCrash
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.WithDisplay
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
|
||||
import androidx.annotation.AnyThread
|
||||
import androidx.test.filters.MediumTest
|
||||
|
@ -31,7 +33,7 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
@Test fun titleChange() {
|
||||
sessionRule.session.loadTestPath(TITLE_CHANGE_HTML_PATH)
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 2)
|
||||
override fun onTitleChange(session: GeckoSession, title: String?) {
|
||||
assertThat("Title should match", title,
|
||||
|
@ -46,7 +48,7 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
|
||||
sessionRule.session.loadTestPath(DOWNLOAD_HTML_PATH)
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.NavigationDelegate, Callbacks.ContentDelegate {
|
||||
sessionRule.waitUntilCalled(object : NavigationDelegate, ContentDelegate {
|
||||
|
||||
@AssertCalled(count = 2)
|
||||
override fun onLoadRequest(session: GeckoSession, request: LoadRequest): GeckoResult<AllowOrDeny>? {
|
||||
|
@ -77,7 +79,7 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
assumeThat(sessionRule.env.isIsolatedProcess, equalTo(false))
|
||||
|
||||
mainSession.loadUri(CONTENT_CRASH_URL)
|
||||
mainSession.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
mainSession.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onCrash(session: GeckoSession) {
|
||||
assertThat("Session should be closed after a crash",
|
||||
|
@ -88,7 +90,7 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
// Recover immediately
|
||||
mainSession.open()
|
||||
mainSession.loadTestPath(HELLO_HTML_PATH)
|
||||
mainSession.waitUntilCalled(object: Callbacks.ProgressDelegate {
|
||||
mainSession.waitUntilCalled(object: ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
assertThat("Page should load successfully", success, equalTo(true))
|
||||
|
@ -102,7 +104,7 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
// TODO: bug 1710940
|
||||
assumeThat(sessionRule.env.isIsolatedProcess, equalTo(false))
|
||||
|
||||
mainSession.delegateUntilTestEnd(object : Callbacks.ContentDelegate {
|
||||
mainSession.delegateUntilTestEnd(object : ContentDelegate {
|
||||
override fun onCrash(session: GeckoSession) {
|
||||
mainSession.open()
|
||||
mainSession.loadTestPath(HELLO_HTML_PATH)
|
||||
|
@ -129,7 +131,7 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
@IgnoreCrash
|
||||
@Test fun killContent() {
|
||||
killAllContentProcesses()
|
||||
mainSession.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
mainSession.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onKill(session: GeckoSession) {
|
||||
assertThat("Session should be closed after being killed",
|
||||
|
@ -139,7 +141,7 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
|
||||
mainSession.open()
|
||||
mainSession.loadTestPath(HELLO_HTML_PATH)
|
||||
mainSession.waitUntilCalled(object : Callbacks.ProgressDelegate {
|
||||
mainSession.waitUntilCalled(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
assertThat("Page should load successfully", success, equalTo(true))
|
||||
|
@ -152,7 +154,7 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
mainSession.loadTestPath(FULLSCREEN_PATH)
|
||||
mainSession.waitForPageStop()
|
||||
val promise = mainSession.evaluatePromiseJS("document.querySelector('#fullscreen').requestFullscreen()")
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onFullScreen(session: GeckoSession, fullScreen: Boolean) {
|
||||
assertThat("Div went fullscreen", fullScreen, equalTo(true))
|
||||
|
@ -162,7 +164,7 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
}
|
||||
|
||||
private fun waitForFullscreenExit() {
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onFullScreen(session: GeckoSession, fullScreen: Boolean) {
|
||||
assertThat("Div left fullscreen", fullScreen, equalTo(false))
|
||||
|
@ -190,14 +192,14 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
val surface = Surface(texture)
|
||||
display.surfaceChanged(surface, 100, 100)
|
||||
mainSession.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onFirstComposite(session: GeckoSession) {
|
||||
}
|
||||
})
|
||||
display.surfaceDestroyed()
|
||||
display.surfaceChanged(surface, 100, 100)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onFirstComposite(session: GeckoSession) {
|
||||
}
|
||||
|
@ -209,7 +211,7 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
@WithDisplay(width = 10, height = 10)
|
||||
@Test fun firstContentfulPaint() {
|
||||
mainSession.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onFirstContentfulPaint(session: GeckoSession) {
|
||||
}
|
||||
|
@ -242,7 +244,7 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
|
||||
@Test fun webAppManifest() {
|
||||
mainSession.loadTestPath(HELLO_HTML_PATH)
|
||||
mainSession.waitUntilCalled(object : Callbacks.All {
|
||||
mainSession.waitUntilCalled(object : ContentDelegate, ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
assertThat("Page load should succeed", success, equalTo(true))
|
||||
|
@ -273,7 +275,7 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
|
||||
@Test fun viewportFit() {
|
||||
mainSession.loadTestPath(VIEWPORT_PATH)
|
||||
mainSession.waitUntilCalled(object : Callbacks.All {
|
||||
mainSession.waitUntilCalled(object : ContentDelegate, ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
assertThat("Page load should succeed", success, equalTo(true))
|
||||
|
@ -286,7 +288,7 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
})
|
||||
|
||||
mainSession.loadTestPath(HELLO_HTML_PATH)
|
||||
mainSession.waitUntilCalled(object : Callbacks.All {
|
||||
mainSession.waitUntilCalled(object : ContentDelegate, ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
assertThat("Page load should succeed", success, equalTo(true))
|
||||
|
@ -308,7 +310,7 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
mainSession.waitForPageStop()
|
||||
|
||||
mainSession.evaluateJS("window.close()")
|
||||
mainSession.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
mainSession.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onCloseRequest(session: GeckoSession) {
|
||||
}
|
||||
|
@ -322,7 +324,7 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
mainSession.waitForPageStop()
|
||||
|
||||
val newSession = sessionRule.createClosedSession()
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.NavigationDelegate {
|
||||
mainSession.delegateDuringNextWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onNewSession(session: GeckoSession, uri: String): GeckoResult<GeckoSession>? {
|
||||
return GeckoResult.fromValue(newSession)
|
||||
|
@ -331,7 +333,7 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
|
||||
mainSession.evaluateJS("const w = window.open('about:blank'); w.close()")
|
||||
|
||||
newSession.waitUntilCalled(object : Callbacks.All {
|
||||
newSession.waitUntilCalled(object : ContentDelegate, ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onCloseRequest(session: GeckoSession) {
|
||||
}
|
||||
|
@ -358,11 +360,11 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
/**
|
||||
* With no delegate set, the default behaviour is to stop hung scripts.
|
||||
*/
|
||||
@NullDelegate(GeckoSession.ContentDelegate::class)
|
||||
@NullDelegate(ContentDelegate::class)
|
||||
@Test fun stopHungProcessDefault() {
|
||||
setHangReportTestPrefs()
|
||||
mainSession.loadTestPath(HUNG_SCRIPT)
|
||||
sessionRule.delegateUntilTestEnd(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
assertThat("The script did not complete.",
|
||||
|
@ -379,7 +381,7 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
*/
|
||||
@Test fun stopHungProcessNull() {
|
||||
setHangReportTestPrefs()
|
||||
sessionRule.delegateUntilTestEnd(object : GeckoSession.ContentDelegate, Callbacks.ProgressDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : ContentDelegate, ProgressDelegate {
|
||||
// default onSlowScript returns null
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
|
@ -398,7 +400,7 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
@Test fun stopHungProcessDoNothing() {
|
||||
setHangReportTestPrefs()
|
||||
var scriptHungReportCount = 0
|
||||
sessionRule.delegateUntilTestEnd(object : GeckoSession.ContentDelegate, Callbacks.ProgressDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : ContentDelegate, ProgressDelegate {
|
||||
@AssertCalled()
|
||||
override fun onSlowScript(geckoSession: GeckoSession, scriptFileName: String): GeckoResult<SlowScriptResponse> {
|
||||
scriptHungReportCount += 1;
|
||||
|
@ -421,7 +423,7 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
*/
|
||||
@Test fun stopHungProcess() {
|
||||
setHangReportTestPrefs()
|
||||
sessionRule.delegateUntilTestEnd(object : GeckoSession.ContentDelegate, Callbacks.ProgressDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : ContentDelegate, ProgressDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onSlowScript(geckoSession: GeckoSession, scriptFileName: String): GeckoResult<SlowScriptResponse> {
|
||||
return GeckoResult.fromValue(SlowScriptResponse.STOP)
|
||||
|
@ -442,7 +444,7 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
*/
|
||||
@Test fun stopHungProcessWait() {
|
||||
setHangReportTestPrefs()
|
||||
sessionRule.delegateUntilTestEnd(object : GeckoSession.ContentDelegate, Callbacks.ProgressDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : ContentDelegate, ProgressDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onSlowScript(geckoSession: GeckoSession, scriptFileName: String): GeckoResult<SlowScriptResponse> {
|
||||
return GeckoResult.fromValue(SlowScriptResponse.CONTINUE)
|
||||
|
@ -464,7 +466,7 @@ class ContentDelegateTest : BaseSessionTest() {
|
|||
@Test fun stopHungProcessWaitThenStop() {
|
||||
setHangReportTestPrefs(500)
|
||||
var scriptWaited = false
|
||||
sessionRule.delegateUntilTestEnd(object : GeckoSession.ContentDelegate, Callbacks.ProgressDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : ContentDelegate, ProgressDelegate {
|
||||
@AssertCalled(count = 2, order = [1, 2])
|
||||
override fun onSlowScript(geckoSession: GeckoSession, scriptFileName: String): GeckoResult<SlowScriptResponse> {
|
||||
return if (!scriptWaited) {
|
||||
|
|
|
@ -11,12 +11,12 @@ import androidx.test.ext.junit.runners.AndroidJUnit4
|
|||
import android.util.Base64
|
||||
import java.io.ByteArrayOutputStream
|
||||
import org.hamcrest.Matchers.*
|
||||
import org.junit.Assert.fail
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.mozilla.geckoview.GeckoResult
|
||||
import org.mozilla.geckoview.GeckoSession
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
import org.mozilla.geckoview.GeckoSession.ContentDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.ScrollDelegate
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.AssertCalled
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.WithDisplay
|
||||
import org.hamcrest.Matchers.closeTo
|
||||
|
@ -326,7 +326,7 @@ class DynamicToolbarTest : BaseSessionTest() {
|
|||
mainSession.loadTestPath(SHOW_DYNAMIC_TOOLBAR_HTML_PATH)
|
||||
mainSession.waitForPageStop()
|
||||
mainSession.evaluateJS("window.scrollTo(0, " + dynamicToolbarMaxHeight + ")")
|
||||
mainSession.waitUntilCalled(object : Callbacks.ScrollDelegate {
|
||||
mainSession.waitUntilCalled(object : ScrollDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onScrollChanged(session: GeckoSession, scrollX: Int, scrollY: Int) {
|
||||
}
|
||||
|
@ -337,7 +337,7 @@ class DynamicToolbarTest : BaseSessionTest() {
|
|||
|
||||
mainSession.synthesizeTap(5, 25)
|
||||
|
||||
mainSession.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
mainSession.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onShowDynamicToolbar(session: GeckoSession) {
|
||||
}
|
||||
|
|
|
@ -8,9 +8,15 @@ import android.os.Handler
|
|||
import android.os.Looper
|
||||
import org.mozilla.geckoview.GeckoResult
|
||||
import org.mozilla.geckoview.GeckoSession
|
||||
import org.mozilla.geckoview.GeckoSession.SessionState
|
||||
import org.mozilla.geckoview.GeckoSession.ContentDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.NavigationDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.ScrollDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.PromptDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.ProgressDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.HistoryDelegate
|
||||
import org.mozilla.geckoview.GeckoSessionSettings
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.*
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
import org.mozilla.geckoview.test.util.UiThreadUtils
|
||||
|
||||
import androidx.test.filters.MediumTest
|
||||
|
@ -66,32 +72,22 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
@TimeoutMillis(2000)
|
||||
fun noPendingCallbacks() {
|
||||
// Make sure we don't have unexpected pending callbacks at the start of a test.
|
||||
sessionRule.waitUntilCalled(object : Callbacks.All {
|
||||
sessionRule.waitUntilCalled(object : ProgressDelegate, HistoryDelegate {
|
||||
// There may be extraneous onSessionStateChange and onHistoryStateChange calls
|
||||
// after a test, so ignore the first received.
|
||||
@AssertCalled(count = 2)
|
||||
override fun onSessionStateChange(session: GeckoSession, state: GeckoSession.SessionState) {
|
||||
override fun onSessionStateChange(session: GeckoSession, state: SessionState) {
|
||||
}
|
||||
|
||||
@AssertCalled(count = 2)
|
||||
override fun onHistoryStateChange(session: GeckoSession, historyList: GeckoSession.HistoryDelegate.HistoryList) {
|
||||
override fun onHistoryStateChange(session: GeckoSession, historyList: HistoryDelegate.HistoryList) {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@Test fun includesAllCallbacks() {
|
||||
for (ifce in GeckoSession::class.java.classes) {
|
||||
if (!ifce.isInterface || !ifce.simpleName.endsWith("Delegate")) {
|
||||
continue
|
||||
}
|
||||
assertThat("Callbacks.All should include interface " + ifce.simpleName,
|
||||
ifce.isInstance(Callbacks.Default), equalTo(true))
|
||||
}
|
||||
}
|
||||
|
||||
@NullDelegate.List(NullDelegate(GeckoSession.ContentDelegate::class),
|
||||
NullDelegate(Callbacks.NavigationDelegate::class))
|
||||
@NullDelegate(Callbacks.ScrollDelegate::class)
|
||||
@NullDelegate.List(NullDelegate(ContentDelegate::class),
|
||||
NullDelegate(NavigationDelegate::class))
|
||||
@NullDelegate(ScrollDelegate::class)
|
||||
@Test fun nullDelegate() {
|
||||
assertThat("Content delegate should be null",
|
||||
sessionRule.session.contentDelegate, nullValue())
|
||||
|
@ -104,7 +100,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
sessionRule.session.progressDelegate, notNullValue())
|
||||
}
|
||||
|
||||
@NullDelegate(GeckoSession.ProgressDelegate::class)
|
||||
@NullDelegate(ProgressDelegate::class)
|
||||
@ClosedSessionAtStart
|
||||
@Test fun nullDelegate_closed() {
|
||||
assertThat("Progress delegate should be null",
|
||||
|
@ -112,7 +108,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
}
|
||||
|
||||
@Test(expected = AssertionError::class)
|
||||
@NullDelegate(GeckoSession.ProgressDelegate::class)
|
||||
@NullDelegate(ProgressDelegate::class)
|
||||
@ClosedSessionAtStart
|
||||
fun nullDelegate_requireProgressOnOpen() {
|
||||
assertThat("Progress delegate should be null",
|
||||
|
@ -127,7 +123,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
|
||||
var counter = 0
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
counter++
|
||||
}
|
||||
|
@ -136,13 +132,6 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
assertThat("Callback count should be correct", counter, equalTo(1))
|
||||
}
|
||||
|
||||
@Test(expected = AssertionError::class)
|
||||
fun waitForPageStop_throwOnChangedCallback() {
|
||||
sessionRule.session.progressDelegate = Callbacks.Default
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
}
|
||||
|
||||
@Test fun waitForPageStops() {
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.session.reload()
|
||||
|
@ -150,7 +139,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
|
||||
var counter = 0
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
counter++
|
||||
}
|
||||
|
@ -160,7 +149,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
}
|
||||
|
||||
@Test(expected = AssertionError::class)
|
||||
@NullDelegate(GeckoSession.ProgressDelegate::class)
|
||||
@NullDelegate(ProgressDelegate::class)
|
||||
@ClosedSessionAtStart
|
||||
fun waitForPageStops_throwOnNullDelegate() {
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
|
@ -175,11 +164,11 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
// TODO: Bug 1673953
|
||||
assumeThat(sessionRule.env.isFission, equalTo(false))
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(GeckoSession.ProgressDelegate::class)
|
||||
sessionRule.waitUntilCalled(ProgressDelegate::class)
|
||||
|
||||
var counter = 0
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
counter++
|
||||
}
|
||||
|
@ -189,7 +178,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
}
|
||||
|
||||
override fun onSecurityChange(session: GeckoSession,
|
||||
securityInfo: GeckoSession.ProgressDelegate.SecurityInformation) {
|
||||
securityInfo: ProgressDelegate.SecurityInformation) {
|
||||
counter++
|
||||
}
|
||||
|
||||
|
@ -197,7 +186,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
counter++
|
||||
}
|
||||
|
||||
override fun onSessionStateChange(session: GeckoSession, state: GeckoSession.SessionState) {
|
||||
override fun onSessionStateChange(session: GeckoSession, state: SessionState) {
|
||||
counter++
|
||||
}
|
||||
})
|
||||
|
@ -207,12 +196,12 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
|
||||
@Test fun waitUntilCalled_specificInterfaceMethod() {
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(GeckoSession.ProgressDelegate::class,
|
||||
sessionRule.waitUntilCalled(ProgressDelegate::class,
|
||||
"onPageStart", "onPageStop")
|
||||
|
||||
var counter = 0
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
counter++
|
||||
}
|
||||
|
@ -233,26 +222,16 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
|
||||
fun waitUntilCalled_notThrowOnCallbackInterface() {
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(Callbacks.ProgressDelegate::class)
|
||||
sessionRule.waitUntilCalled(ProgressDelegate::class)
|
||||
}
|
||||
|
||||
@Test(expected = AssertionError::class)
|
||||
@NullDelegate(GeckoSession.ScrollDelegate::class)
|
||||
fun waitUntilCalled_throwOnNullDelegateInterface() {
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.session.reload()
|
||||
sessionRule.session.waitUntilCalled(Callbacks.All::class)
|
||||
}
|
||||
|
||||
@NullDelegate(GeckoSession.ScrollDelegate::class)
|
||||
@NullDelegate(ScrollDelegate::class)
|
||||
@Test fun waitUntilCalled_notThrowOnNonNullDelegateMethod() {
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.session.reload()
|
||||
sessionRule.session.waitUntilCalled(Callbacks.All::class, "onPageStop")
|
||||
sessionRule.session.waitUntilCalled(ProgressDelegate::class, "onPageStop")
|
||||
}
|
||||
|
||||
@Test fun waitUntilCalled_anyObjectMethod() {
|
||||
|
@ -262,7 +241,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
|
||||
var counter = 0
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.waitUntilCalled(object : ProgressDelegate {
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
counter++
|
||||
}
|
||||
|
@ -272,7 +251,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
}
|
||||
|
||||
override fun onSecurityChange(session: GeckoSession,
|
||||
securityInfo: GeckoSession.ProgressDelegate.SecurityInformation) {
|
||||
securityInfo: ProgressDelegate.SecurityInformation) {
|
||||
counter++
|
||||
}
|
||||
|
||||
|
@ -280,7 +259,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
counter++
|
||||
}
|
||||
|
||||
override fun onSessionStateChange(session: GeckoSession, state: GeckoSession.SessionState) {
|
||||
override fun onSessionStateChange(session: GeckoSession, state: SessionState) {
|
||||
counter++
|
||||
}
|
||||
})
|
||||
|
@ -293,7 +272,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
|
||||
var counter = 0
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.waitUntilCalled(object : ProgressDelegate {
|
||||
@AssertCalled
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
counter++
|
||||
|
@ -309,26 +288,26 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
}
|
||||
|
||||
@Test(expected = AssertionError::class)
|
||||
@NullDelegate(GeckoSession.ScrollDelegate::class)
|
||||
@NullDelegate(ScrollDelegate::class)
|
||||
fun waitUntilCalled_throwOnNullDelegateObject() {
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.session.reload()
|
||||
sessionRule.session.waitUntilCalled(object : Callbacks.All {
|
||||
sessionRule.session.waitUntilCalled(object : ScrollDelegate {
|
||||
@AssertCalled
|
||||
override fun onScrollChanged(session: GeckoSession, scrollX: Int, scrollY: Int) {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@NullDelegate(GeckoSession.ScrollDelegate::class)
|
||||
@NullDelegate(ScrollDelegate::class)
|
||||
@Test fun waitUntilCalled_notThrowOnNonNullDelegateObject() {
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.session.reload()
|
||||
sessionRule.session.waitUntilCalled(object : Callbacks.All {
|
||||
sessionRule.session.waitUntilCalled(object : ProgressDelegate {
|
||||
@AssertCalled
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
}
|
||||
|
@ -341,7 +320,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
|
||||
var counter = 0
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.waitUntilCalled(object : ProgressDelegate {
|
||||
@AssertCalled(count = 2)
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
counter++
|
||||
|
@ -362,7 +341,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
|
||||
var counter = 0
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.waitUntilCalled(object : ProgressDelegate {
|
||||
@AssertCalled(count = 2, order = [1, 2])
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
val info = sessionRule.currentCall
|
||||
|
@ -381,7 +360,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
@Test(expected = IllegalStateException::class)
|
||||
fun waitUntilCalled_passThroughExceptions() {
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.waitUntilCalled(object : ProgressDelegate {
|
||||
@AssertCalled
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
throw IllegalStateException()
|
||||
|
@ -392,7 +371,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
@Test fun waitUntilCalled_zeroCount() {
|
||||
// Support having @AssertCalled(count = 0) annotations for waitUntilCalled calls.
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ProgressDelegate, Callbacks.ScrollDelegate {
|
||||
sessionRule.waitUntilCalled(object : ProgressDelegate, ScrollDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
}
|
||||
|
@ -411,7 +390,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
|
||||
var counter = 0
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
counter++
|
||||
}
|
||||
|
@ -425,7 +404,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : GeckoSession.ScrollDelegate {})
|
||||
sessionRule.forCallbacksDuringWait(object : ScrollDelegate {})
|
||||
}
|
||||
|
||||
@Test fun forCallbacksDuringWait_specificMethod() {
|
||||
|
@ -434,7 +413,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
|
||||
var counter = 0
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
counter++
|
||||
|
@ -456,7 +435,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
|
||||
var counter = 0
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
counter++
|
||||
|
@ -476,7 +455,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : GeckoSession.ScrollDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ScrollDelegate {
|
||||
@AssertCalled
|
||||
override fun onScrollChanged(session: GeckoSession, scrollX: Int, scrollY: Int) {
|
||||
}
|
||||
|
@ -490,7 +469,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
|
||||
var counter = 0
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 2)
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
counter++
|
||||
|
@ -511,7 +490,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
sessionRule.session.reload()
|
||||
sessionRule.waitForPageStops(2)
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
}
|
||||
|
@ -526,7 +505,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(order = [1])
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
}
|
||||
|
@ -542,7 +521,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(order = [2])
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
}
|
||||
|
@ -558,7 +537,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
sessionRule.session.reload()
|
||||
sessionRule.waitForPageStops(2)
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(order = [1, 3, 1])
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
}
|
||||
|
@ -575,7 +554,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
sessionRule.session.reload()
|
||||
sessionRule.waitForPageStops(2)
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(order = [1, 2, 1])
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
}
|
||||
|
@ -590,7 +569,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : GeckoSession.ScrollDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ScrollDelegate {
|
||||
@AssertCalled(false)
|
||||
override fun onScrollChanged(session: GeckoSession, scrollX: Int, scrollY: Int) {
|
||||
}
|
||||
|
@ -602,7 +581,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(false)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
}
|
||||
|
@ -613,7 +592,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : GeckoSession.ScrollDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ScrollDelegate {
|
||||
@AssertCalled(count = 0)
|
||||
override fun onScrollChanged(session: GeckoSession, scrollX: Int, scrollY: Int) {
|
||||
}
|
||||
|
@ -625,7 +604,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 0)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
}
|
||||
|
@ -647,7 +626,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
var counter = 0
|
||||
|
||||
// assert should only apply to callbacks within range (loadUri, first reload].
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
counter++
|
||||
|
@ -666,7 +645,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
val info = sessionRule.currentCall
|
||||
|
@ -684,7 +663,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
throw IllegalStateException()
|
||||
|
@ -693,39 +672,39 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
}
|
||||
|
||||
@Test(expected = AssertionError::class)
|
||||
@NullDelegate(GeckoSession.ScrollDelegate::class)
|
||||
@NullDelegate(ScrollDelegate::class)
|
||||
fun forCallbacksDuringWait_throwOnAnyNullDelegate() {
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
sessionRule.session.reload()
|
||||
sessionRule.session.waitForPageStop()
|
||||
|
||||
sessionRule.session.forCallbacksDuringWait(object : Callbacks.All {})
|
||||
sessionRule.session.forCallbacksDuringWait(object : NavigationDelegate, ScrollDelegate {})
|
||||
}
|
||||
|
||||
@Test(expected = AssertionError::class)
|
||||
@NullDelegate(GeckoSession.ScrollDelegate::class)
|
||||
@NullDelegate(ScrollDelegate::class)
|
||||
fun forCallbacksDuringWait_throwOnSpecificNullDelegate() {
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
sessionRule.session.reload()
|
||||
sessionRule.session.waitForPageStop()
|
||||
|
||||
sessionRule.session.forCallbacksDuringWait(object : Callbacks.All {
|
||||
sessionRule.session.forCallbacksDuringWait(object : ScrollDelegate {
|
||||
@AssertCalled
|
||||
override fun onScrollChanged(session: GeckoSession, scrollX: Int, scrollY: Int) {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@NullDelegate(GeckoSession.ScrollDelegate::class)
|
||||
@NullDelegate(ScrollDelegate::class)
|
||||
@Test fun forCallbacksDuringWait_notThrowOnNonNullDelegate() {
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
sessionRule.session.reload()
|
||||
sessionRule.session.waitForPageStop()
|
||||
|
||||
sessionRule.session.forCallbacksDuringWait(object : Callbacks.All {
|
||||
sessionRule.session.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
}
|
||||
|
@ -740,7 +719,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
@Test fun delegateUntilTestEnd() {
|
||||
var counter = 0
|
||||
|
||||
sessionRule.delegateUntilTestEnd(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
counter++
|
||||
|
@ -759,7 +738,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
}
|
||||
|
||||
@Test fun delegateUntilTestEnd_notCalled() {
|
||||
sessionRule.delegateUntilTestEnd(object : GeckoSession.ScrollDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : ScrollDelegate {
|
||||
@AssertCalled(false)
|
||||
override fun onScrollChanged(session: GeckoSession, scrollX: Int, scrollY: Int) {
|
||||
}
|
||||
|
@ -768,7 +747,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
|
||||
@Test(expected = AssertionError::class)
|
||||
fun delegateUntilTestEnd_throwOnNotCalled() {
|
||||
sessionRule.delegateUntilTestEnd(object : GeckoSession.ScrollDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : ScrollDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onScrollChanged(session: GeckoSession, scrollX: Int, scrollY: Int) {
|
||||
}
|
||||
|
@ -778,7 +757,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
|
||||
@Test(expected = AssertionError::class)
|
||||
fun delegateUntilTestEnd_throwOnCallingNoCall() {
|
||||
sessionRule.delegateUntilTestEnd(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : ProgressDelegate {
|
||||
@AssertCalled(false)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
}
|
||||
|
@ -790,7 +769,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
|
||||
@Test(expected = AssertionError::class)
|
||||
fun delegateUntilTestEnd_throwOnWrongOrder() {
|
||||
sessionRule.delegateUntilTestEnd(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1, order = [2])
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
}
|
||||
|
@ -805,7 +784,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
}
|
||||
|
||||
@Test fun delegateUntilTestEnd_currentCall() {
|
||||
sessionRule.delegateUntilTestEnd(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
val info = sessionRule.currentCall
|
||||
|
@ -826,7 +805,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
sessionRule.waitForPageStop()
|
||||
var counter = 0
|
||||
|
||||
sessionRule.delegateDuringNextWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
counter++
|
||||
|
@ -851,7 +830,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
|
||||
@Test(expected = AssertionError::class)
|
||||
fun delegateDuringNextWait_throwOnNotCalled() {
|
||||
sessionRule.delegateDuringNextWait(object : GeckoSession.ScrollDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : ScrollDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onScrollChanged(session: GeckoSession, scrollX: Int, scrollY: Int) {
|
||||
}
|
||||
|
@ -862,7 +841,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
|
||||
@Test(expected = AssertionError::class)
|
||||
fun delegateDuringNextWait_throwOnNotCalledAtTestEnd() {
|
||||
sessionRule.delegateDuringNextWait(object : GeckoSession.ScrollDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : ScrollDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onScrollChanged(session: GeckoSession, scrollX: Int, scrollY: Int) {
|
||||
}
|
||||
|
@ -874,8 +853,8 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
var testCounter = 0
|
||||
var waitCounter = 0
|
||||
|
||||
sessionRule.delegateUntilTestEnd(object : Callbacks.ProgressDelegate,
|
||||
Callbacks.NavigationDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : ProgressDelegate,
|
||||
NavigationDelegate {
|
||||
@AssertCalled(count = 1, order = [2])
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
testCounter++
|
||||
|
@ -897,7 +876,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
}
|
||||
})
|
||||
|
||||
sessionRule.delegateDuringNextWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
waitCounter++
|
||||
|
@ -925,7 +904,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
|
||||
@Test(expected = IllegalStateException::class)
|
||||
fun delegateDuringNextWait_passThroughExceptions() {
|
||||
sessionRule.delegateDuringNextWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : ProgressDelegate {
|
||||
@AssertCalled
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
throw IllegalStateException()
|
||||
|
@ -937,9 +916,9 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
}
|
||||
|
||||
@Test(expected = AssertionError::class)
|
||||
@NullDelegate(GeckoSession.NavigationDelegate::class)
|
||||
@NullDelegate(NavigationDelegate::class)
|
||||
fun delegateDuringNextWait_throwOnNullDelegate() {
|
||||
sessionRule.session.delegateDuringNextWait(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.session.delegateDuringNextWait(object : NavigationDelegate {
|
||||
override fun onLocationChange(session: GeckoSession, url: String?) {
|
||||
}
|
||||
})
|
||||
|
@ -980,13 +959,13 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStops(2)
|
||||
|
||||
newSession.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
newSession.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(false)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
}
|
||||
})
|
||||
|
||||
sessionRule.session.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.session.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 2)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
}
|
||||
|
@ -1014,15 +993,15 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
fun noPendingCallbacks_withSpecificSession() {
|
||||
sessionRule.createOpenSession()
|
||||
// Make sure we don't have unexpected pending callbacks after opening a session.
|
||||
sessionRule.waitUntilCalled(object : Callbacks.All {
|
||||
sessionRule.waitUntilCalled(object : HistoryDelegate, ProgressDelegate {
|
||||
// There may be extraneous onSessionStateChange and onHistoryStateChange calls
|
||||
// after a test, so ignore the first received.
|
||||
@AssertCalled(count = 2)
|
||||
override fun onSessionStateChange(session: GeckoSession, state: GeckoSession.SessionState) {
|
||||
override fun onSessionStateChange(session: GeckoSession, state: SessionState) {
|
||||
}
|
||||
|
||||
@AssertCalled(count = 2)
|
||||
override fun onHistoryStateChange(session: GeckoSession, historyList: GeckoSession.HistoryDelegate.HistoryList) {
|
||||
override fun onHistoryStateChange(session: GeckoSession, historyList: HistoryDelegate.HistoryList) {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
@ -1072,19 +1051,19 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
@Test fun waitUntilCalled_interfaceWithSpecificSession() {
|
||||
val newSession = sessionRule.createOpenSession()
|
||||
newSession.loadTestPath(HELLO_HTML_PATH)
|
||||
newSession.waitUntilCalled(Callbacks.ProgressDelegate::class, "onPageStop")
|
||||
newSession.waitUntilCalled(ProgressDelegate::class, "onPageStop")
|
||||
}
|
||||
|
||||
@Test fun waitUntilCalled_interfaceWithAllSessions() {
|
||||
val newSession = sessionRule.createOpenSession()
|
||||
newSession.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(Callbacks.ProgressDelegate::class, "onPageStop")
|
||||
sessionRule.waitUntilCalled(ProgressDelegate::class, "onPageStop")
|
||||
}
|
||||
|
||||
@Test fun waitUntilCalled_callbackWithSpecificSession() {
|
||||
val newSession = sessionRule.createOpenSession()
|
||||
newSession.loadTestPath(HELLO_HTML_PATH)
|
||||
newSession.waitUntilCalled(object : Callbacks.ProgressDelegate {
|
||||
newSession.waitUntilCalled(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
}
|
||||
|
@ -1095,7 +1074,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
val newSession = sessionRule.createOpenSession()
|
||||
newSession.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.waitUntilCalled(object : ProgressDelegate {
|
||||
@AssertCalled(count = 2)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
}
|
||||
|
@ -1109,14 +1088,14 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
|
||||
var counter = 0
|
||||
|
||||
newSession.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
newSession.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
counter++
|
||||
}
|
||||
})
|
||||
|
||||
sessionRule.session.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.session.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(false)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
counter++
|
||||
|
@ -1134,7 +1113,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
|
||||
var counter = 0
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 2)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
counter++
|
||||
|
@ -1156,21 +1135,21 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
// forCallbacksDuringWait calls strictly apply to the last wait, session-specific or not.
|
||||
var counter = 0
|
||||
|
||||
sessionRule.session.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.session.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(false)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
counter++
|
||||
}
|
||||
})
|
||||
|
||||
newSession.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
newSession.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
counter++
|
||||
}
|
||||
})
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
counter++
|
||||
|
@ -1185,14 +1164,14 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
|
||||
var counter = 0
|
||||
|
||||
newSession.delegateUntilTestEnd(object : Callbacks.ProgressDelegate {
|
||||
newSession.delegateUntilTestEnd(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
counter++
|
||||
}
|
||||
})
|
||||
|
||||
sessionRule.session.delegateUntilTestEnd(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.session.delegateUntilTestEnd(object : ProgressDelegate {
|
||||
@AssertCalled(false)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
counter++
|
||||
|
@ -1208,7 +1187,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
@Test fun delegateUntilTestEnd_withAllSessions() {
|
||||
var counter = 0
|
||||
|
||||
sessionRule.delegateUntilTestEnd(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
counter++
|
||||
|
@ -1226,14 +1205,14 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
val newSession = sessionRule.createOpenSession()
|
||||
var counter = 0
|
||||
|
||||
newSession.delegateDuringNextWait(object : Callbacks.ProgressDelegate {
|
||||
newSession.delegateDuringNextWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
counter++
|
||||
}
|
||||
})
|
||||
|
||||
newSession.delegateUntilTestEnd(object : Callbacks.ProgressDelegate {
|
||||
newSession.delegateUntilTestEnd(object : ProgressDelegate {
|
||||
@AssertCalled(false)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
counter++
|
||||
|
@ -1251,14 +1230,14 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
val newSession = sessionRule.createOpenSession()
|
||||
var counter = 0
|
||||
|
||||
newSession.delegateDuringNextWait(object : Callbacks.ProgressDelegate {
|
||||
newSession.delegateDuringNextWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
counter++
|
||||
}
|
||||
})
|
||||
|
||||
sessionRule.delegateDuringNextWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
counter++
|
||||
|
@ -1416,10 +1395,10 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
fun evaluateJS_canTimeout() {
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.session.waitForPageStop()
|
||||
sessionRule.session.delegateUntilTestEnd(object : Callbacks.PromptDelegate {
|
||||
override fun onAlertPrompt(session: GeckoSession, prompt: GeckoSession.PromptDelegate.AlertPrompt): GeckoResult<GeckoSession.PromptDelegate.PromptResponse> {
|
||||
sessionRule.session.delegateUntilTestEnd(object : PromptDelegate {
|
||||
override fun onAlertPrompt(session: GeckoSession, prompt: PromptDelegate.AlertPrompt): GeckoResult<PromptDelegate.PromptResponse> {
|
||||
// Return a GeckoResult that we will never complete, so it hangs.
|
||||
val res = GeckoResult<GeckoSession.PromptDelegate.PromptResponse>()
|
||||
val res = GeckoResult<PromptDelegate.PromptResponse>()
|
||||
return res
|
||||
}
|
||||
})
|
||||
|
@ -1558,9 +1537,9 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
sessionRule.session.waitForJS("alert(), 'foo'") as String,
|
||||
equalTo("foo"))
|
||||
|
||||
sessionRule.session.forCallbacksDuringWait(object : Callbacks.PromptDelegate {
|
||||
sessionRule.session.forCallbacksDuringWait(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onAlertPrompt(session: GeckoSession, prompt: GeckoSession.PromptDelegate.AlertPrompt): GeckoResult<GeckoSession.PromptDelegate.PromptResponse>? {
|
||||
override fun onAlertPrompt(session: GeckoSession, prompt: PromptDelegate.AlertPrompt): GeckoResult<PromptDelegate.PromptResponse>? {
|
||||
return null;
|
||||
}
|
||||
})
|
||||
|
@ -1579,8 +1558,8 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
sessionRule.waitForPageStop()
|
||||
|
||||
var count = 0
|
||||
sessionRule.session.delegateDuringNextWait(object : Callbacks.PromptDelegate {
|
||||
override fun onAlertPrompt(session: GeckoSession, prompt: GeckoSession.PromptDelegate.AlertPrompt): GeckoResult<GeckoSession.PromptDelegate.PromptResponse> {
|
||||
sessionRule.session.delegateDuringNextWait(object : PromptDelegate {
|
||||
override fun onAlertPrompt(session: GeckoSession, prompt: PromptDelegate.AlertPrompt): GeckoResult<PromptDelegate.PromptResponse> {
|
||||
count++
|
||||
return GeckoResult.fromValue(prompt.dismiss())
|
||||
}
|
||||
|
@ -1696,7 +1675,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
|||
assumeThat(sessionRule.env.isIsolatedProcess, equalTo(false))
|
||||
|
||||
mainSession.loadUri(CONTENT_CRASH_URL)
|
||||
mainSession.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
mainSession.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onCrash(session: GeckoSession) = Unit
|
||||
})
|
||||
|
|
|
@ -6,6 +6,7 @@ package org.mozilla.geckoview.test
|
|||
|
||||
import org.mozilla.geckoview.GeckoResult
|
||||
import org.mozilla.geckoview.GeckoSession
|
||||
import org.mozilla.geckoview.GeckoSession.HistoryDelegate
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.AssertCalled
|
||||
|
||||
|
||||
|
@ -15,7 +16,6 @@ import org.hamcrest.Matchers.*
|
|||
import org.junit.Assume.assumeThat
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
import org.junit.Ignore
|
||||
import org.mozilla.geckoview.test.util.UiThreadUtils
|
||||
|
||||
|
@ -99,7 +99,7 @@ class HistoryDelegateTest : BaseSessionTest() {
|
|||
@Test fun onHistoryStateChange() {
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.HistoryDelegate {
|
||||
sessionRule.waitUntilCalled(object : HistoryDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onHistoryStateChange(session: GeckoSession, state: GeckoSession.HistoryDelegate.HistoryList) {
|
||||
assertThat("History should have one entry", state.size,
|
||||
|
@ -113,7 +113,7 @@ class HistoryDelegateTest : BaseSessionTest() {
|
|||
|
||||
sessionRule.session.loadTestPath(HELLO2_HTML_PATH)
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.HistoryDelegate {
|
||||
sessionRule.waitUntilCalled(object : HistoryDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onHistoryStateChange(session: GeckoSession, state: GeckoSession.HistoryDelegate.HistoryList) {
|
||||
assertThat("History should have two entries", state.size,
|
||||
|
@ -127,7 +127,7 @@ class HistoryDelegateTest : BaseSessionTest() {
|
|||
|
||||
sessionRule.session.goBack()
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.HistoryDelegate {
|
||||
sessionRule.waitUntilCalled(object : HistoryDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onHistoryStateChange(session: GeckoSession, state: GeckoSession.HistoryDelegate.HistoryList) {
|
||||
assertThat("History should have two entries", state.size,
|
||||
|
@ -141,7 +141,7 @@ class HistoryDelegateTest : BaseSessionTest() {
|
|||
|
||||
sessionRule.session.goForward()
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.HistoryDelegate {
|
||||
sessionRule.waitUntilCalled(object : HistoryDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onHistoryStateChange(session: GeckoSession, state: GeckoSession.HistoryDelegate.HistoryList) {
|
||||
assertThat("History should have two entries", state.size,
|
||||
|
@ -155,7 +155,7 @@ class HistoryDelegateTest : BaseSessionTest() {
|
|||
|
||||
sessionRule.session.gotoHistoryIndex(0)
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.HistoryDelegate {
|
||||
sessionRule.waitUntilCalled(object : HistoryDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onHistoryStateChange(session: GeckoSession, state: GeckoSession.HistoryDelegate.HistoryList) {
|
||||
assertThat("History should have two entries", state.size,
|
||||
|
@ -169,7 +169,7 @@ class HistoryDelegateTest : BaseSessionTest() {
|
|||
|
||||
sessionRule.session.gotoHistoryIndex(1)
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.HistoryDelegate {
|
||||
sessionRule.waitUntilCalled(object : HistoryDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onHistoryStateChange(session: GeckoSession, state: GeckoSession.HistoryDelegate.HistoryList) {
|
||||
assertThat("History should have two entries", state.size,
|
||||
|
@ -189,7 +189,7 @@ class HistoryDelegateTest : BaseSessionTest() {
|
|||
// This is a smaller version of the above test, in the hopes to minimize race conditions
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.HistoryDelegate {
|
||||
sessionRule.waitUntilCalled(object : HistoryDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onHistoryStateChange(session: GeckoSession, state: GeckoSession.HistoryDelegate.HistoryList) {
|
||||
assertThat("History should have one entry", state.size,
|
||||
|
@ -203,7 +203,7 @@ class HistoryDelegateTest : BaseSessionTest() {
|
|||
|
||||
sessionRule.session.loadTestPath(HELLO2_HTML_PATH)
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.HistoryDelegate {
|
||||
sessionRule.waitUntilCalled(object : HistoryDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onHistoryStateChange(session: GeckoSession, state: GeckoSession.HistoryDelegate.HistoryList) {
|
||||
assertThat("History should have two entries", state.size,
|
||||
|
|
|
@ -6,21 +6,10 @@ package org.mozilla.geckoview.test
|
|||
|
||||
import androidx.test.filters.MediumTest
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import android.util.Log
|
||||
|
||||
import org.hamcrest.Matchers.*
|
||||
import org.json.JSONObject
|
||||
import org.junit.After
|
||||
import org.junit.Before
|
||||
import org.junit.Ignore
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.Assume.assumeThat
|
||||
import org.junit.Assume.assumeTrue
|
||||
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.AssertCalled
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
|
||||
import org.mozilla.geckoview.GeckoResult
|
||||
import org.mozilla.gecko.util.ImageResource
|
||||
|
|
|
@ -11,10 +11,10 @@ import org.junit.Test
|
|||
import org.junit.runner.RunWith
|
||||
import org.mozilla.geckoview.GeckoResult
|
||||
import org.mozilla.geckoview.GeckoSession
|
||||
import org.mozilla.geckoview.GeckoSession.ContentDelegate
|
||||
import org.mozilla.geckoview.PanZoomController
|
||||
import org.mozilla.geckoview.PanZoomController.InputResultDetail
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
@MediumTest
|
||||
|
@ -23,7 +23,7 @@ class InputResultDetailTest : BaseSessionTest() {
|
|||
|
||||
private fun setupDocument(documentPath: String) {
|
||||
sessionRule.session.loadTestPath(documentPath)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate {
|
||||
@GeckoSessionTestRule.AssertCalled(count = 1)
|
||||
override fun onFirstContentfulPaint(session: GeckoSession) {
|
||||
}
|
||||
|
|
|
@ -13,8 +13,9 @@ import org.junit.Test
|
|||
import org.junit.runner.RunWith
|
||||
import org.junit.Assume.assumeThat
|
||||
import org.mozilla.geckoview.GeckoSession
|
||||
import org.mozilla.geckoview.GeckoSession.MediaDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.PermissionDelegate
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
@MediumTest
|
||||
|
@ -23,7 +24,7 @@ class MediaDelegateTest : BaseSessionTest() {
|
|||
|
||||
private fun requestRecordingPermission(allowAudio: Boolean, allowCamera: Boolean) {
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.PermissionDelegate {
|
||||
mainSession.delegateDuringNextWait(object : PermissionDelegate {
|
||||
@GeckoSessionTestRule.AssertCalled(count = 1)
|
||||
override fun onMediaPermissionRequest(
|
||||
session: GeckoSession, uri: String,
|
||||
|
@ -55,7 +56,7 @@ class MediaDelegateTest : BaseSessionTest() {
|
|||
}
|
||||
})
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.MediaDelegate {
|
||||
mainSession.delegateDuringNextWait(object : MediaDelegate {
|
||||
@GeckoSessionTestRule.AssertCalled(count = 1)
|
||||
override fun onRecordingStatusChanged(session: GeckoSession,
|
||||
devices: Array<org.mozilla.geckoview.GeckoSession.MediaDelegate.RecordingDevice>) {
|
||||
|
|
|
@ -13,8 +13,9 @@ import org.junit.Test
|
|||
import org.junit.runner.RunWith
|
||||
import org.junit.Assume.assumeThat
|
||||
import org.mozilla.geckoview.GeckoSession
|
||||
import org.mozilla.geckoview.GeckoSession.MediaDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.PermissionDelegate
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
@MediumTest
|
||||
|
@ -23,7 +24,7 @@ class MediaDelegateXOriginTest : BaseSessionTest() {
|
|||
|
||||
private fun requestRecordingPermission(allowAudio: Boolean, allowCamera: Boolean) {
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.PermissionDelegate {
|
||||
mainSession.delegateDuringNextWait(object : PermissionDelegate {
|
||||
@GeckoSessionTestRule.AssertCalled(count = 1)
|
||||
override fun onMediaPermissionRequest(
|
||||
session: GeckoSession, uri: String,
|
||||
|
@ -55,7 +56,7 @@ class MediaDelegateXOriginTest : BaseSessionTest() {
|
|||
}
|
||||
})
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.MediaDelegate {
|
||||
mainSession.delegateDuringNextWait(object : MediaDelegate {
|
||||
@GeckoSessionTestRule.AssertCalled(count = 1)
|
||||
override fun onRecordingStatusChanged(session: GeckoSession,
|
||||
devices: Array<org.mozilla.geckoview.GeckoSession.MediaDelegate.RecordingDevice>) {
|
||||
|
@ -102,7 +103,7 @@ class MediaDelegateXOriginTest : BaseSessionTest() {
|
|||
|
||||
private fun requestRecordingPermissionNoAllow(allowAudio: Boolean, allowCamera: Boolean) {
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.PermissionDelegate {
|
||||
mainSession.delegateDuringNextWait(object : PermissionDelegate {
|
||||
@GeckoSessionTestRule.AssertCalled(count = 0)
|
||||
override fun onMediaPermissionRequest(
|
||||
session: GeckoSession, uri: String,
|
||||
|
@ -120,7 +121,7 @@ class MediaDelegateXOriginTest : BaseSessionTest() {
|
|||
}
|
||||
})
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.MediaDelegate {
|
||||
mainSession.delegateDuringNextWait(object : MediaDelegate {
|
||||
@GeckoSessionTestRule.AssertCalled(count = 0)
|
||||
override fun onRecordingStatusChanged(session: GeckoSession,
|
||||
devices: Array<org.mozilla.geckoview.GeckoSession.MediaDelegate.RecordingDevice>) {}
|
||||
|
|
|
@ -14,7 +14,6 @@ import org.junit.runner.RunWith
|
|||
import org.junit.Assume.assumeThat
|
||||
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.AssertCalled
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
|
||||
import org.mozilla.geckoview.GeckoResult
|
||||
import org.mozilla.geckoview.GeckoSession
|
||||
|
@ -164,7 +163,7 @@ class MediaSessionTest : BaseSessionTest() {
|
|||
// 1.
|
||||
session1.loadTestPath(path)
|
||||
|
||||
session1.delegateUntilTestEnd(object : Callbacks.MediaSessionDelegate {
|
||||
session1.delegateUntilTestEnd(object : MediaSession.Delegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onActivated(
|
||||
session: GeckoSession,
|
||||
|
@ -355,7 +354,7 @@ class MediaSessionTest : BaseSessionTest() {
|
|||
// 1.
|
||||
session1.loadTestPath(path)
|
||||
|
||||
session1.delegateUntilTestEnd(object : Callbacks.MediaSessionDelegate {
|
||||
session1.delegateUntilTestEnd(object : MediaSession.Delegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onActivated(
|
||||
session: GeckoSession,
|
||||
|
@ -490,7 +489,7 @@ class MediaSessionTest : BaseSessionTest() {
|
|||
var mediaSession1 : MediaSession? = null
|
||||
var mediaSession2 : MediaSession? = null
|
||||
|
||||
session1.delegateUntilTestEnd(object : Callbacks.MediaSessionDelegate {
|
||||
session1.delegateUntilTestEnd(object : MediaSession.Delegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onActivated(
|
||||
session: GeckoSession,
|
||||
|
@ -596,7 +595,7 @@ class MediaSessionTest : BaseSessionTest() {
|
|||
}
|
||||
})
|
||||
|
||||
session2.delegateUntilTestEnd(object : Callbacks.MediaSessionDelegate {
|
||||
session2.delegateUntilTestEnd(object : MediaSession.Delegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onActivated(
|
||||
session: GeckoSession,
|
||||
|
@ -725,7 +724,7 @@ class MediaSessionTest : BaseSessionTest() {
|
|||
val path = VIDEO_WEBM_PATH
|
||||
val session1 = sessionRule.createOpenSession()
|
||||
|
||||
session1.delegateUntilTestEnd(object : Callbacks.MediaSessionDelegate {
|
||||
session1.delegateUntilTestEnd(object : MediaSession.Delegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onActivated(
|
||||
session: GeckoSession,
|
||||
|
|
|
@ -19,11 +19,17 @@ import org.junit.Ignore
|
|||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.mozilla.geckoview.*
|
||||
import org.mozilla.geckoview.GeckoSession.*
|
||||
import org.mozilla.geckoview.GeckoSession
|
||||
import org.mozilla.geckoview.GeckoSession.ContentDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.HistoryDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.Loader
|
||||
import org.mozilla.geckoview.GeckoSession.NavigationDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.NavigationDelegate.LoadRequest
|
||||
import org.mozilla.geckoview.GeckoSession.PermissionDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.ProgressDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.TextInputDelegate
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.*
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
import org.mozilla.geckoview.test.util.UiThreadUtils
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
|
@ -51,7 +57,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
expectedError: Int,
|
||||
errorPageUrl: String?) {
|
||||
sessionRule.delegateDuringNextWait(
|
||||
object : Callbacks.ProgressDelegate, Callbacks.NavigationDelegate, Callbacks.ContentDelegate {
|
||||
object : ProgressDelegate, NavigationDelegate, ContentDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onLoadRequest(session: GeckoSession,
|
||||
request: LoadRequest):
|
||||
|
@ -89,7 +95,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.waitForPageStop()
|
||||
|
||||
if (errorPageUrl != null) {
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate, Callbacks.NavigationDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate, NavigationDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onLocationChange(session: GeckoSession, url: String?) {
|
||||
assertThat("URL should match", url, equalTo(testLoader.getUri()))
|
||||
|
@ -120,7 +126,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
expectedError: Int,
|
||||
errorPageUrl: String?) {
|
||||
sessionRule.delegateDuringNextWait(
|
||||
object : Callbacks.ProgressDelegate, Callbacks.NavigationDelegate, Callbacks.ContentDelegate {
|
||||
object : ProgressDelegate, NavigationDelegate, ContentDelegate {
|
||||
|
||||
@AssertCalled(false)
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
|
@ -143,10 +149,10 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
})
|
||||
|
||||
sessionRule.session.loadUri(testUri)
|
||||
sessionRule.waitUntilCalled(Callbacks.NavigationDelegate::class, "onLoadError")
|
||||
sessionRule.waitUntilCalled(NavigationDelegate::class, "onLoadError")
|
||||
|
||||
if (errorPageUrl != null) {
|
||||
sessionRule.waitUntilCalled(object: Callbacks.ContentDelegate {
|
||||
sessionRule.waitUntilCalled(object: ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onTitleChange(session: GeckoSession, title: String?) {
|
||||
assertThat("Title should not be empty", title, not(isEmptyOrNullString()))
|
||||
|
@ -203,13 +209,19 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
// TODO: bug 1710943
|
||||
assumeThat(sessionRule.env.isIsolatedProcess, equalTo(false))
|
||||
|
||||
testLoadExpectError(TestLoader().uri("file:///").flags(LOAD_FLAGS_EXTERNAL),
|
||||
testLoadExpectError(TestLoader()
|
||||
.uri("file:///")
|
||||
.flags(GeckoSession.LOAD_FLAGS_EXTERNAL),
|
||||
WebRequestError.ERROR_CATEGORY_UNKNOWN,
|
||||
WebRequestError.ERROR_UNKNOWN)
|
||||
testLoadExpectError(TestLoader().uri("resource://gre/").flags(LOAD_FLAGS_EXTERNAL),
|
||||
testLoadExpectError(TestLoader()
|
||||
.uri("resource://gre/")
|
||||
.flags(GeckoSession.LOAD_FLAGS_EXTERNAL),
|
||||
WebRequestError.ERROR_CATEGORY_UNKNOWN,
|
||||
WebRequestError.ERROR_UNKNOWN)
|
||||
testLoadExpectError(TestLoader().uri("about:about").flags(LOAD_FLAGS_EXTERNAL),
|
||||
testLoadExpectError(TestLoader()
|
||||
.uri("about:about")
|
||||
.flags(GeckoSession.LOAD_FLAGS_EXTERNAL),
|
||||
WebRequestError.ERROR_CATEGORY_UNKNOWN,
|
||||
WebRequestError.ERROR_UNKNOWN)
|
||||
}
|
||||
|
@ -247,7 +259,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
|
||||
mainSession.waitForJS("document.addCertException(false)")
|
||||
mainSession.delegateDuringNextWait(
|
||||
object : Callbacks.ProgressDelegate, Callbacks.NavigationDelegate, Callbacks.ContentDelegate {
|
||||
object : ProgressDelegate, NavigationDelegate, ContentDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
assertThat("URI should be " + uri, url, equalTo(uri))
|
||||
|
@ -255,7 +267,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
|
||||
@AssertCalled(count = 1, order = [2])
|
||||
override fun onSecurityChange(session: GeckoSession,
|
||||
securityInfo: GeckoSession.ProgressDelegate.SecurityInformation) {
|
||||
securityInfo: ProgressDelegate.SecurityInformation) {
|
||||
assertThat("Should be exception", securityInfo.isException, equalTo(true))
|
||||
assertThat("Should not be secure", securityInfo.isSecure, equalTo(false))
|
||||
}
|
||||
|
@ -292,7 +304,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
WebRequestError.ERROR_CATEGORY_SECURITY,
|
||||
WebRequestError.ERROR_SECURITY_SSL)
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.ProgressDelegate, Callbacks.NavigationDelegate {
|
||||
mainSession.delegateDuringNextWait(object : ProgressDelegate, NavigationDelegate {
|
||||
@AssertCalled(count = 0)
|
||||
override fun onLoadError(session: GeckoSession, uri: String?, error: WebRequestError): GeckoResult<String>? {
|
||||
return null
|
||||
|
@ -327,7 +339,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
mainSession.loadUri(insecureUri)
|
||||
mainSession.waitForPageStop()
|
||||
|
||||
mainSession.forCallbacksDuringWait(object : Callbacks.NavigationDelegate {
|
||||
mainSession.forCallbacksDuringWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLoadError(session: GeckoSession, uri: String?, error: WebRequestError): GeckoResult<String>? {
|
||||
assertThat("categories should match", error.category, equalTo(WebRequestError.ERROR_CATEGORY_SECURITY))
|
||||
|
@ -341,7 +353,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
mainSession.loadUri(secureUri)
|
||||
mainSession.waitForPageStop()
|
||||
|
||||
mainSession.forCallbacksDuringWait(object : Callbacks.NavigationDelegate {
|
||||
mainSession.forCallbacksDuringWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 0)
|
||||
override fun onLoadError(session: GeckoSession, uri: String?, error: WebRequestError): GeckoResult<String>? {
|
||||
return null
|
||||
|
@ -362,7 +374,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
privateSession.waitForPageStop()
|
||||
|
||||
var onLoadCalledCounter = 0
|
||||
privateSession.forCallbacksDuringWait(object : Callbacks.NavigationDelegate {
|
||||
privateSession.forCallbacksDuringWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 0)
|
||||
override fun onLoadError(session: GeckoSession, uri: String?, error: WebRequestError): GeckoResult<String>? {
|
||||
return null
|
||||
|
@ -389,7 +401,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
privateSession.loadUri(insecureUri)
|
||||
privateSession.waitForPageStop()
|
||||
|
||||
privateSession.forCallbacksDuringWait(object : Callbacks.NavigationDelegate {
|
||||
privateSession.forCallbacksDuringWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLoadError(session: GeckoSession, uri: String?, error: WebRequestError): GeckoResult<String>? {
|
||||
assertThat("categories should match", error.category, equalTo(WebRequestError.ERROR_CATEGORY_SECURITY))
|
||||
|
@ -401,7 +413,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
mainSession.loadUri(secureUri)
|
||||
mainSession.waitForPageStop()
|
||||
|
||||
mainSession.forCallbacksDuringWait(object : Callbacks.NavigationDelegate {
|
||||
mainSession.forCallbacksDuringWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 0)
|
||||
override fun onLoadError(session: GeckoSession, uri: String?, error: WebRequestError): GeckoResult<String>? {
|
||||
return null
|
||||
|
@ -432,7 +444,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.loadTestPath(IFRAME_UNKNOWN_PROTOCOL)
|
||||
sessionRule.session.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLoadRequest(session: GeckoSession, request: LoadRequest) : GeckoResult<AllowOrDeny>? {
|
||||
assertThat("URI should not be null", request.uri, notNullValue())
|
||||
|
@ -459,7 +471,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.loadTestPath(TRACKERS_PATH)
|
||||
|
||||
sessionRule.waitUntilCalled(
|
||||
object : Callbacks.ContentBlockingDelegate {
|
||||
object : ContentBlocking.Delegate {
|
||||
@AssertCalled(count = 3)
|
||||
override fun onContentBlocked(session: GeckoSession,
|
||||
event: ContentBlocking.BlockEvent) {
|
||||
|
@ -481,7 +493,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(
|
||||
object : Callbacks.ContentBlockingDelegate {
|
||||
object : ContentBlocking.Delegate {
|
||||
@AssertCalled(false)
|
||||
override fun onContentBlocked(session: GeckoSession,
|
||||
event: ContentBlocking.BlockEvent) {
|
||||
|
@ -516,7 +528,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.loadUri(uri)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 2, order = [1, 2])
|
||||
override fun onLoadRequest(session: GeckoSession,
|
||||
request: LoadRequest):
|
||||
|
@ -531,7 +543,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
equalTo(forEachCall(true, false)))
|
||||
assertThat("Target should not be null", request.target, notNullValue())
|
||||
assertThat("Target should match", request.target,
|
||||
equalTo(GeckoSession.NavigationDelegate.TARGET_WINDOW_CURRENT))
|
||||
equalTo(NavigationDelegate.TARGET_WINDOW_CURRENT))
|
||||
assertThat("Redirect flag is set", request.isRedirect,
|
||||
equalTo(forEachCall(false, true)))
|
||||
return null
|
||||
|
@ -553,7 +565,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.waitForPageStop()
|
||||
|
||||
// We shouldn't be firing onLoadRequest for iframes, including redirects.
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLoadRequest(session: GeckoSession,
|
||||
request: LoadRequest):
|
||||
|
@ -599,7 +611,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
}
|
||||
|
||||
sessionRule.delegateDuringNextWait(
|
||||
object : Callbacks.NavigationDelegate {
|
||||
object : NavigationDelegate {
|
||||
@AssertCalled(count = 2, order = [1, 2])
|
||||
override fun onLoadRequest(session: GeckoSession,
|
||||
request: LoadRequest):
|
||||
|
@ -614,7 +626,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
equalTo(forEachCall(true, false)))
|
||||
assertThat("Target should not be null", request.target, notNullValue())
|
||||
assertThat("Target should match", request.target,
|
||||
equalTo(GeckoSession.NavigationDelegate.TARGET_WINDOW_CURRENT))
|
||||
equalTo(NavigationDelegate.TARGET_WINDOW_CURRENT))
|
||||
assertThat("Redirect flag is set", request.isRedirect,
|
||||
equalTo(forEachCall(false, true)))
|
||||
|
||||
|
@ -626,7 +638,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(
|
||||
object : Callbacks.ProgressDelegate {
|
||||
object : ProgressDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
assertThat("URL should match", url, equalTo(uri))
|
||||
|
@ -648,7 +660,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.loadUri(uri)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 2, order = [1, 2])
|
||||
override fun onLoadRequest(session: GeckoSession,
|
||||
request: LoadRequest):
|
||||
|
@ -677,7 +689,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(
|
||||
object : Callbacks.NavigationDelegate {
|
||||
object : NavigationDelegate {
|
||||
@AssertCalled(false)
|
||||
override fun onLoadError(session: GeckoSession, uri: String?,
|
||||
error: WebRequestError): GeckoResult<String>? {
|
||||
|
@ -709,7 +721,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(
|
||||
object : Callbacks.NavigationDelegate {
|
||||
object : NavigationDelegate {
|
||||
@AssertCalled(false)
|
||||
override fun onLoadError(session: GeckoSession, uri: String?,
|
||||
error: WebRequestError): GeckoResult<String>? {
|
||||
|
@ -740,7 +752,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(
|
||||
object : Callbacks.NavigationDelegate {
|
||||
object : NavigationDelegate {
|
||||
@AssertCalled(false)
|
||||
override fun onLoadError(session: GeckoSession, uri: String?,
|
||||
error: WebRequestError): GeckoResult<String>? {
|
||||
|
@ -767,7 +779,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(
|
||||
object : Callbacks.NavigationDelegate {
|
||||
object : NavigationDelegate {
|
||||
@AssertCalled(false)
|
||||
override fun onLoadError(session: GeckoSession, uri: String?,
|
||||
error: WebRequestError): GeckoResult<String>? {
|
||||
|
@ -798,7 +810,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(
|
||||
object : Callbacks.NavigationDelegate {
|
||||
object : NavigationDelegate {
|
||||
@AssertCalled(false)
|
||||
override fun onLoadError(session: GeckoSession, uri: String?,
|
||||
error: WebRequestError): GeckoResult<String>? {
|
||||
|
@ -929,7 +941,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
assertThat("User agent should now be reported as VR",
|
||||
getUserAgent(), containsString(vrSubStr))
|
||||
|
||||
sessionRule.delegateDuringNextWait(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : NavigationDelegate {
|
||||
override fun onLoadRequest(session: GeckoSession, request: LoadRequest): GeckoResult<AllowOrDeny>? {
|
||||
sessionRule.session.settings.userAgentOverride = overrideUserAgent
|
||||
return null
|
||||
|
@ -942,7 +954,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
assertThat("User agent should be reported as override after being set in onLoadRequest",
|
||||
getUserAgent(), equalTo(overrideUserAgent))
|
||||
|
||||
sessionRule.delegateDuringNextWait(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : NavigationDelegate {
|
||||
override fun onLoadRequest(session: GeckoSession, request: LoadRequest): GeckoResult<AllowOrDeny>? {
|
||||
sessionRule.session.settings.userAgentOverride = null
|
||||
return null
|
||||
|
@ -1000,7 +1012,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.loadUri("$TEST_ENDPOINT$HELLO_HTML_PATH")
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onLoadRequest(session: GeckoSession,
|
||||
request: LoadRequest):
|
||||
|
@ -1014,7 +1026,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
equalTo(true))
|
||||
assertThat("Target should not be null", request.target, notNullValue())
|
||||
assertThat("Target should match", request.target,
|
||||
equalTo(GeckoSession.NavigationDelegate.TARGET_WINDOW_CURRENT))
|
||||
equalTo(NavigationDelegate.TARGET_WINDOW_CURRENT))
|
||||
assertThat("Redirect flag is not set", request.isRedirect, equalTo(false))
|
||||
assertThat("Should not have a user gesture", request.hasUserGesture, equalTo(false))
|
||||
return null
|
||||
|
@ -1054,7 +1066,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.loadUri(dataUrl)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.NavigationDelegate, Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : NavigationDelegate, ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLocationChange(session: GeckoSession, url: String?) {
|
||||
assertThat("URL should match the provided data URL", url, equalTo(dataUrl))
|
||||
|
@ -1067,7 +1079,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
})
|
||||
}
|
||||
|
||||
@NullDelegate(GeckoSession.NavigationDelegate::class)
|
||||
@NullDelegate(NavigationDelegate::class)
|
||||
@Test fun load_withoutNavigationDelegate() {
|
||||
// TODO: bug 1710943
|
||||
assumeThat(sessionRule.env.isIsolatedProcess, equalTo(false))
|
||||
|
@ -1080,14 +1092,14 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.waitForPageStop()
|
||||
}
|
||||
|
||||
@NullDelegate(GeckoSession.NavigationDelegate::class)
|
||||
@NullDelegate(NavigationDelegate::class)
|
||||
@Test fun load_canUnsetNavigationDelegate() {
|
||||
// TODO: bug 1710943
|
||||
assumeThat(sessionRule.env.isIsolatedProcess, equalTo(false))
|
||||
|
||||
// Test that if we unset the navigation delegate during a load, the load still proceeds.
|
||||
var onLocationCount = 0
|
||||
sessionRule.session.navigationDelegate = object : Callbacks.NavigationDelegate {
|
||||
sessionRule.session.navigationDelegate = object : NavigationDelegate {
|
||||
override fun onLocationChange(session: GeckoSession, url: String?) {
|
||||
onLocationCount++
|
||||
}
|
||||
|
@ -1115,7 +1127,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.load(Loader().data(dataString, mimeType))
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.NavigationDelegate, Callbacks.ProgressDelegate, Callbacks.ContentDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : NavigationDelegate, ProgressDelegate, ContentDelegate {
|
||||
@AssertCalled
|
||||
override fun onTitleChange(session: GeckoSession, title: String?) {
|
||||
assertThat("Title should match", title, equalTo("TheTitle"))
|
||||
|
@ -1138,7 +1150,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.load(Loader().data("Hello, World!", null))
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.NavigationDelegate, Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : NavigationDelegate, ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLocationChange(session: GeckoSession, url: String?) {
|
||||
assertThat("URL should be a data URL", url, startsWith("data:"))
|
||||
|
@ -1161,7 +1173,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.load(Loader().data(bytes, "text/html"))
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.NavigationDelegate, Callbacks.ProgressDelegate, Callbacks.ContentDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : NavigationDelegate, ProgressDelegate, ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onTitleChange(session: GeckoSession, title: String?) {
|
||||
assertThat("Title should match", title, equalTo("Hello, world!"))
|
||||
|
@ -1197,7 +1209,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.load(Loader().data(bytes, mimeType))
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.NavigationDelegate, Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : NavigationDelegate, ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLocationChange(session: GeckoSession, url: String?) {
|
||||
assertThat("URL should match", url, equalTo(createDataUri(bytes, mimeType)))
|
||||
|
@ -1229,7 +1241,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.reload()
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onLoadRequest(session: GeckoSession,
|
||||
request: LoadRequest):
|
||||
|
@ -1238,7 +1250,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
assertThat("Trigger URL should be null", request.triggerUri,
|
||||
nullValue())
|
||||
assertThat("Target should match", request.target,
|
||||
equalTo(GeckoSession.NavigationDelegate.TARGET_WINDOW_CURRENT))
|
||||
equalTo(NavigationDelegate.TARGET_WINDOW_CURRENT))
|
||||
assertThat("Load should not be direct", request.isDirectNavigation,
|
||||
equalTo(false))
|
||||
return null
|
||||
|
@ -1276,9 +1288,9 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.loadUri("$TEST_ENDPOINT$HELLO2_HTML_PATH")
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLocationChange(session: GeckoSession, url: String?, perms : MutableList<GeckoSession.PermissionDelegate.ContentPermission>) {
|
||||
override fun onLocationChange(session: GeckoSession, url: String?, perms : MutableList<PermissionDelegate.ContentPermission>) {
|
||||
assertThat("URL should match", url, endsWith(HELLO2_HTML_PATH))
|
||||
}
|
||||
})
|
||||
|
@ -1286,7 +1298,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.goBack()
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 0, order = [1])
|
||||
override fun onLoadRequest(session: GeckoSession,
|
||||
request: LoadRequest):
|
||||
|
@ -1297,7 +1309,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
}
|
||||
|
||||
@AssertCalled(count = 1, order = [2])
|
||||
override fun onLocationChange(session: GeckoSession, url: String?, perms : MutableList<GeckoSession.PermissionDelegate.ContentPermission>) {
|
||||
override fun onLocationChange(session: GeckoSession, url: String?, perms : MutableList<PermissionDelegate.ContentPermission>) {
|
||||
assertThat("URL should match", url, endsWith(HELLO_HTML_PATH))
|
||||
}
|
||||
|
||||
|
@ -1320,7 +1332,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.goForward()
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 0, order = [1])
|
||||
override fun onLoadRequest(session: GeckoSession,
|
||||
request: LoadRequest):
|
||||
|
@ -1331,7 +1343,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
}
|
||||
|
||||
@AssertCalled(count = 1, order = [2])
|
||||
override fun onLocationChange(session: GeckoSession, url: String?, perms : MutableList<GeckoSession.PermissionDelegate.ContentPermission>) {
|
||||
override fun onLocationChange(session: GeckoSession, url: String?, perms : MutableList<PermissionDelegate.ContentPermission>) {
|
||||
assertThat("URL should match", url, endsWith(HELLO2_HTML_PATH))
|
||||
}
|
||||
|
||||
|
@ -1356,7 +1368,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
// TODO: bug 1710943
|
||||
assumeThat(sessionRule.env.isIsolatedProcess, equalTo(false))
|
||||
|
||||
sessionRule.delegateDuringNextWait(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 2)
|
||||
override fun onLoadRequest(session: GeckoSession,
|
||||
request: LoadRequest):
|
||||
|
@ -1373,7 +1385,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.loadTestPath(HELLO2_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
assertThat("URL should match", url, endsWith(HELLO2_HTML_PATH))
|
||||
|
@ -1398,7 +1410,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
|
||||
sessionRule.session.evaluateJS("window.open('newSession_child.html', '_blank')")
|
||||
|
||||
sessionRule.session.waitUntilCalled(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.session.waitUntilCalled(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onLoadRequest(session: GeckoSession,
|
||||
request: LoadRequest):
|
||||
|
@ -1407,7 +1419,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
assertThat("Trigger URL should match", request.triggerUri,
|
||||
endsWith(NEW_SESSION_HTML_PATH))
|
||||
assertThat("Target should be correct", request.target,
|
||||
equalTo(GeckoSession.NavigationDelegate.TARGET_WINDOW_NEW))
|
||||
equalTo(NavigationDelegate.TARGET_WINDOW_NEW))
|
||||
assertThat("Load should not be direct", request.isDirectNavigation,
|
||||
equalTo(false))
|
||||
return null
|
||||
|
@ -1444,7 +1456,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
|
||||
sessionRule.session.evaluateJS("document.querySelector('#targetBlankLink').click()")
|
||||
|
||||
sessionRule.session.waitUntilCalled(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.session.waitUntilCalled(object : NavigationDelegate {
|
||||
// We get two onLoadRequest calls for the link click,
|
||||
// one when loading the URL and one when opening a new window.
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
|
@ -1455,7 +1467,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
assertThat("Trigger URL should be null", request.triggerUri,
|
||||
endsWith(NEW_SESSION_HTML_PATH))
|
||||
assertThat("Target should be correct", request.target,
|
||||
equalTo(GeckoSession.NavigationDelegate.TARGET_WINDOW_NEW))
|
||||
equalTo(NavigationDelegate.TARGET_WINDOW_NEW))
|
||||
return null
|
||||
}
|
||||
|
||||
|
@ -1470,7 +1482,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
private fun delegateNewSession(settings: GeckoSessionSettings = mainSession.settings): GeckoSession {
|
||||
val newSession = sessionRule.createClosedSession(settings)
|
||||
|
||||
sessionRule.session.delegateDuringNextWait(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.session.delegateDuringNextWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onNewSession(session: GeckoSession, uri: String): GeckoResult<GeckoSession> {
|
||||
return GeckoResult.fromValue(newSession)
|
||||
|
@ -1497,7 +1509,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
// NEW_SESSION_CHILD_HTML_PATH
|
||||
newSession.waitForPageStop()
|
||||
|
||||
newSession.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
newSession.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
assertThat("URL should match", url, endsWith(NEW_SESSION_CHILD_HTML_PATH))
|
||||
|
@ -1558,7 +1570,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.loadTestPath(NEW_SESSION_HTML_PATH)
|
||||
sessionRule.session.waitForPageStop()
|
||||
|
||||
sessionRule.session.delegateDuringNextWait(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.session.delegateDuringNextWait(object : NavigationDelegate {
|
||||
override fun onLoadRequest(session: GeckoSession,
|
||||
request: LoadRequest):
|
||||
GeckoResult<AllowOrDeny>? {
|
||||
|
@ -1577,7 +1589,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.waitForPageStop()
|
||||
|
||||
// Assert that onNewSession was not called for the link click.
|
||||
sessionRule.session.forCallbacksDuringWait(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.session.forCallbacksDuringWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 2)
|
||||
override fun onLoadRequest(session: GeckoSession,
|
||||
request: LoadRequest):
|
||||
|
@ -1606,7 +1618,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.evaluateJS("""
|
||||
document.querySelector('input[type=text]').focus()
|
||||
""")
|
||||
sessionRule.session.waitUntilCalled(GeckoSession.TextInputDelegate::class,
|
||||
sessionRule.session.waitUntilCalled(TextInputDelegate::class,
|
||||
"restartInput")
|
||||
|
||||
val time = SystemClock.uptimeMillis()
|
||||
|
@ -1616,7 +1628,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
KeyEvent.changeAction(keyEvent,
|
||||
KeyEvent.ACTION_UP))
|
||||
|
||||
sessionRule.session.waitUntilCalled(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.session.waitUntilCalled(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onLoadRequest(session: GeckoSession, request: LoadRequest):
|
||||
GeckoResult<AllowOrDeny>? {
|
||||
|
@ -1625,7 +1637,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
assertThat("Trigger URL should match", request.triggerUri,
|
||||
endsWith("form_blank.html"))
|
||||
assertThat("Target should be correct", request.target,
|
||||
equalTo(GeckoSession.NavigationDelegate.TARGET_WINDOW_NEW))
|
||||
equalTo(NavigationDelegate.TARGET_WINDOW_NEW))
|
||||
return null
|
||||
}
|
||||
|
||||
|
@ -1693,7 +1705,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
.uri(uri)
|
||||
.referrer(sessionRule.session)
|
||||
.flags(GeckoSession.LOAD_FLAGS_NONE))
|
||||
newSession.waitUntilCalled(object : Callbacks.NavigationDelegate {
|
||||
newSession.waitUntilCalled(object : NavigationDelegate {
|
||||
@AssertCalled
|
||||
override fun onLoadError(session: GeckoSession, uri: String?, error: WebRequestError): GeckoResult<String>? {
|
||||
return null
|
||||
|
@ -1754,22 +1766,22 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
|
||||
testLoaderEquals(
|
||||
Loader().uri("http://test-uri-equals.com")
|
||||
.flags(LOAD_FLAGS_BYPASS_CLASSIFIER)
|
||||
.headerFilter(HEADER_FILTER_UNRESTRICTED_UNSAFE)
|
||||
.flags(GeckoSession.LOAD_FLAGS_BYPASS_CLASSIFIER)
|
||||
.headerFilter(GeckoSession.HEADER_FILTER_UNRESTRICTED_UNSAFE)
|
||||
.referrer("test-referrer"),
|
||||
Loader().uri("http://test-uri-equals.com")
|
||||
.flags(LOAD_FLAGS_BYPASS_CLASSIFIER)
|
||||
.headerFilter(HEADER_FILTER_UNRESTRICTED_UNSAFE)
|
||||
.flags(GeckoSession.LOAD_FLAGS_BYPASS_CLASSIFIER)
|
||||
.headerFilter(GeckoSession.HEADER_FILTER_UNRESTRICTED_UNSAFE)
|
||||
.referrer("test-referrer"),
|
||||
true)
|
||||
testLoaderEquals(
|
||||
Loader().uri("http://test-uri-equals.com")
|
||||
.flags(LOAD_FLAGS_BYPASS_CLASSIFIER)
|
||||
.headerFilter(HEADER_FILTER_UNRESTRICTED_UNSAFE)
|
||||
.flags(GeckoSession.LOAD_FLAGS_BYPASS_CLASSIFIER)
|
||||
.headerFilter(GeckoSession.HEADER_FILTER_UNRESTRICTED_UNSAFE)
|
||||
.referrer(sessionRule.session),
|
||||
Loader().uri("http://test-uri-equals.com")
|
||||
.flags(LOAD_FLAGS_BYPASS_CLASSIFIER)
|
||||
.headerFilter(HEADER_FILTER_UNRESTRICTED_UNSAFE)
|
||||
.flags(GeckoSession.LOAD_FLAGS_BYPASS_CLASSIFIER)
|
||||
.headerFilter(GeckoSession.HEADER_FILTER_UNRESTRICTED_UNSAFE)
|
||||
.referrer("test-referrer"),
|
||||
false)
|
||||
|
||||
|
@ -1955,7 +1967,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.loadTestPath(NEW_SESSION_HTML_PATH)
|
||||
sessionRule.session.waitForPageStop()
|
||||
|
||||
sessionRule.session.delegateDuringNextWait(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.session.delegateDuringNextWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onNewSession(session: GeckoSession, uri: String): GeckoResult<GeckoSession> {
|
||||
return GeckoResult.fromValue(sessionRule.createOpenSession())
|
||||
|
@ -1964,7 +1976,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
|
||||
sessionRule.session.evaluateJS("document.querySelector('#targetBlankLink').click()")
|
||||
|
||||
sessionRule.session.waitUntilCalled(GeckoSession.NavigationDelegate::class,
|
||||
sessionRule.session.waitUntilCalled(NavigationDelegate::class,
|
||||
"onNewSession")
|
||||
UiThreadUtils.loopUntilIdle(sessionRule.env.defaultTimeoutMillis)
|
||||
}
|
||||
|
@ -2018,7 +2030,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
settings.aboutConfigEnabled = true
|
||||
|
||||
var currentUrl: String? = null
|
||||
mainSession.delegateUntilTestEnd(object: GeckoSession.NavigationDelegate {
|
||||
mainSession.delegateUntilTestEnd(object: NavigationDelegate {
|
||||
override fun onLocationChange(session: GeckoSession, url: String?) {
|
||||
currentUrl = url
|
||||
}
|
||||
|
@ -2089,7 +2101,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
|
||||
sessionRule.session.evaluateJS("location.hash = 'test1';")
|
||||
|
||||
sessionRule.session.waitUntilCalled(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.session.waitUntilCalled(object : NavigationDelegate {
|
||||
@AssertCalled(count = 0)
|
||||
override fun onLoadRequest(session: GeckoSession,
|
||||
request: LoadRequest):
|
||||
|
@ -2100,14 +2112,14 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
}
|
||||
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLocationChange(session: GeckoSession, url: String?, perms : MutableList<GeckoSession.PermissionDelegate.ContentPermission>) {
|
||||
override fun onLocationChange(session: GeckoSession, url: String?, perms : MutableList<PermissionDelegate.ContentPermission>) {
|
||||
assertThat("URI should match", url, endsWith("#test1"))
|
||||
}
|
||||
})
|
||||
|
||||
sessionRule.session.evaluateJS("location.hash = 'test2';")
|
||||
|
||||
sessionRule.session.waitUntilCalled(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.session.waitUntilCalled(object : NavigationDelegate {
|
||||
@AssertCalled(count = 0)
|
||||
override fun onLoadRequest(session: GeckoSession,
|
||||
request: LoadRequest):
|
||||
|
@ -2116,7 +2128,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
}
|
||||
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLocationChange(session: GeckoSession, url: String?, perms : MutableList<GeckoSession.PermissionDelegate.ContentPermission>) {
|
||||
override fun onLocationChange(session: GeckoSession, url: String?, perms : MutableList<PermissionDelegate.ContentPermission>) {
|
||||
assertThat("URI should match", url, endsWith("#test2"))
|
||||
}
|
||||
})
|
||||
|
@ -2130,7 +2142,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
assumeThat(sessionRule.env.isIsolatedProcess, equalTo(false))
|
||||
|
||||
sessionRule.session.loadUri("$TEST_ENDPOINT$HELLO_HTML_PATH")
|
||||
sessionRule.waitUntilCalled(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.waitUntilCalled(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onCanGoBack(session: GeckoSession, canGoBack: Boolean) {
|
||||
assertThat("Session should not be null", session, notNullValue())
|
||||
|
@ -2144,7 +2156,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
}
|
||||
})
|
||||
sessionRule.session.loadUri("$TEST_ENDPOINT$HELLO2_HTML_PATH")
|
||||
sessionRule.waitUntilCalled(object : Callbacks.All {
|
||||
sessionRule.waitUntilCalled(object : HistoryDelegate, NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onCanGoBack(session: GeckoSession, canGoBack: Boolean) {
|
||||
assertThat("Session should not be null", session, notNullValue())
|
||||
|
@ -2156,14 +2168,14 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
assertThat("Cannot go forward", canGoForward, equalTo(false))
|
||||
}
|
||||
@AssertCalled(count = 1)
|
||||
override fun onHistoryStateChange(session: GeckoSession, state: GeckoSession.HistoryDelegate.HistoryList) {
|
||||
override fun onHistoryStateChange(session: GeckoSession, state: HistoryDelegate.HistoryList) {
|
||||
assertThat("History should have two entries", state.size, equalTo(2))
|
||||
}
|
||||
})
|
||||
sessionRule.session.purgeHistory()
|
||||
sessionRule.waitUntilCalled(object : Callbacks.All {
|
||||
sessionRule.waitUntilCalled(object : HistoryDelegate, NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onHistoryStateChange(session: GeckoSession, state: GeckoSession.HistoryDelegate.HistoryList) {
|
||||
override fun onHistoryStateChange(session: GeckoSession, state: HistoryDelegate.HistoryList) {
|
||||
assertThat("History should have one entry", state.size, equalTo(1))
|
||||
}
|
||||
@AssertCalled(count = 1)
|
||||
|
@ -2190,7 +2202,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
|
||||
mainSession.synthesizeTap(50, 50)
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.waitUntilCalled(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLoadRequest(session: GeckoSession, request: LoadRequest): GeckoResult<AllowOrDeny>? {
|
||||
assertThat("Should have a user gesture", request.hasUserGesture, equalTo(true))
|
||||
|
@ -2208,7 +2220,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
// TODO: bug 1710943
|
||||
assumeThat(sessionRule.env.isIsolatedProcess, equalTo(false))
|
||||
|
||||
sessionRule.session.delegateDuringNextWait(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.session.delegateDuringNextWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 2)
|
||||
override fun onLoadRequest(session: GeckoSession, request: LoadRequest): GeckoResult<AllowOrDeny>? {
|
||||
assertThat("URLs should match", request.uri, endsWith(forEachCall(HELLO_HTML_PATH, HELLO2_HTML_PATH)))
|
||||
|
@ -2227,7 +2239,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
val expectedUri = createDataUri(dataBytes, "*/*")
|
||||
val loader = Loader().data(dataBytes, "*/*")
|
||||
|
||||
sessionRule.session.delegateUntilTestEnd(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.session.delegateUntilTestEnd(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onLoadRequest(session: GeckoSession, request: LoadRequest): GeckoResult<AllowOrDeny>? {
|
||||
assertThat("URLs should match", request.uri, equalTo(expectedUri))
|
||||
|
@ -2247,7 +2259,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
})
|
||||
|
||||
sessionRule.session.load(loader)
|
||||
sessionRule.waitUntilCalled(Callbacks.NavigationDelegate::class, "onLoadError")
|
||||
sessionRule.waitUntilCalled(NavigationDelegate::class, "onLoadError")
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -2261,7 +2273,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.loadTestPath(DATA_URI_PATH)
|
||||
sessionRule.session.waitForPageStop()
|
||||
|
||||
sessionRule.session.delegateUntilTestEnd(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.session.delegateUntilTestEnd(object : NavigationDelegate {
|
||||
@AssertCalled(false)
|
||||
override fun onLoadRequest(session: GeckoSession, request: LoadRequest): GeckoResult<AllowOrDeny>? {
|
||||
return GeckoResult.deny()
|
||||
|
@ -2275,7 +2287,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
|
||||
@Test
|
||||
fun loadShortDataUriToplevelIndirect() {
|
||||
sessionRule.session.delegateUntilTestEnd(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.session.delegateUntilTestEnd(object : NavigationDelegate {
|
||||
@AssertCalled(count = 2)
|
||||
override fun onLoadRequest(session: GeckoSession, request: LoadRequest): GeckoResult<AllowOrDeny>? {
|
||||
return GeckoResult.allow()
|
||||
|
@ -2326,7 +2338,7 @@ class NavigationDelegateTest : BaseSessionTest() {
|
|||
fun loadLongDataUriNonToplevel() {
|
||||
val dataUri = createLargeHighEntropyImageDataUri()
|
||||
|
||||
sessionRule.session.delegateUntilTestEnd(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.session.delegateUntilTestEnd(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLoadRequest(session: GeckoSession, request: LoadRequest): GeckoResult<AllowOrDeny>? {
|
||||
return GeckoResult.allow()
|
||||
|
|
|
@ -9,10 +9,12 @@ import org.junit.Test
|
|||
import org.junit.runner.RunWith
|
||||
import org.mozilla.gecko.util.ThreadUtils
|
||||
import org.mozilla.geckoview.*
|
||||
import org.mozilla.geckoview.GeckoSession.ContentDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.PermissionDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.NavigationDelegate
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.TimeoutMillis
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.AssertCalled
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
import org.mozilla.geckoview.test.util.UiThreadUtils
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
|
@ -24,7 +26,7 @@ class OpenWindowTest : BaseSessionTest() {
|
|||
sessionRule.setPrefsUntilTestEnd(mapOf("dom.webnotifications.requireuserinteraction" to false))
|
||||
|
||||
// Grant "desktop notification" permission
|
||||
mainSession.delegateUntilTestEnd(object : Callbacks.PermissionDelegate {
|
||||
mainSession.delegateUntilTestEnd(object : PermissionDelegate {
|
||||
override fun onContentPermissionRequest(session: GeckoSession, perm: GeckoSession.PermissionDelegate.ContentPermission): GeckoResult<Int>? {
|
||||
assertThat("Should grant DESKTOP_NOTIFICATIONS permission", perm.permission, equalTo(GeckoSession.PermissionDelegate.PERMISSION_DESKTOP_NOTIFICATION))
|
||||
return GeckoResult.fromValue(GeckoSession.PermissionDelegate.ContentPermission.VALUE_ALLOW);
|
||||
|
@ -60,7 +62,7 @@ class OpenWindowTest : BaseSessionTest() {
|
|||
|
||||
@Test
|
||||
fun openWindowNullDelegate() {
|
||||
sessionRule.delegateUntilTestEnd(object : Callbacks.ContentDelegate, Callbacks.NavigationDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : ContentDelegate, NavigationDelegate {
|
||||
override fun onLocationChange(session: GeckoSession, url: String?) {
|
||||
// we should not open the target url
|
||||
assertThat("URL should notmatch", url, not(createTestUrl(OPEN_WINDOW_TARGET_PATH)))
|
||||
|
@ -79,7 +81,7 @@ class OpenWindowTest : BaseSessionTest() {
|
|||
return GeckoResult.fromValue(null)
|
||||
}
|
||||
})
|
||||
sessionRule.delegateUntilTestEnd(object : Callbacks.ContentDelegate, Callbacks.NavigationDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : ContentDelegate, NavigationDelegate {
|
||||
override fun onLocationChange(session: GeckoSession, url: String?) {
|
||||
// we should not open the target url
|
||||
assertThat("URL should notmatch", url, not(createTestUrl(OPEN_WINDOW_TARGET_PATH)))
|
||||
|
@ -99,7 +101,7 @@ class OpenWindowTest : BaseSessionTest() {
|
|||
}
|
||||
})
|
||||
openPageClickNotification()
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate, Callbacks.NavigationDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate, NavigationDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onLocationChange(session: GeckoSession, url: String?) {
|
||||
assertThat("Should be on the main session", session, equalTo(mainSession))
|
||||
|
@ -126,7 +128,7 @@ class OpenWindowTest : BaseSessionTest() {
|
|||
}
|
||||
})
|
||||
openPageClickNotification()
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate, Callbacks.NavigationDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate, NavigationDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onLocationChange(session: GeckoSession, url: String?) {
|
||||
assertThat("Should be on the target session", session, equalTo(targetSession))
|
||||
|
@ -140,4 +142,4 @@ class OpenWindowTest : BaseSessionTest() {
|
|||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,11 +11,8 @@ import org.hamcrest.Matchers.*
|
|||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.mozilla.geckoview.GeckoResult
|
||||
import org.mozilla.geckoview.GeckoSession
|
||||
import org.junit.Assume.assumeTrue
|
||||
import org.mozilla.geckoview.PanZoomController
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
@MediumTest
|
||||
|
|
|
@ -6,9 +6,10 @@ package org.mozilla.geckoview.test
|
|||
|
||||
import org.mozilla.geckoview.GeckoResult
|
||||
import org.mozilla.geckoview.GeckoSession
|
||||
import org.mozilla.geckoview.GeckoSession.NavigationDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.PermissionDelegate
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.AssertCalled
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.RejectedPromiseException
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
|
||||
import android.Manifest
|
||||
import android.content.pm.PackageManager
|
||||
|
@ -75,7 +76,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
assertThat("Device list should contain microphone device",
|
||||
hasAudio, equalTo(true))
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.PermissionDelegate {
|
||||
mainSession.delegateDuringNextWait(object : PermissionDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onMediaPermissionRequest(
|
||||
session: GeckoSession, uri: String,
|
||||
|
@ -123,7 +124,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
assertThat("Stream should be active and id should not be empty.", isActive, equalTo(true));
|
||||
|
||||
// Now test rejecting the request.
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.PermissionDelegate {
|
||||
mainSession.delegateDuringNextWait(object : PermissionDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onMediaPermissionRequest(
|
||||
session: GeckoSession, uri: String,
|
||||
|
@ -158,7 +159,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
mainSession.loadUri(url)
|
||||
mainSession.waitForPageStop()
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.PermissionDelegate {
|
||||
mainSession.delegateDuringNextWait(object : PermissionDelegate {
|
||||
// Ensure the content permission is asked first, before the Android permission.
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onContentPermissionRequest(
|
||||
|
@ -207,7 +208,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
|
||||
assertThat("Geolocation permission should be set to allow", permFound, equalTo(true))
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.NavigationDelegate {
|
||||
mainSession.delegateDuringNextWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLocationChange(session: GeckoSession, url: String?, perms: MutableList<GeckoSession.PermissionDelegate.ContentPermission>) {
|
||||
var permFound2 : Boolean = false
|
||||
|
@ -229,7 +230,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
mainSession.loadUri(url)
|
||||
mainSession.waitForPageStop()
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.PermissionDelegate {
|
||||
mainSession.delegateDuringNextWait(object : PermissionDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onContentPermissionRequest(
|
||||
session: GeckoSession, perm: GeckoSession.PermissionDelegate.ContentPermission):
|
||||
|
@ -265,7 +266,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
|
||||
assertThat("Geolocation permission should be set to allow", permFound, equalTo(true))
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.NavigationDelegate {
|
||||
mainSession.delegateDuringNextWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLocationChange(session: GeckoSession, url: String?, perms: MutableList<GeckoSession.PermissionDelegate.ContentPermission>) {
|
||||
var permFound2 : Boolean = false
|
||||
|
@ -288,7 +289,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
mainSession.loadUri(url)
|
||||
mainSession.waitForPageStop()
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.PermissionDelegate {
|
||||
mainSession.delegateDuringNextWait(object : PermissionDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onContentPermissionRequest(
|
||||
session: GeckoSession, perm: GeckoSession.PermissionDelegate.ContentPermission):
|
||||
|
@ -318,7 +319,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
|
||||
assertThat("Notification permission should be set to allow", permFound, equalTo(true))
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.NavigationDelegate {
|
||||
mainSession.delegateDuringNextWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLocationChange(session: GeckoSession, url: String?, perms: MutableList<GeckoSession.PermissionDelegate.ContentPermission>) {
|
||||
var permFound2 : Boolean = false
|
||||
|
@ -346,7 +347,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
mainSession.loadUri(url)
|
||||
mainSession.waitForPageStop()
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.PermissionDelegate {
|
||||
mainSession.delegateDuringNextWait(object : PermissionDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onContentPermissionRequest(
|
||||
session: GeckoSession, perm: GeckoSession.PermissionDelegate.ContentPermission):
|
||||
|
@ -373,7 +374,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
|
||||
assertThat("Notification permission should be set to allow", permFound, equalTo(true))
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.NavigationDelegate {
|
||||
mainSession.delegateDuringNextWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLocationChange(session: GeckoSession, url: String?, perms: MutableList<GeckoSession.PermissionDelegate.ContentPermission>) {
|
||||
var permFound2 : Boolean = false
|
||||
|
@ -398,7 +399,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
|
||||
mainSession.loadTestPath(AUTOPLAY_PATH)
|
||||
|
||||
mainSession.waitUntilCalled(object : Callbacks.PermissionDelegate {
|
||||
mainSession.waitUntilCalled(object : PermissionDelegate {
|
||||
@AssertCalled(count = 2)
|
||||
override fun onContentPermissionRequest(session: GeckoSession, perm: GeckoSession.PermissionDelegate.ContentPermission):
|
||||
GeckoResult<Int>? {
|
||||
|
@ -416,7 +417,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
mainSession.loadUri(url)
|
||||
mainSession.waitForPageStop()
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.PermissionDelegate {
|
||||
mainSession.delegateDuringNextWait(object : PermissionDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onContentPermissionRequest(
|
||||
session: GeckoSession, perm: GeckoSession.PermissionDelegate.ContentPermission):
|
||||
|
@ -447,7 +448,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
|
||||
assertThat("Notification permission should be set to allow", permFound, equalTo(true))
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.NavigationDelegate {
|
||||
mainSession.delegateDuringNextWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLocationChange(session: GeckoSession, url: String?, perms: MutableList<GeckoSession.PermissionDelegate.ContentPermission>) {
|
||||
var permFound2: Boolean = false
|
||||
|
@ -471,7 +472,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
session2.loadUri(url)
|
||||
session2.waitForPageStop()
|
||||
|
||||
session2.delegateDuringNextWait(object : Callbacks.PermissionDelegate {
|
||||
session2.delegateDuringNextWait(object : PermissionDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onContentPermissionRequest(
|
||||
session: GeckoSession, perm: GeckoSession.PermissionDelegate.ContentPermission):
|
||||
|
@ -503,7 +504,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
|
||||
assertThat("Notification permission should be set to allow", permFound, equalTo(true))
|
||||
|
||||
session2.delegateDuringNextWait(object : Callbacks.NavigationDelegate {
|
||||
session2.delegateDuringNextWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLocationChange(session: GeckoSession, url: String?, perms: MutableList<GeckoSession.PermissionDelegate.ContentPermission>) {
|
||||
var permFound2: Boolean = false
|
||||
|
@ -527,7 +528,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
mainSession.loadUri(url)
|
||||
mainSession.waitForPageStop()
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.PermissionDelegate {
|
||||
mainSession.delegateDuringNextWait(object : PermissionDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onContentPermissionRequest(
|
||||
session: GeckoSession, perm: GeckoSession.PermissionDelegate.ContentPermission):
|
||||
|
@ -558,7 +559,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
sessionRule.runtime.storageController.setPermission(notificationPerm!!,
|
||||
GeckoSession.PermissionDelegate.ContentPermission.VALUE_ALLOW)
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.NavigationDelegate {
|
||||
mainSession.delegateDuringNextWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLocationChange(session: GeckoSession, url: String?, perms: MutableList<GeckoSession.PermissionDelegate.ContentPermission>) {
|
||||
var permFound2 : Boolean = false
|
||||
|
@ -586,7 +587,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
mainSession.loadUri(url)
|
||||
mainSession.waitForPageStop()
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.PermissionDelegate {
|
||||
mainSession.delegateDuringNextWait(object : PermissionDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onContentPermissionRequest(
|
||||
session: GeckoSession, perm: GeckoSession.PermissionDelegate.ContentPermission):
|
||||
|
@ -621,7 +622,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
sessionRule.runtime.storageController.setPermission(notificationPerm!!,
|
||||
GeckoSession.PermissionDelegate.ContentPermission.VALUE_DENY)
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.NavigationDelegate {
|
||||
mainSession.delegateDuringNextWait(object : NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onLocationChange(session: GeckoSession, url: String?, perms: MutableList<GeckoSession.PermissionDelegate.ContentPermission>) {
|
||||
var permFound2 : Boolean = false
|
||||
|
@ -649,7 +650,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
mainSession.loadUri(url)
|
||||
mainSession.waitForPageStop()
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.PermissionDelegate {
|
||||
mainSession.delegateDuringNextWait(object : PermissionDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onContentPermissionRequest(
|
||||
session: GeckoSession, perm: GeckoSession.PermissionDelegate.ContentPermission):
|
||||
|
@ -684,7 +685,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
sessionRule.runtime.storageController.setPermission(notificationPerm!!,
|
||||
GeckoSession.PermissionDelegate.ContentPermission.VALUE_PROMPT)
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.PermissionDelegate {
|
||||
mainSession.delegateDuringNextWait(object : PermissionDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onContentPermissionRequest(
|
||||
session: GeckoSession, perm: GeckoSession.PermissionDelegate.ContentPermission):
|
||||
|
@ -705,7 +706,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
mainSession.loadUri(url)
|
||||
mainSession.waitForPageStop()
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.PermissionDelegate {
|
||||
mainSession.delegateDuringNextWait(object : PermissionDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onContentPermissionRequest(
|
||||
session: GeckoSession, perm: GeckoSession.PermissionDelegate.ContentPermission):
|
||||
|
@ -755,7 +756,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
// mainSession.waitForPageStop()
|
||||
|
||||
// // Persistent storage can be rejected
|
||||
// mainSession.delegateDuringNextWait(object : Callbacks.PermissionDelegate {
|
||||
// mainSession.delegateDuringNextWait(object : PermissionDelegate {
|
||||
// @AssertCalled(count = 1)
|
||||
// override fun onContentPermissionRequest(
|
||||
// session: GeckoSession, uri: String?, type: Int,
|
||||
|
@ -770,7 +771,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
// success as Boolean, equalTo(false))
|
||||
|
||||
// // Persistent storage can be granted
|
||||
// mainSession.delegateDuringNextWait(object : Callbacks.PermissionDelegate {
|
||||
// mainSession.delegateDuringNextWait(object : PermissionDelegate {
|
||||
// // Ensure the content permission is asked first, before the Android permission.
|
||||
// @AssertCalled(count = 1, order = [1])
|
||||
// override fun onContentPermissionRequest(
|
||||
|
@ -790,7 +791,7 @@ class PermissionDelegateTest : BaseSessionTest() {
|
|||
// equalTo(true))
|
||||
|
||||
// // after permission granted further requests will always return true, regardless of response
|
||||
// mainSession.delegateDuringNextWait(object : Callbacks.PermissionDelegate {
|
||||
// mainSession.delegateDuringNextWait(object : PermissionDelegate {
|
||||
// @AssertCalled(count = 1)
|
||||
// override fun onContentPermissionRequest(
|
||||
// session: GeckoSession, uri: String?, type: Int,
|
||||
|
|
|
@ -13,8 +13,9 @@ import org.junit.Ignore
|
|||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.mozilla.geckoview.GeckoSession
|
||||
import org.mozilla.geckoview.GeckoSession.NavigationDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.ProgressDelegate
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.*
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
@MediumTest
|
||||
|
@ -27,8 +28,8 @@ class ProgressDelegateTest : BaseSessionTest() {
|
|||
var counter = 0
|
||||
var lastProgress = -1
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate,
|
||||
Callbacks.NavigationDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate,
|
||||
NavigationDelegate {
|
||||
@AssertCalled
|
||||
override fun onLocationChange(session: GeckoSession, url: String?, perms : MutableList<GeckoSession.PermissionDelegate.ContentPermission>) {
|
||||
assertThat("LocationChange is called", url, endsWith(path))
|
||||
|
@ -70,7 +71,7 @@ class ProgressDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
assertThat("Session should not be null", session, notNullValue())
|
||||
|
@ -101,7 +102,7 @@ class ProgressDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStops(2)
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 2, order = [1, 3])
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
assertThat("URL should match", url,
|
||||
|
@ -125,7 +126,7 @@ class ProgressDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.reload()
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
assertThat("URL should match", url, endsWith(HELLO_HTML_PATH))
|
||||
|
@ -152,7 +153,7 @@ class ProgressDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.goBack()
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
assertThat("URL should match", url, endsWith(HELLO_HTML_PATH))
|
||||
|
@ -172,7 +173,7 @@ class ProgressDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.goForward()
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
assertThat("URL should match", url, endsWith(HELLO2_HTML_PATH))
|
||||
|
@ -196,7 +197,7 @@ class ProgressDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.loadUri("https://example.com")
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onSecurityChange(session: GeckoSession,
|
||||
securityInfo: GeckoSession.ProgressDelegate.SecurityInformation) {
|
||||
|
@ -236,7 +237,7 @@ class ProgressDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.loadUri("https://mozilla-modern.badssl.com")
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onSecurityChange(session: GeckoSession,
|
||||
securityInfo: GeckoSession.ProgressDelegate.SecurityInformation) {
|
||||
|
@ -277,7 +278,7 @@ class ProgressDelegateTest : BaseSessionTest() {
|
|||
"https://expired.badssl.com")
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
assertThat("Load should fail", success, equalTo(false))
|
||||
|
@ -327,7 +328,7 @@ class ProgressDelegateTest : BaseSessionTest() {
|
|||
waitForVerticalScroll(100.0, sessionRule.env.defaultTimeoutMillis.toDouble())
|
||||
|
||||
var savedState : GeckoSession.SessionState? = null
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.waitUntilCalled(object : ProgressDelegate {
|
||||
@AssertCalled(count=1)
|
||||
override fun onSessionStateChange(session: GeckoSession, state: GeckoSession.SessionState) {
|
||||
savedState = state
|
||||
|
@ -357,7 +358,7 @@ class ProgressDelegateTest : BaseSessionTest() {
|
|||
session.restoreState(savedState)
|
||||
session.waitForPageStop()
|
||||
|
||||
session.forCallbacksDuringWait(object : Callbacks.NavigationDelegate {
|
||||
session.forCallbacksDuringWait(object : NavigationDelegate {
|
||||
@AssertCalled
|
||||
override fun onLocationChange(session: GeckoSession, url: String?, perms : MutableList<GeckoSession.PermissionDelegate.ContentPermission>) {
|
||||
assertThat("URI should match", url, equalTo(startUri))
|
||||
|
@ -376,7 +377,7 @@ class ProgressDelegateTest : BaseSessionTest() {
|
|||
|
||||
session.goBack()
|
||||
|
||||
session.waitUntilCalled(object: Callbacks.NavigationDelegate {
|
||||
session.waitUntilCalled(object: NavigationDelegate {
|
||||
override fun onLocationChange(session: GeckoSession, url: String?, perms : MutableList<GeckoSession.PermissionDelegate.ContentPermission>) {
|
||||
assertThat("History should be preserved", url, equalTo(helloUri))
|
||||
}
|
||||
|
@ -396,7 +397,7 @@ class ProgressDelegateTest : BaseSessionTest() {
|
|||
mainSession.restoreState(savedState)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(object : Callbacks.NavigationDelegate {
|
||||
sessionRule.forCallbacksDuringWait(object : NavigationDelegate {
|
||||
@AssertCalled
|
||||
override fun onLocationChange(session: GeckoSession, url: String?) {
|
||||
assertThat("URI should match", url, equalTo(startUri))
|
||||
|
@ -424,7 +425,7 @@ class ProgressDelegateTest : BaseSessionTest() {
|
|||
|
||||
var oldState : GeckoSession.SessionState? = null
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.waitUntilCalled(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onSessionStateChange(session: GeckoSession, sessionState: GeckoSession.SessionState) {
|
||||
oldState = sessionState
|
||||
|
@ -435,7 +436,7 @@ class ProgressDelegateTest : BaseSessionTest() {
|
|||
|
||||
mainSession.setActive(false)
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.waitUntilCalled(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onSessionStateChange(session: GeckoSession, sessionState: GeckoSession.SessionState) {
|
||||
assertThat("Old session state and new should match", sessionState, equalTo(oldState))
|
||||
|
@ -456,7 +457,7 @@ class ProgressDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.waitUntilCalled(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onSessionStateChange(session: GeckoSession, sessionState: GeckoSession.SessionState) {
|
||||
}
|
||||
|
|
|
@ -3,11 +3,12 @@ package org.mozilla.geckoview.test
|
|||
import org.mozilla.geckoview.AllowOrDeny
|
||||
import org.mozilla.geckoview.GeckoResult
|
||||
import org.mozilla.geckoview.GeckoSession
|
||||
import org.mozilla.geckoview.GeckoSession.NavigationDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.NavigationDelegate.LoadRequest
|
||||
import org.mozilla.geckoview.GeckoSession.ProgressDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.PromptDelegate
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.AssertCalled
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
|
||||
import androidx.test.filters.MediumTest
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
|
@ -24,7 +25,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
// Ensure popup blocking is enabled for this test.
|
||||
sessionRule.setPrefsUntilTestEnd(mapOf("dom.disable_open_during_load" to true))
|
||||
|
||||
sessionRule.delegateDuringNextWait(object : Callbacks.PromptDelegate, Callbacks.NavigationDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : PromptDelegate, NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPopupPrompt(session: GeckoSession, prompt: PromptDelegate.PopupPrompt)
|
||||
: GeckoResult<PromptDelegate.PromptResponse>? {
|
||||
|
@ -52,14 +53,14 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
})
|
||||
|
||||
sessionRule.session.loadTestPath(POPUP_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(Callbacks.NavigationDelegate::class, "onNewSession")
|
||||
sessionRule.waitUntilCalled(NavigationDelegate::class, "onNewSession")
|
||||
}
|
||||
|
||||
@Test fun popupTestBlock() {
|
||||
// Ensure popup blocking is enabled for this test.
|
||||
sessionRule.setPrefsUntilTestEnd(mapOf("dom.disable_open_during_load" to true))
|
||||
|
||||
sessionRule.delegateUntilTestEnd(object : Callbacks.PromptDelegate, Callbacks.NavigationDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : PromptDelegate, NavigationDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onPopupPrompt(session: GeckoSession, prompt: PromptDelegate.PopupPrompt)
|
||||
: GeckoResult<PromptDelegate.PromptResponse>? {
|
||||
|
@ -93,7 +94,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
@Test fun alertTest() {
|
||||
sessionRule.session.evaluateJS("alert('Alert!');")
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.PromptDelegate {
|
||||
sessionRule.waitUntilCalled(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onAlertPrompt(session: GeckoSession, prompt: PromptDelegate.AlertPrompt): GeckoResult<PromptDelegate.PromptResponse> {
|
||||
assertThat("Message should match", "Alert!", equalTo(prompt.message))
|
||||
|
@ -103,7 +104,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
}
|
||||
|
||||
@Test fun dismissAuthTest() {
|
||||
sessionRule.delegateUntilTestEnd(object : Callbacks.PromptDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : PromptDelegate {
|
||||
@AssertCalled(count = 2)
|
||||
override fun onAuthPrompt(session: GeckoSession, prompt: PromptDelegate.AuthPrompt): GeckoResult<PromptDelegate.PromptResponse>? {
|
||||
//TODO: Figure out some better testing here.
|
||||
|
@ -122,7 +123,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.delegateDuringNextWait(object : Callbacks.PromptDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onButtonPrompt(session: GeckoSession, prompt: PromptDelegate.ButtonPrompt): GeckoResult<PromptDelegate.PromptResponse> {
|
||||
assertThat("Message should match", "Confirm?", equalTo(prompt.message))
|
||||
|
@ -134,7 +135,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.waitForJS("confirm('Confirm?')") as Boolean,
|
||||
equalTo(true))
|
||||
|
||||
sessionRule.delegateDuringNextWait(object : Callbacks.PromptDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onButtonPrompt(session: GeckoSession, prompt: PromptDelegate.ButtonPrompt): GeckoResult<PromptDelegate.PromptResponse> {
|
||||
assertThat("Message should match", "Confirm?", equalTo(prompt.message))
|
||||
|
@ -161,7 +162,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
sessionRule.waitForPageStop()
|
||||
|
||||
val result = GeckoResult<Void>()
|
||||
sessionRule.delegateUntilTestEnd(object: Callbacks.ProgressDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object: ProgressDelegate {
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
assertThat("Only HELLO_HTML_PATH should load", url, endsWith(HELLO_HTML_PATH))
|
||||
result.complete(null)
|
||||
|
@ -171,7 +172,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
val promptResult = GeckoResult<PromptDelegate.PromptResponse>()
|
||||
val promptResult2 = GeckoResult<PromptDelegate.PromptResponse>()
|
||||
|
||||
sessionRule.delegateUntilTestEnd(object : Callbacks.PromptDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : PromptDelegate {
|
||||
@AssertCalled(count = 2)
|
||||
override fun onRepostConfirmPrompt(session: GeckoSession, prompt: PromptDelegate.RepostConfirmPrompt): GeckoResult<PromptDelegate.PromptResponse>? {
|
||||
// We have to return something here because otherwise the delegate will be invoked
|
||||
|
@ -183,7 +184,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
// This should trigger a confirm resubmit prompt
|
||||
sessionRule.session.reload();
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.PromptDelegate {
|
||||
sessionRule.waitUntilCalled(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onRepostConfirmPrompt(session: GeckoSession, prompt: PromptDelegate.RepostConfirmPrompt): GeckoResult<PromptDelegate.PromptResponse>? {
|
||||
promptResult.complete(prompt.confirm(AllowOrDeny.DENY))
|
||||
|
@ -195,7 +196,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
|
||||
// Trigger it again, this time the load should go through
|
||||
sessionRule.session.reload();
|
||||
sessionRule.waitUntilCalled(object : Callbacks.PromptDelegate {
|
||||
sessionRule.waitUntilCalled(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onRepostConfirmPrompt(session: GeckoSession, prompt: PromptDelegate.RepostConfirmPrompt): GeckoResult<PromptDelegate.PromptResponse>? {
|
||||
promptResult2.complete(prompt.confirm(AllowOrDeny.ALLOW))
|
||||
|
@ -216,7 +217,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
sessionRule.waitForPageStop()
|
||||
|
||||
val result = GeckoResult<Void>()
|
||||
sessionRule.delegateUntilTestEnd(object: Callbacks.ProgressDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object: ProgressDelegate {
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
assertThat("Only HELLO2_HTML_PATH should load", url, endsWith(HELLO2_HTML_PATH))
|
||||
result.complete(null)
|
||||
|
@ -226,7 +227,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
val promptResult = GeckoResult<PromptDelegate.PromptResponse>()
|
||||
val promptResult2 = GeckoResult<PromptDelegate.PromptResponse>()
|
||||
|
||||
sessionRule.delegateUntilTestEnd(object : Callbacks.PromptDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : PromptDelegate {
|
||||
@AssertCalled(count = 2)
|
||||
override fun onBeforeUnloadPrompt(session: GeckoSession, prompt: PromptDelegate.BeforeUnloadPrompt): GeckoResult<PromptDelegate.PromptResponse>? {
|
||||
// We have to return something here because otherwise the delegate will be invoked
|
||||
|
@ -238,7 +239,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
// This will try to load "hello.html" but will be denied, if the request
|
||||
// goes through anyway the onLoadRequest delegate above will throw an exception
|
||||
sessionRule.session.evaluateJS("document.querySelector('#navigateAway').click()")
|
||||
sessionRule.waitUntilCalled(object : Callbacks.PromptDelegate {
|
||||
sessionRule.waitUntilCalled(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onBeforeUnloadPrompt(session: GeckoSession, prompt: PromptDelegate.BeforeUnloadPrompt): GeckoResult<PromptDelegate.PromptResponse>? {
|
||||
promptResult.complete(prompt.confirm(AllowOrDeny.DENY))
|
||||
|
@ -251,7 +252,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
// This request will go through and end the test. Doing the negative case first will
|
||||
// ensure that if either of this tests fail the test will fail.
|
||||
sessionRule.session.evaluateJS("document.querySelector('#navigateAway2').click()")
|
||||
sessionRule.waitUntilCalled(object : Callbacks.PromptDelegate {
|
||||
sessionRule.waitUntilCalled(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onBeforeUnloadPrompt(session: GeckoSession, prompt: PromptDelegate.BeforeUnloadPrompt): GeckoResult<PromptDelegate.PromptResponse>? {
|
||||
promptResult2.complete(prompt.confirm(AllowOrDeny.ALLOW))
|
||||
|
@ -267,7 +268,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.session.waitForPageStop()
|
||||
|
||||
sessionRule.delegateUntilTestEnd(object : Callbacks.PromptDelegate {
|
||||
sessionRule.delegateUntilTestEnd(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onTextPrompt(session: GeckoSession, prompt: PromptDelegate.TextPrompt): GeckoResult<PromptDelegate.PromptResponse> {
|
||||
assertThat("Message should match", "Prompt:", equalTo(prompt.message))
|
||||
|
@ -290,7 +291,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
|
||||
sessionRule.session.evaluateJS("document.getElementById('selectexample').click();")
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.PromptDelegate {
|
||||
sessionRule.waitUntilCalled(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onChoicePrompt(session: GeckoSession, prompt: PromptDelegate.ChoicePrompt): GeckoResult<PromptDelegate.PromptResponse> {
|
||||
return GeckoResult.fromValue(prompt.dismiss())
|
||||
|
@ -304,7 +305,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
sessionRule.session.loadTestPath(PROMPT_HTML_PATH)
|
||||
sessionRule.session.waitForPageStop()
|
||||
|
||||
sessionRule.delegateDuringNextWait(object : Callbacks.PromptDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onColorPrompt(session: GeckoSession, prompt: PromptDelegate.ColorPrompt): GeckoResult<PromptDelegate.PromptResponse> {
|
||||
assertThat("Value should match", "#ffffff", equalTo(prompt.defaultValue))
|
||||
|
@ -341,7 +342,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
|
||||
sessionRule.session.evaluateJS("document.getElementById('dateexample').click();")
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.PromptDelegate {
|
||||
sessionRule.waitUntilCalled(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onDateTimePrompt(session: GeckoSession, prompt: PromptDelegate.DateTimePrompt): GeckoResult<PromptDelegate.PromptResponse> {
|
||||
return GeckoResult.fromValue(prompt.dismiss())
|
||||
|
@ -357,7 +358,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
|
||||
sessionRule.session.evaluateJS("document.getElementById('fileexample').click();")
|
||||
|
||||
sessionRule.waitUntilCalled(object : Callbacks.PromptDelegate {
|
||||
sessionRule.waitUntilCalled(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onFilePrompt(session: GeckoSession, prompt: PromptDelegate.FilePrompt): GeckoResult<PromptDelegate.PromptResponse> {
|
||||
assertThat("Length of mimeTypes should match", 2, equalTo(prompt.mimeTypes!!.size))
|
||||
|
@ -376,7 +377,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
|
||||
val shareText = "Example share text"
|
||||
|
||||
sessionRule.delegateDuringNextWait(object : Callbacks.PromptDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onSharePrompt(session: GeckoSession, prompt: PromptDelegate.SharePrompt): GeckoResult<PromptDelegate.PromptResponse>? {
|
||||
assertThat("Text field is not null", prompt.text, notNullValue())
|
||||
|
@ -401,7 +402,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
|
||||
val shareUrl = "https://example.com/"
|
||||
|
||||
sessionRule.delegateDuringNextWait(object : Callbacks.PromptDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onSharePrompt(session: GeckoSession, prompt: PromptDelegate.SharePrompt): GeckoResult<PromptDelegate.PromptResponse>? {
|
||||
assertThat("Text field is null", prompt.text, nullValue())
|
||||
|
@ -426,7 +427,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
|
||||
val shareTitle = "Title!"
|
||||
|
||||
sessionRule.delegateDuringNextWait(object : Callbacks.PromptDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onSharePrompt(session: GeckoSession, prompt: PromptDelegate.SharePrompt): GeckoResult<PromptDelegate.PromptResponse>? {
|
||||
assertThat("Text field is null", prompt.text, nullValue())
|
||||
|
@ -451,7 +452,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
|
||||
val shareUrl = "https://www.example.com"
|
||||
|
||||
sessionRule.delegateDuringNextWait(object : Callbacks.PromptDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onSharePrompt(session: GeckoSession, prompt: PromptDelegate.SharePrompt): GeckoResult<PromptDelegate.PromptResponse>? {
|
||||
return GeckoResult.fromValue(prompt.confirm(PromptDelegate.SharePrompt.Result.FAILURE))
|
||||
|
@ -474,7 +475,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
|
||||
val shareUrl = "https://www.example.com"
|
||||
|
||||
sessionRule.delegateDuringNextWait(object : Callbacks.PromptDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onSharePrompt(session: GeckoSession, prompt: PromptDelegate.SharePrompt): GeckoResult<PromptDelegate.PromptResponse>? {
|
||||
return GeckoResult.fromValue(prompt.confirm(PromptDelegate.SharePrompt.Result.ABORT))
|
||||
|
@ -497,7 +498,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
|
||||
val shareUrl = "https://www.example.com"
|
||||
|
||||
sessionRule.delegateDuringNextWait(object : Callbacks.PromptDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : PromptDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onSharePrompt(session: GeckoSession, prompt: PromptDelegate.SharePrompt): GeckoResult<PromptDelegate.PromptResponse>? {
|
||||
return GeckoResult.fromValue(prompt.dismiss())
|
||||
|
@ -518,7 +519,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
mainSession.loadTestPath(HELLO_HTML_PATH)
|
||||
mainSession.waitForPageStop()
|
||||
|
||||
sessionRule.delegateDuringNextWait(object : Callbacks.PromptDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : PromptDelegate {
|
||||
@AssertCalled(count = 0)
|
||||
override fun onSharePrompt(session: GeckoSession, prompt: PromptDelegate.SharePrompt): GeckoResult<PromptDelegate.PromptResponse>? {
|
||||
return GeckoResult.fromValue(prompt.dismiss())
|
||||
|
@ -542,7 +543,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
// Invalid port should cause URL parser to fail.
|
||||
val shareUrl = "http://www.example.com:123456"
|
||||
|
||||
sessionRule.delegateDuringNextWait(object : Callbacks.PromptDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : PromptDelegate {
|
||||
@AssertCalled(count = 0)
|
||||
override fun onSharePrompt(session: GeckoSession, prompt: PromptDelegate.SharePrompt): GeckoResult<PromptDelegate.PromptResponse>? {
|
||||
return GeckoResult.fromValue(prompt.dismiss())
|
||||
|
@ -565,7 +566,7 @@ class PromptDelegateTest : BaseSessionTest() {
|
|||
|
||||
val shareUrl = "https://www.example.com"
|
||||
|
||||
sessionRule.delegateDuringNextWait(object : Callbacks.PromptDelegate {
|
||||
sessionRule.delegateDuringNextWait(object : PromptDelegate {
|
||||
@AssertCalled(count = 0)
|
||||
override fun onSharePrompt(session: GeckoSession, prompt: PromptDelegate.SharePrompt): GeckoResult<PromptDelegate.PromptResponse>? {
|
||||
return GeckoResult.fromValue(prompt.dismiss())
|
||||
|
|
|
@ -8,19 +8,17 @@ import android.provider.Settings
|
|||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import androidx.test.filters.MediumTest
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import android.util.Log
|
||||
import org.hamcrest.Matchers.*
|
||||
import org.junit.Assume.assumeThat
|
||||
import org.junit.Ignore
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.mozilla.geckoview.GeckoResult
|
||||
import kotlin.math.roundToInt
|
||||
import org.mozilla.geckoview.GeckoSession
|
||||
import org.mozilla.geckoview.GeckoSession.NavigationDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.ProgressDelegate
|
||||
import org.mozilla.geckoview.WebRequestError
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.AssertCalled
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
import java.util.concurrent.atomic.AtomicBoolean
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
@MediumTest
|
||||
|
@ -158,7 +156,7 @@ class RuntimeSettingsTest : BaseSessionTest() {
|
|||
settings.aboutConfigEnabled, equalTo(false))
|
||||
|
||||
mainSession.loadUri("about:config")
|
||||
mainSession.waitUntilCalled(object : Callbacks.NavigationDelegate {
|
||||
mainSession.waitUntilCalled(object : NavigationDelegate {
|
||||
@AssertCalled
|
||||
override fun onLoadError(session: GeckoSession, uri: String?, error: WebRequestError):
|
||||
GeckoResult<String>? {
|
||||
|
@ -169,7 +167,7 @@ class RuntimeSettingsTest : BaseSessionTest() {
|
|||
|
||||
settings.aboutConfigEnabled = true
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.ProgressDelegate {
|
||||
mainSession.delegateDuringNextWait(object : ProgressDelegate {
|
||||
@AssertCalled
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
assertThat("about:config load should succeed", success, equalTo(true))
|
||||
|
|
|
@ -19,9 +19,10 @@ import org.mozilla.geckoview.GeckoResult
|
|||
import org.mozilla.geckoview.GeckoResult.OnExceptionListener
|
||||
import org.mozilla.geckoview.GeckoResult.fromException
|
||||
import org.mozilla.geckoview.GeckoSession
|
||||
import org.mozilla.geckoview.GeckoSession.ProgressDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.ContentDelegate
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.AssertCalled
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.WithDisplay
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
import kotlin.math.absoluteValue
|
||||
import kotlin.math.max
|
||||
import android.graphics.BitmapFactory
|
||||
|
@ -29,8 +30,6 @@ import android.graphics.Bitmap
|
|||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import org.junit.Assume.assumeThat
|
||||
import java.lang.IllegalStateException
|
||||
import java.lang.NullPointerException
|
||||
|
||||
|
||||
private const val SCREEN_HEIGHT = 800
|
||||
private const val SCREEN_WIDTH = 800
|
||||
|
@ -96,7 +95,7 @@ class ScreenshotTest : BaseSessionTest() {
|
|||
val screenshotFile = getComparisonScreenshot(SCREEN_WIDTH, SCREEN_HEIGHT)
|
||||
|
||||
sessionRule.session.loadTestPath(COLORS_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onFirstContentfulPaint(session: GeckoSession) {
|
||||
}
|
||||
|
@ -113,7 +112,7 @@ class ScreenshotTest : BaseSessionTest() {
|
|||
val screenshotFile = getComparisonScreenshot(SCREEN_WIDTH, SCREEN_HEIGHT)
|
||||
|
||||
sessionRule.session.loadTestPath(COLORS_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onFirstContentfulPaint(session: GeckoSession) {
|
||||
}
|
||||
|
@ -209,7 +208,7 @@ class ScreenshotTest : BaseSessionTest() {
|
|||
val screenshotFile = getComparisonScreenshot(SCREEN_WIDTH, SCREEN_HEIGHT)
|
||||
|
||||
sessionRule.session.loadTestPath(COLORS_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onFirstContentfulPaint(session: GeckoSession) {
|
||||
}
|
||||
|
@ -218,7 +217,7 @@ class ScreenshotTest : BaseSessionTest() {
|
|||
sessionRule.session.setActive(false)
|
||||
|
||||
// Deactivating the session should trigger a flush state change
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.waitUntilCalled(object : ProgressDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onSessionStateChange(session: GeckoSession,
|
||||
sessionState: GeckoSession.SessionState) {}
|
||||
|
@ -235,7 +234,7 @@ class ScreenshotTest : BaseSessionTest() {
|
|||
val screenshotFile = getComparisonScreenshot(SCREEN_WIDTH, SCREEN_HEIGHT)
|
||||
|
||||
sessionRule.session.loadTestPath(COLORS_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onFirstContentfulPaint(session: GeckoSession) {
|
||||
}
|
||||
|
@ -252,7 +251,7 @@ class ScreenshotTest : BaseSessionTest() {
|
|||
val screenshotFile = getComparisonScreenshot(SCREEN_WIDTH/2, SCREEN_HEIGHT/2)
|
||||
|
||||
sessionRule.session.loadTestPath(COLORS_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onFirstContentfulPaint(session: GeckoSession) {
|
||||
}
|
||||
|
@ -269,7 +268,7 @@ class ScreenshotTest : BaseSessionTest() {
|
|||
val screenshotFile = getComparisonScreenshot(SCREEN_WIDTH/2, SCREEN_HEIGHT/2)
|
||||
|
||||
sessionRule.session.loadTestPath(COLORS_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onFirstContentfulPaint(session: GeckoSession) {
|
||||
}
|
||||
|
@ -286,7 +285,7 @@ class ScreenshotTest : BaseSessionTest() {
|
|||
val screenshotFile = getComparisonScreenshot(SCREEN_WIDTH/2, SCREEN_HEIGHT/2)
|
||||
|
||||
sessionRule.session.loadTestPath(COLORS_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onFirstContentfulPaint(session: GeckoSession) {
|
||||
}
|
||||
|
@ -303,7 +302,7 @@ class ScreenshotTest : BaseSessionTest() {
|
|||
val screenshotFile = getComparisonScreenshot(SCREEN_WIDTH, SCREEN_HEIGHT)
|
||||
|
||||
sessionRule.session.loadTestPath(COLORS_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onFirstContentfulPaint(session: GeckoSession) {
|
||||
}
|
||||
|
@ -325,7 +324,7 @@ class ScreenshotTest : BaseSessionTest() {
|
|||
val screenshotFile = getComparisonScreenshot(SCREEN_WIDTH, SCREEN_HEIGHT)
|
||||
|
||||
sessionRule.session.loadTestPath(COLORS_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onFirstContentfulPaint(session: GeckoSession) {
|
||||
}
|
||||
|
@ -342,7 +341,7 @@ class ScreenshotTest : BaseSessionTest() {
|
|||
val screenshotFile = getComparisonScreenshot(SCREEN_WIDTH/2, SCREEN_HEIGHT/2)
|
||||
|
||||
sessionRule.session.loadTestPath(COLORS_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onFirstContentfulPaint(session: GeckoSession) {
|
||||
}
|
||||
|
@ -361,7 +360,7 @@ class ScreenshotTest : BaseSessionTest() {
|
|||
fun screenshotQuarters() {
|
||||
val res = InstrumentationRegistry.getInstrumentation().targetContext.resources
|
||||
sessionRule.session.loadTestPath(COLORS_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onFirstContentfulPaint(session: GeckoSession) {
|
||||
}
|
||||
|
@ -384,7 +383,7 @@ class ScreenshotTest : BaseSessionTest() {
|
|||
fun screenshotQuartersScaled() {
|
||||
val res = InstrumentationRegistry.getInstrumentation().targetContext.resources
|
||||
sessionRule.session.loadTestPath(COLORS_HTML_PATH)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onFirstContentfulPaint(session: GeckoSession) {
|
||||
}
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
|
||||
package org.mozilla.geckoview.test
|
||||
|
||||
import org.mozilla.geckoview.GeckoSession.SelectionActionDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.SelectionActionDelegate.*
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.AssertCalled
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.NullDelegate
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.WithDisplay
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
|
||||
import android.content.ClipData
|
||||
import android.content.ClipboardManager
|
||||
|
@ -172,7 +172,7 @@ class SelectionActionDelegateTest : BaseSessionTest() {
|
|||
@NullDelegate(GeckoSession.SelectionActionDelegate::class)
|
||||
@Test fun clearDelegate() {
|
||||
var counter = 0
|
||||
mainSession.selectionActionDelegate = object : Callbacks.SelectionActionDelegate {
|
||||
mainSession.selectionActionDelegate = object : SelectionActionDelegate {
|
||||
override fun onHideAction(session: GeckoSession, reason: Int) {
|
||||
counter++
|
||||
}
|
||||
|
@ -224,14 +224,14 @@ class SelectionActionDelegateTest : BaseSessionTest() {
|
|||
"geckoview.selection_action.show_on_focus" to true,
|
||||
"layout.accessiblecaret.script_change_update_mode" to 2))
|
||||
|
||||
mainSession.delegateDuringNextWait(object : Callbacks.SelectionActionDelegate {
|
||||
mainSession.delegateDuringNextWait(object : SelectionActionDelegate {
|
||||
override fun onShowActionRequest(session: GeckoSession, selection: GeckoSession.SelectionActionDelegate.Selection) {
|
||||
respondingWith(selection)
|
||||
}
|
||||
})
|
||||
|
||||
content.select()
|
||||
mainSession.waitUntilCalled(object : Callbacks.SelectionActionDelegate {
|
||||
mainSession.waitUntilCalled(object : SelectionActionDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onShowActionRequest(session: GeckoSession, selection: Selection) {
|
||||
assertThat("Initial content should match",
|
||||
|
@ -266,7 +266,7 @@ class SelectionActionDelegateTest : BaseSessionTest() {
|
|||
|
||||
var clientRect = RectF()
|
||||
content.select()
|
||||
mainSession.waitUntilCalled(object : Callbacks.SelectionActionDelegate {
|
||||
mainSession.waitUntilCalled(object : SelectionActionDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onShowActionRequest(session: GeckoSession, selection: Selection) {
|
||||
clientRect = selection.clientRect!!
|
||||
|
@ -436,7 +436,7 @@ class SelectionActionDelegateTest : BaseSessionTest() {
|
|||
|
||||
private fun hasShowActionRequest(expectedFlags: Int,
|
||||
expectedActions: Array<out String>) = { it: SelectedContent ->
|
||||
mainSession.forCallbacksDuringWait(object : Callbacks.SelectionActionDelegate {
|
||||
mainSession.forCallbacksDuringWait(object : SelectionActionDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onShowActionRequest(session: GeckoSession, selection: GeckoSession.SelectionActionDelegate.Selection) {
|
||||
assertThat("Selection text should be valid",
|
||||
|
@ -462,7 +462,7 @@ class SelectionActionDelegateTest : BaseSessionTest() {
|
|||
private fun changesSelectionTo(text: String) = changesSelectionTo(equalTo(text))
|
||||
|
||||
private fun changesSelectionTo(matcher: Matcher<String>) = { _: SelectedContent ->
|
||||
sessionRule.waitUntilCalled(object : Callbacks.SelectionActionDelegate {
|
||||
sessionRule.waitUntilCalled(object : SelectionActionDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onShowActionRequest(session: GeckoSession, selection: Selection) {
|
||||
assertThat("New selection text should match", selection.text, matcher)
|
||||
|
@ -471,7 +471,7 @@ class SelectionActionDelegateTest : BaseSessionTest() {
|
|||
}
|
||||
|
||||
private fun clearsSelection() = { _: SelectedContent ->
|
||||
sessionRule.waitUntilCalled(object : Callbacks.SelectionActionDelegate {
|
||||
sessionRule.waitUntilCalled(object : SelectionActionDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onHideAction(session: GeckoSession, reason: Int) {
|
||||
assertThat("Hide reason should be correct",
|
||||
|
|
|
@ -8,9 +8,9 @@ import android.os.SystemClock
|
|||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import org.mozilla.geckoview.GeckoResult
|
||||
import org.mozilla.geckoview.GeckoSession
|
||||
import org.mozilla.geckoview.GeckoSession.TextInputDelegate
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.AssertCalled
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.WithDisplay
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
|
||||
import androidx.test.filters.MediumTest
|
||||
import android.os.Handler;
|
||||
|
@ -29,9 +29,6 @@ import org.junit.Test
|
|||
import org.junit.runner.RunWith
|
||||
import org.junit.runners.Parameterized
|
||||
import org.junit.runners.Parameterized.Parameter
|
||||
import org.mozilla.geckoview.test.util.UiThreadUtils
|
||||
import java.util.*
|
||||
import java.util.concurrent.atomic.AtomicBoolean
|
||||
|
||||
@MediumTest
|
||||
@RunWith(Parameterized::class)
|
||||
|
@ -199,7 +196,7 @@ class TextInputDelegateTest : BaseSessionTest() {
|
|||
mainSession.waitForPageStop()
|
||||
|
||||
mainSession.evaluateJS("document.querySelector('$id').focus()")
|
||||
mainSession.waitUntilCalled(object : Callbacks.TextInputDelegate {
|
||||
mainSession.waitUntilCalled(object : TextInputDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun restartInput(session: GeckoSession, reason: Int) {
|
||||
assertThat("Reason should be correct",
|
||||
|
@ -208,7 +205,7 @@ class TextInputDelegateTest : BaseSessionTest() {
|
|||
})
|
||||
|
||||
mainSession.evaluateJS("document.querySelector('$id').blur()")
|
||||
mainSession.waitUntilCalled(object : Callbacks.TextInputDelegate {
|
||||
mainSession.waitUntilCalled(object : TextInputDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun restartInput(session: GeckoSession, reason: Int) {
|
||||
assertThat("Reason should be correct",
|
||||
|
@ -243,7 +240,7 @@ class TextInputDelegateTest : BaseSessionTest() {
|
|||
mainSession.pressKey(KeyEvent.KEYCODE_CTRL_LEFT)
|
||||
mainSession.evaluateJS("document.querySelector('$id').focus()")
|
||||
|
||||
mainSession.waitUntilCalled(object : Callbacks.TextInputDelegate {
|
||||
mainSession.waitUntilCalled(object : TextInputDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun restartInput(session: GeckoSession, reason: Int) {
|
||||
assertThat("Reason should be correct",
|
||||
|
@ -252,12 +249,10 @@ class TextInputDelegateTest : BaseSessionTest() {
|
|||
|
||||
@AssertCalled(count = 1, order = [2])
|
||||
override fun showSoftInput(session: GeckoSession) {
|
||||
super.showSoftInput(session)
|
||||
}
|
||||
|
||||
@AssertCalled(count = 0)
|
||||
override fun hideSoftInput(session: GeckoSession) {
|
||||
super.hideSoftInput(session)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
@ -279,7 +274,7 @@ class TextInputDelegateTest : BaseSessionTest() {
|
|||
// but only one showSoftInput call and no hideSoftInput call.
|
||||
mainSession.evaluateJS("document.querySelector('$id').blur(); document.querySelector('$id').focus()")
|
||||
|
||||
mainSession.waitUntilCalled(object : Callbacks.TextInputDelegate {
|
||||
mainSession.waitUntilCalled(object : TextInputDelegate {
|
||||
@AssertCalled(count = 2, order = [1])
|
||||
override fun restartInput(session: GeckoSession, reason: Int) {
|
||||
assertThat("Reason should be correct", reason, equalTo(forEachCall(
|
||||
|
@ -308,7 +303,7 @@ class TextInputDelegateTest : BaseSessionTest() {
|
|||
mainSession.pressKey(KeyEvent.KEYCODE_CTRL_LEFT)
|
||||
|
||||
mainSession.evaluateJS("document.querySelector('$id').focus()")
|
||||
mainSession.waitUntilCalled(object : Callbacks.TextInputDelegate {
|
||||
mainSession.waitUntilCalled(object : TextInputDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun restartInput(session: GeckoSession, reason: Int) {
|
||||
}
|
||||
|
@ -323,7 +318,7 @@ class TextInputDelegateTest : BaseSessionTest() {
|
|||
})
|
||||
|
||||
mainSession.evaluateJS("document.querySelector('$id').blur()")
|
||||
mainSession.waitUntilCalled(object : Callbacks.TextInputDelegate {
|
||||
mainSession.waitUntilCalled(object : TextInputDelegate {
|
||||
@AssertCalled(count = 1, order = [1])
|
||||
override fun restartInput(session: GeckoSession, reason: Int) {
|
||||
}
|
||||
|
|
|
@ -17,8 +17,8 @@ import android.graphics.Bitmap
|
|||
import org.hamcrest.Matchers
|
||||
import org.hamcrest.Matchers.equalTo
|
||||
import org.mozilla.geckoview.GeckoSession
|
||||
import org.mozilla.geckoview.GeckoSession.ContentDelegate
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.AssertCalled
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
|
||||
|
||||
private const val SCREEN_HEIGHT = 800
|
||||
|
@ -67,7 +67,7 @@ class VerticalClippingTest : BaseSessionTest() {
|
|||
assumeThat(sessionRule.env.isWebrender, equalTo(false))
|
||||
sessionRule.display?.setVerticalClipping(45)
|
||||
sessionRule.session.loadTestPath(FIXED_BOTTOM)
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ContentDelegate {
|
||||
sessionRule.waitUntilCalled(object : ContentDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onFirstContentfulPaint(session: GeckoSession) {
|
||||
}
|
||||
|
@ -78,4 +78,4 @@ class VerticalClippingTest : BaseSessionTest() {
|
|||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,8 +14,9 @@ import org.junit.Assume.assumeThat
|
|||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.mozilla.gecko.EventDispatcher
|
||||
import org.mozilla.geckoview.*
|
||||
import org.mozilla.geckoview.GeckoSession.NavigationDelegate
|
||||
import org.mozilla.geckoview.GeckoSession.ProgressDelegate
|
||||
import org.mozilla.geckoview.WebExtension.*
|
||||
import org.mozilla.geckoview.WebExtension.BrowsingDataDelegate.Type.*
|
||||
import org.mozilla.geckoview.WebExtensionController.EnableSource
|
||||
|
@ -23,7 +24,6 @@ import org.mozilla.geckoview.test.rule.GeckoSessionTestRule
|
|||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.AssertCalled
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.Setting
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.RejectedPromiseException
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
import org.mozilla.geckoview.test.util.RuntimeCreator
|
||||
import org.mozilla.geckoview.test.util.UiThreadUtils
|
||||
import java.nio.charset.Charset
|
||||
|
@ -1191,7 +1191,7 @@ class WebExtensionTest : BaseSessionTest() {
|
|||
sessionRule.waitForPageStop()
|
||||
|
||||
var savedState : GeckoSession.SessionState? = null
|
||||
sessionRule.waitUntilCalled(object : Callbacks.ProgressDelegate {
|
||||
sessionRule.waitUntilCalled(object : ProgressDelegate {
|
||||
@AssertCalled(count=1)
|
||||
override fun onSessionStateChange(session: GeckoSession, state: GeckoSession.SessionState) {
|
||||
savedState = state
|
||||
|
@ -1635,7 +1635,7 @@ class WebExtensionTest : BaseSessionTest() {
|
|||
|
||||
mainSession.loadUri("http://example.com")
|
||||
|
||||
mainSession.waitUntilCalled(object : Callbacks.NavigationDelegate, Callbacks.ProgressDelegate {
|
||||
mainSession.waitUntilCalled(object : NavigationDelegate, ProgressDelegate {
|
||||
@GeckoSessionTestRule.AssertCalled(count = 1)
|
||||
override fun onLocationChange(session: GeckoSession, url: String?) {
|
||||
assertThat("Url should load example.com first",
|
||||
|
@ -1653,7 +1653,7 @@ class WebExtensionTest : BaseSessionTest() {
|
|||
var page: String? = null
|
||||
val pageStop = GeckoResult<Boolean>()
|
||||
|
||||
mainSession.delegateUntilTestEnd(object : Callbacks.NavigationDelegate, Callbacks.ProgressDelegate {
|
||||
mainSession.delegateUntilTestEnd(object : NavigationDelegate, ProgressDelegate {
|
||||
override fun onLocationChange(session: GeckoSession, url: String?) {
|
||||
page = url
|
||||
}
|
||||
|
|
|
@ -8,10 +8,10 @@ import org.junit.Test
|
|||
import org.junit.runner.RunWith
|
||||
import org.mozilla.geckoview.GeckoResult
|
||||
import org.mozilla.geckoview.GeckoSession
|
||||
import org.mozilla.geckoview.GeckoSession.PermissionDelegate
|
||||
import org.mozilla.geckoview.WebNotification
|
||||
import org.mozilla.geckoview.WebNotificationDelegate
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
@MediumTest
|
||||
|
@ -24,7 +24,7 @@ class WebNotificationTest : BaseSessionTest() {
|
|||
sessionRule.setPrefsUntilTestEnd(mapOf("dom.webnotifications.requireuserinteraction" to false))
|
||||
|
||||
// Grant "desktop notification" permission
|
||||
mainSession.delegateUntilTestEnd(object : Callbacks.PermissionDelegate {
|
||||
mainSession.delegateUntilTestEnd(object : PermissionDelegate {
|
||||
override fun onContentPermissionRequest(session: GeckoSession, perm: GeckoSession.PermissionDelegate.ContentPermission):
|
||||
GeckoResult<Int>? {
|
||||
assertThat("Should grant DESKTOP_NOTIFICATIONS permission", perm.permission, equalTo(GeckoSession.PermissionDelegate.PERMISSION_DESKTOP_NOTIFICATION))
|
||||
|
|
|
@ -16,9 +16,9 @@ import org.junit.Before
|
|||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.mozilla.geckoview.*
|
||||
import org.mozilla.geckoview.GeckoSession.PermissionDelegate
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule
|
||||
import org.mozilla.geckoview.test.rule.GeckoSessionTestRule.RejectedPromiseException
|
||||
import org.mozilla.geckoview.test.util.Callbacks
|
||||
import java.security.KeyPair
|
||||
import java.security.KeyPairGenerator
|
||||
import java.security.SecureRandom
|
||||
|
@ -59,7 +59,7 @@ class WebPushTest : BaseSessionTest() {
|
|||
fun setup() {
|
||||
sessionRule.setPrefsUntilTestEnd(mapOf("dom.webnotifications.requireuserinteraction" to false))
|
||||
// Grant "desktop notification" permission
|
||||
mainSession.delegateUntilTestEnd(object : Callbacks.PermissionDelegate {
|
||||
mainSession.delegateUntilTestEnd(object : PermissionDelegate {
|
||||
override fun onContentPermissionRequest(session: GeckoSession, perm: GeckoSession.PermissionDelegate.ContentPermission):
|
||||
GeckoResult<Int>? {
|
||||
assertThat("Should grant DESKTOP_NOTIFICATIONS permission", perm.permission, equalTo(GeckoSession.PermissionDelegate.PERMISSION_DESKTOP_NOTIFICATION))
|
||||
|
|
|
@ -13,6 +13,16 @@ import org.mozilla.geckoview.GeckoDisplay;
|
|||
import org.mozilla.geckoview.GeckoResult;
|
||||
import org.mozilla.geckoview.GeckoRuntime;
|
||||
import org.mozilla.geckoview.GeckoSession;
|
||||
import org.mozilla.geckoview.GeckoSession.ContentDelegate;
|
||||
import org.mozilla.geckoview.GeckoSession.HistoryDelegate;
|
||||
import org.mozilla.geckoview.GeckoSession.MediaDelegate;
|
||||
import org.mozilla.geckoview.GeckoSession.NavigationDelegate;
|
||||
import org.mozilla.geckoview.GeckoSession.PermissionDelegate;
|
||||
import org.mozilla.geckoview.GeckoSession.ProgressDelegate;
|
||||
import org.mozilla.geckoview.GeckoSession.PromptDelegate;
|
||||
import org.mozilla.geckoview.GeckoSession.ScrollDelegate;
|
||||
import org.mozilla.geckoview.GeckoSession.SelectionActionDelegate;
|
||||
import org.mozilla.geckoview.GeckoSession.TextInputDelegate;
|
||||
import org.mozilla.geckoview.GeckoSessionSettings;
|
||||
import org.mozilla.geckoview.MediaSession;
|
||||
import org.mozilla.geckoview.RuntimeTelemetry;
|
||||
|
@ -23,7 +33,6 @@ import org.mozilla.geckoview.test.util.TestServer;
|
|||
import org.mozilla.geckoview.test.util.RuntimeCreator;
|
||||
import org.mozilla.geckoview.test.util.Environment;
|
||||
import org.mozilla.geckoview.test.util.UiThreadUtils;
|
||||
import org.mozilla.geckoview.test.util.Callbacks;
|
||||
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import static org.junit.Assert.assertThat;
|
||||
|
@ -729,29 +738,40 @@ public class GeckoSessionTestRule implements TestRule {
|
|||
}
|
||||
}
|
||||
|
||||
private static void addCallbackClasses(final List<Class<?>> list, final Class<?> ifce) {
|
||||
if (!Callbacks.class.equals(ifce.getDeclaringClass())) {
|
||||
list.add(ifce);
|
||||
return;
|
||||
}
|
||||
final Class<?>[] superIfces = ifce.getInterfaces();
|
||||
for (final Class<?> superIfce : superIfces) {
|
||||
addCallbackClasses(list, superIfce);
|
||||
}
|
||||
private static final Set<Class<?>> DEFAULT_DELEGATES = new HashSet<>();
|
||||
static {
|
||||
DEFAULT_DELEGATES.add(Autofill.Delegate.class);
|
||||
DEFAULT_DELEGATES.add(ContentBlocking.Delegate.class);
|
||||
DEFAULT_DELEGATES.add(ContentDelegate.class);
|
||||
DEFAULT_DELEGATES.add(HistoryDelegate.class);
|
||||
DEFAULT_DELEGATES.add(MediaDelegate.class);
|
||||
DEFAULT_DELEGATES.add(MediaSession.Delegate.class);
|
||||
DEFAULT_DELEGATES.add(NavigationDelegate.class);
|
||||
DEFAULT_DELEGATES.add(PermissionDelegate.class);
|
||||
DEFAULT_DELEGATES.add(ProgressDelegate.class);
|
||||
DEFAULT_DELEGATES.add(PromptDelegate.class);
|
||||
DEFAULT_DELEGATES.add(ScrollDelegate.class);
|
||||
DEFAULT_DELEGATES.add(SelectionActionDelegate.class);
|
||||
DEFAULT_DELEGATES.add(TextInputDelegate.class);
|
||||
}
|
||||
|
||||
private static Set<Class<?>> getDefaultDelegates() {
|
||||
final Class<?>[] ifces = Callbacks.class.getDeclaredClasses();
|
||||
final List<Class<?>> list = new ArrayList<>(ifces.length);
|
||||
private static class DefaultImpl implements
|
||||
Autofill.Delegate,
|
||||
ContentBlocking.Delegate,
|
||||
ContentDelegate,
|
||||
HistoryDelegate,
|
||||
MediaDelegate,
|
||||
MediaSession.Delegate,
|
||||
NavigationDelegate,
|
||||
PermissionDelegate,
|
||||
ProgressDelegate,
|
||||
PromptDelegate,
|
||||
ScrollDelegate,
|
||||
SelectionActionDelegate,
|
||||
TextInputDelegate
|
||||
{}
|
||||
|
||||
for (final Class<?> ifce : ifces) {
|
||||
addCallbackClasses(list, ifce);
|
||||
}
|
||||
|
||||
return new HashSet<>(list);
|
||||
}
|
||||
|
||||
private static final Set<Class<?>> DEFAULT_DELEGATES = getDefaultDelegates();
|
||||
private static final DefaultImpl DEFAULT_IMPL = new DefaultImpl();
|
||||
|
||||
public final Environment env = new Environment();
|
||||
|
||||
|
@ -953,15 +973,9 @@ public class GeckoSessionTestRule implements TestRule {
|
|||
}
|
||||
|
||||
private void addNullDelegate(final Class<?> delegate) {
|
||||
if (!Callbacks.class.equals(delegate.getDeclaringClass())) {
|
||||
assertThat("Null-delegate must be valid interface class",
|
||||
delegate, isIn(DEFAULT_DELEGATES));
|
||||
mNullDelegates.add(delegate);
|
||||
return;
|
||||
}
|
||||
for (final Class<?> ifce : delegate.getInterfaces()) {
|
||||
addNullDelegate(ifce);
|
||||
}
|
||||
assertThat("Null-delegate must be valid interface class",
|
||||
delegate, isIn(DEFAULT_DELEGATES));
|
||||
mNullDelegates.add(delegate);
|
||||
}
|
||||
|
||||
protected void applyAnnotations(final Collection<Annotation> annotations,
|
||||
|
@ -1088,8 +1102,11 @@ public class GeckoSessionTestRule implements TestRule {
|
|||
Object returnValue = null;
|
||||
try {
|
||||
mCurrentMethodCall = call;
|
||||
returnValue = method.invoke((call != null) ? call.target
|
||||
: Callbacks.Default.INSTANCE, args);
|
||||
if (call != null && call.target != null) {
|
||||
returnValue = method.invoke(call.target, args);
|
||||
} else {
|
||||
returnValue = method.invoke(DEFAULT_IMPL, args);
|
||||
}
|
||||
} catch (final IllegalAccessException | InvocationTargetException e) {
|
||||
throw unwrapRuntimeException(e);
|
||||
} finally {
|
||||
|
|
|
@ -1,65 +0,0 @@
|
|||
/* -*- Mode: Java; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
package org.mozilla.geckoview.test.util
|
||||
|
||||
import org.mozilla.geckoview.AllowOrDeny
|
||||
import org.mozilla.geckoview.Autofill
|
||||
import org.mozilla.geckoview.ContentBlocking
|
||||
import org.mozilla.geckoview.GeckoResult
|
||||
import org.mozilla.geckoview.GeckoSession
|
||||
import org.mozilla.geckoview.GeckoSession.ContentDelegate.ContextElement
|
||||
import org.mozilla.geckoview.GeckoSession.NavigationDelegate.LoadRequest
|
||||
import org.mozilla.geckoview.MediaSession
|
||||
import org.mozilla.geckoview.WebRequestError
|
||||
|
||||
import android.view.inputmethod.CursorAnchorInfo
|
||||
import android.view.inputmethod.ExtractedText
|
||||
import android.view.inputmethod.ExtractedTextRequest
|
||||
import org.json.JSONObject
|
||||
|
||||
class Callbacks private constructor() {
|
||||
object Default : All
|
||||
|
||||
interface All : AutofillDelegate, ContentBlockingDelegate, ContentDelegate,
|
||||
HistoryDelegate, MediaDelegate, MediaSessionDelegate,
|
||||
NavigationDelegate, PermissionDelegate, ProgressDelegate,
|
||||
PromptDelegate, ScrollDelegate, SelectionActionDelegate,
|
||||
TextInputDelegate
|
||||
|
||||
interface AutofillDelegate : Autofill.Delegate {}
|
||||
interface ContentDelegate : GeckoSession.ContentDelegate {}
|
||||
interface NavigationDelegate : GeckoSession.NavigationDelegate {}
|
||||
interface PermissionDelegate : GeckoSession.PermissionDelegate {}
|
||||
interface ProgressDelegate : GeckoSession.ProgressDelegate {}
|
||||
interface PromptDelegate : GeckoSession.PromptDelegate {}
|
||||
interface ScrollDelegate : GeckoSession.ScrollDelegate {}
|
||||
interface ContentBlockingDelegate : ContentBlocking.Delegate {}
|
||||
interface SelectionActionDelegate : GeckoSession.SelectionActionDelegate {}
|
||||
@Suppress("DEPRECATION")
|
||||
interface MediaDelegate: GeckoSession.MediaDelegate {}
|
||||
interface HistoryDelegate : GeckoSession.HistoryDelegate {}
|
||||
interface MediaSessionDelegate: MediaSession.Delegate {}
|
||||
|
||||
interface TextInputDelegate : GeckoSession.TextInputDelegate {
|
||||
override fun restartInput(session: GeckoSession, reason: Int) {
|
||||
}
|
||||
|
||||
override fun showSoftInput(session: GeckoSession) {
|
||||
}
|
||||
|
||||
override fun hideSoftInput(session: GeckoSession) {
|
||||
}
|
||||
|
||||
override fun updateSelection(session: GeckoSession, selStart: Int, selEnd: Int, compositionStart: Int, compositionEnd: Int) {
|
||||
}
|
||||
|
||||
override fun updateExtractedText(session: GeckoSession, request: ExtractedTextRequest, text: ExtractedText) {
|
||||
}
|
||||
|
||||
override fun updateCursorAnchorInfo(session: GeckoSession, info: CursorAnchorInfo) {
|
||||
}
|
||||
}
|
||||
}
|
Загрузка…
Ссылка в новой задаче