Index: components/cronet/android/test/javatests/src/org/chromium/net/CronetTestBase.java |
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetTestBase.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetTestBase.java |
index 4ee097fb33c418381c2f96560535d627a7b99e11..6dddbaae71871347f9f63f51c362a42a17f6de17 100644 |
--- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetTestBase.java |
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetTestBase.java |
@@ -19,6 +19,7 @@ import java.lang.annotation.RetentionPolicy; |
import java.lang.annotation.Target; |
import java.lang.reflect.AnnotatedElement; |
import java.net.URL; |
+import java.net.URLStreamHandlerFactory; |
/** |
* Base test class for all CronetTest based tests. |
@@ -38,6 +39,8 @@ public class CronetTestBase extends AndroidTestCase { |
private static final String LOOPBACK_ADDRESS = "127.0.0.1"; |
private CronetTestFramework mCronetTestFramework; |
+ private URLStreamHandlerFactory mStreamHandlerFactory; |
+ |
// {@code true} when test is being run against system HttpURLConnection implementation. |
private boolean mTestingSystemHttpURLConnection; |
private boolean mTestingJavaImpl = false; |
@@ -55,43 +58,15 @@ public class CronetTestBase extends AndroidTestCase { |
* Starts the CronetTest framework. |
*/ |
protected CronetTestFramework startCronetTestFramework() { |
- return startCronetTestFrameworkWithUrlAndCronetEngineBuilder(null, null); |
- } |
- |
- /** |
- * Starts the CronetTest framework and loads the given URL. The URL can be |
- * null. |
- */ |
- protected CronetTestFramework startCronetTestFrameworkWithUrl(String url) { |
- return startCronetTestFrameworkWithUrlAndCronetEngineBuilder(url, null); |
+ return startCronetTestFrameworkWithCronetEngineBuilder(null); |
} |
/** |
- * Starts the CronetTest framework using the provided CronetEngine.Builder |
- * and loads the given URL. The URL can be null. |
+ * Starts the CronetTest framework using the provided CronetEngine.Builder. |
*/ |
- protected CronetTestFramework startCronetTestFrameworkWithUrlAndCronetEngineBuilder( |
- String url, ExperimentalCronetEngine.Builder builder) { |
- mCronetTestFramework = new CronetTestFramework(url, null, getContext(), builder); |
- return mCronetTestFramework; |
- } |
- |
- /** |
- * Starts the CronetTest framework appending the provided command line |
- * arguments and loads the given URL. The URL can be null. |
- */ |
- protected CronetTestFramework startCronetTestFrameworkWithUrlAndCommandLineArgs( |
- String url, String[] commandLineArgs) { |
- mCronetTestFramework = new CronetTestFramework(url, commandLineArgs, getContext(), null); |
- return mCronetTestFramework; |
- } |
- |
- // Helper method to tell the framework to skip library init during construction. |
- protected CronetTestFramework startCronetTestFrameworkAndSkipLibraryInit() { |
- String[] commandLineArgs = { |
- CronetTestFramework.LIBRARY_INIT_KEY, CronetTestFramework.LibraryInitType.NONE}; |
- mCronetTestFramework = |
- startCronetTestFrameworkWithUrlAndCommandLineArgs(null, commandLineArgs); |
+ protected CronetTestFramework startCronetTestFrameworkWithCronetEngineBuilder( |
+ ExperimentalCronetEngine.Builder builder) { |
+ mCronetTestFramework = new CronetTestFramework(getContext(), builder); |
return mCronetTestFramework; |
} |
@@ -123,11 +98,11 @@ public class CronetTestBase extends AndroidTestCase { |
super.runTest(); |
// Use Cronet's implementation, and run the same test. |
mTestingSystemHttpURLConnection = false; |
- URL.setURLStreamHandlerFactory(mCronetTestFramework.mStreamHandlerFactory); |
+ URL.setURLStreamHandlerFactory(mStreamHandlerFactory); |
super.runTest(); |
} else if (method.isAnnotationPresent(OnlyRunCronetHttpURLConnection.class)) { |
// Run only with Cronet's implementation. |
- URL.setURLStreamHandlerFactory(mCronetTestFramework.mStreamHandlerFactory); |
+ URL.setURLStreamHandlerFactory(mStreamHandlerFactory); |
super.runTest(); |
} else { |
// For all other tests. |
@@ -178,7 +153,7 @@ public class CronetTestBase extends AndroidTestCase { |
assertEquals(expected.getUrlChain(), actual.getUrlChain()); |
assertEquals(expected.getUrl(), actual.getUrl()); |
// Transferred bytes and proxy server are not supported in pure java |
- if (!(mCronetTestFramework.mCronetEngine instanceof JavaCronetEngine)) { |
+ if (!testingJavaImpl()) { |
assertEquals(expected.getReceivedByteCount(), actual.getReceivedByteCount()); |
assertEquals(expected.getProxyServer(), actual.getProxyServer()); |
// This is a place where behavior intentionally differs between native and java |
@@ -194,6 +169,20 @@ public class CronetTestBase extends AndroidTestCase { |
} |
} |
+ public CronetEngine.Builder enableDiskCache(CronetEngine.Builder cronetEngineBuilder) { |
+ cronetEngineBuilder.setStoragePath(CronetTestFramework.getTestStorage(getContext())); |
+ cronetEngineBuilder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK, 1000 * 1024); |
+ return cronetEngineBuilder; |
+ } |
+ |
+ /** |
+ * Sets the {@link UrlStreamHandlerFactory} from {@code cronetEngine}. This should be called |
mgersh
2017/05/23 18:12:13
nit: Url... -> URL...
pauljensen
2017/05/25 15:15:14
Done.
mgersh
2017/05/25 18:11:16
This and the one below aren't actually done?
pauljensen
2017/05/26 00:14:03
Done.
|
+ * during setup() and is installed by {@link runTest()} as the default when Cronet is tested. |
mgersh
2017/05/23 18:12:13
nit: setup() -> setUp()
pauljensen
2017/05/25 15:15:14
Done.
|
+ */ |
+ public void setStreamHandlerFactory(CronetEngine cronetEngine) { |
+ mStreamHandlerFactory = cronetEngine.createURLStreamHandlerFactory(); |
+ } |
+ |
@Target(ElementType.METHOD) |
@Retention(RetentionPolicy.RUNTIME) |
public @interface CompareDefaultWithCronet { |