diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 1396ef8..969072f 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -67,6 +67,7 @@ configure { dependencies { implementation("androidx.core:core-ktx:1.17.0") + implementation("androidx.webkit:webkit:1.13.0") androidTestImplementation("androidx.test.ext:junit:1.1.5") androidTestImplementation("androidx.test:runner:1.5.2") diff --git a/app/src/androidTest/assets/test_page_early_request.html b/app/src/androidTest/assets/test_page_early_request.html new file mode 100644 index 0000000..0d102ad --- /dev/null +++ b/app/src/androidTest/assets/test_page_early_request.html @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/app/src/androidTest/java/com/acsbendi/requestinspectorwebview/EarlyRequestTest.kt b/app/src/androidTest/java/com/acsbendi/requestinspectorwebview/EarlyRequestTest.kt new file mode 100644 index 0000000..12da4d0 --- /dev/null +++ b/app/src/androidTest/java/com/acsbendi/requestinspectorwebview/EarlyRequestTest.kt @@ -0,0 +1,90 @@ +package com.acsbendi.requestinspectorwebview + +import android.annotation.SuppressLint +import android.graphics.Bitmap +import android.os.Handler +import android.os.Looper +import android.webkit.WebView +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.platform.app.InstrumentationRegistry +import androidx.webkit.WebViewFeature +import org.junit.After +import org.junit.Assert.assertEquals +import org.junit.Assert.assertTrue +import org.junit.Assume.assumeTrue +import org.junit.Test +import org.junit.runner.RunWith +import java.util.concurrent.CountDownLatch +import java.util.concurrent.TimeUnit + +@RunWith(AndroidJUnit4::class) +class EarlyRequestTest { + + private lateinit var webView: WebView + private lateinit var matcher: CapturingRequestMatcher + + @After + fun tearDown() { + InstrumentationRegistry.getInstrumentation().runOnMainSync { webView.destroy() } + } + + /** + * Verifies that a fetch() fired by an inline