Bug 1456543 - 4. Add test for loading without navigation delegate; r?esawin
We should be able to load pages without a navigation delegate attached.
MozReview-Commit-ID: DvSxFsi9Oe4
--- a/mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/NavigationDelegateTest.kt
+++ b/mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/NavigationDelegateTest.kt
@@ -1,18 +1,18 @@
/* -*- Mode: Java; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: nil; -*-
* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
package org.mozilla.geckoview.test
-import android.support.test.InstrumentationRegistry
import org.mozilla.geckoview.GeckoResponse
import org.mozilla.geckoview.GeckoSession
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.support.test.filters.MediumTest
import android.support.test.runner.AndroidJUnit4
import org.hamcrest.Matchers.*
import org.junit.Test
import org.junit.runner.RunWith
@@ -78,16 +78,26 @@ class NavigationDelegateTest : BaseSessi
@AssertCalled(count = 1)
override fun onPageStop(session: GeckoSession, success: Boolean) {
assertThat("Page should load successfully", success, equalTo(true))
}
})
}
+ @NullDelegate(GeckoSession.NavigationDelegate::class)
+ @Test fun load_withoutNavigationDelegate() {
+ // Test that when navigation delegate is disabled, we can still perform loads.
+ sessionRule.session.loadTestPath(HELLO_HTML_PATH)
+ sessionRule.session.waitForPageStop()
+
+ sessionRule.session.reload()
+ sessionRule.session.waitForPageStop()
+ }
+
@Test fun loadString() {
val dataString = "<html><head><title>TheTitle</title></head><body>TheBody</body></html>"
val mimeType = "text/html"
sessionRule.session.loadString(dataString, mimeType)
sessionRule.waitForPageStop();
sessionRule.forCallbacksDuringWait(object : Callbacks.NavigationDelegate, Callbacks.ProgressDelegate, Callbacks.ContentDelegate {
@AssertCalled