Chromium Code Reviews| 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 c0b8d3c0b3ec465497fc4dae04d51958e2718325..79bc66efb0650c072c545b87b6479cefd11b408d 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 |
| @@ -10,6 +10,7 @@ import org.chromium.base.ContextUtils; |
| import org.chromium.base.PathUtils; |
| import org.chromium.net.impl.CronetEngineBase; |
| import org.chromium.net.impl.JavaCronetEngine; |
| +import org.chromium.net.impl.JavaCronetProvider; |
| import org.chromium.net.impl.UserAgent; |
| import java.lang.annotation.ElementType; |
| @@ -18,6 +19,7 @@ import java.lang.annotation.RetentionPolicy; |
| import java.lang.annotation.Target; |
| import java.lang.reflect.AnnotatedElement; |
| import java.net.URL; |
| +import java.util.List; |
| /** |
| * Base test class for all CronetTest based tests. |
| @@ -132,10 +134,8 @@ public class CronetTestBase extends AndroidTestCase { |
| super.runTest(); |
| if (!method.isAnnotationPresent(OnlyRunNativeCronet.class)) { |
| if (mCronetTestFramework != null) { |
| - ExperimentalCronetEngine.Builder builder = |
| - new ExperimentalCronetEngine.Builder(getContext()); |
| + ExperimentalCronetEngine.Builder builder = createJavaEngineBuilder(); |
| builder.setUserAgent(UserAgent.from(getContext())); |
| - builder.enableLegacyMode(true); |
| mCronetTestFramework.mCronetEngine = (CronetEngineBase) builder.build(); |
| // Make sure that the instantiated engine is JavaCronetEngine. |
| assert mCronetTestFramework.mCronetEngine.getClass() |
| @@ -152,6 +152,33 @@ public class CronetTestBase extends AndroidTestCase { |
| } |
| } |
| + /** |
| + * Creates and returns {@link ExperimentalCronetEngine.Builder} that creates |
| + * Java (platform) based {@link CronetEngine.Builder}. |
| + * |
| + * @return the {@code CronetEngine.Builder} that builds Java-based {@code Cronet engine}. |
| + */ |
| + ExperimentalCronetEngine.Builder createJavaEngineBuilder() { |
| + CronetProvider provider = findJavaCronetProvider(); |
| + return (ExperimentalCronetEngine.Builder) provider.createBuilder(); |
|
pauljensen
2017/01/18 17:03:05
why not just make this "return new JavaCronetProvi
kapishnikov
2017/01/19 01:25:25
Some tests rely on features that are available in
pauljensen
2017/01/20 17:13:34
How about:
(ExperimentalCronetEngine.Builder) new
kapishnikov
2017/01/20 21:48:38
That is a great suggestion. I tried to avoid refer
|
| + } |
| + |
| + /** |
| + * Finds {@link CronetProvider} that can be used to create Java-based {@link CronetEngine}. |
| + * |
| + * @return the found provider. |
| + */ |
| + private CronetProvider findJavaCronetProvider() { |
| + List<CronetProvider> availableProviders = |
| + CronetProviders.instance().getAvailableProviders(getContext()); |
| + for (CronetProvider provider : availableProviders) { |
| + if (provider.getName().equals(JavaCronetProvider.PROVIDER_NAME)) { |
| + return provider; |
| + } |
| + } |
| + throw new AssertionError("Unable to find Java Provider"); |
| + } |
| + |
| public void assertResponseEquals(UrlResponseInfo expected, UrlResponseInfo actual) { |
| assertEquals(expected.getAllHeaders(), actual.getAllHeaders()); |
| assertEquals(expected.getAllHeadersAsList(), actual.getAllHeadersAsList()); |