Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(256)

Unified Diff: components/cronet/android/test/smoketests/src/org/chromium/net/smoke/MissingNativeLibraryTest.java

Issue 2660963002: Cronet: a framework to provide alternative Cronet implementations (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/cronet/android/test/proguard.cfg ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/cronet/android/test/smoketests/src/org/chromium/net/smoke/MissingNativeLibraryTest.java
diff --git a/components/cronet/android/test/smoketests/src/org/chromium/net/smoke/MissingNativeLibraryTest.java b/components/cronet/android/test/smoketests/src/org/chromium/net/smoke/MissingNativeLibraryTest.java
index 23803b7ef28dbd349c94d39f4469c74ea0ab3ec7..2595e2bfde09222098556edf0987ceb7a84ad420 100644
--- a/components/cronet/android/test/smoketests/src/org/chromium/net/smoke/MissingNativeLibraryTest.java
+++ b/components/cronet/android/test/smoketests/src/org/chromium/net/smoke/MissingNativeLibraryTest.java
@@ -7,8 +7,11 @@ package org.chromium.net.smoke;
import android.support.test.filters.SmallTest;
import org.chromium.net.CronetEngine;
+import org.chromium.net.CronetProvider;
import org.chromium.net.ExperimentalCronetEngine;
+import java.util.List;
+
/**
* Tests scenarios when the native shared library file is missing in the APK or was built for a
* wrong architecture.
@@ -34,15 +37,36 @@ public class MissingNativeLibraryTest extends CronetSmokeTestCase {
}
/**
- * Tests the enableLegacyMode API that allows the embedder to force JavaCronetEngine
- * instantiation even when the native Cronet engine implementation is available.
+ * Tests the embedder ability to select Java (platform) based implementation when
+ * the native library is missing or doesn't load for some reason,
*/
@SmallTest
- public void testEnableLegacyMode() throws Exception {
- ExperimentalCronetEngine.Builder builder =
- new ExperimentalCronetEngine.Builder(getContext());
- builder.enableLegacyMode(true);
+ public void testForceChoiceOfJavaEngine() throws Exception {
+ List<CronetProvider> availableProviders = CronetProvider.getAllProviders(getContext());
+ boolean foundNativeProvider = false;
+ CronetProvider platformProvider = null;
+ for (CronetProvider provider : availableProviders) {
+ assertTrue(provider.isEnabled());
+ if (provider.getName().equals(CronetProvider.PROVIDER_NAME_APP_PACKAGED)) {
+ foundNativeProvider = true;
+ } else if (provider.getName().equals(CronetProvider.PROVIDER_NAME_FALLBACK)) {
+ platformProvider = provider;
+ }
+ }
+
+ assertTrue("Unable to find the native cronet provider", foundNativeProvider);
+ assertNotNull("Unable to find the platform cronet provider", platformProvider);
+
+ CronetEngine.Builder builder = platformProvider.createBuilder();
CronetEngine engine = builder.build();
assertJavaEngine(engine);
+
+ assertTrue("It should be always possible to cast the created builder to"
+ + " ExperimentalCronetEngine.Builder",
+ builder instanceof ExperimentalCronetEngine.Builder);
+
+ assertTrue("It should be always possible to cast the created engine to"
+ + " ExperimentalCronetEngine.Builder",
+ engine instanceof ExperimentalCronetEngine);
}
}
« no previous file with comments | « components/cronet/android/test/proguard.cfg ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698