Index: content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeReturnValuesTest.java |
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeReturnValuesTest.java b/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeReturnValuesTest.java |
index 3b46841ca4a547c214378324a089953a8946c929..904e4538eec97de3a8e2bdf0ff3f4385f83ab46b 100644 |
--- a/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeReturnValuesTest.java |
+++ b/content/public/android/javatests/src/org/chromium/content/browser/JavaBridgeReturnValuesTest.java |
@@ -6,7 +6,14 @@ package org.chromium.content.browser; |
import android.support.test.filters.SmallTest; |
+import org.junit.Assert; |
+import org.junit.Before; |
+import org.junit.Rule; |
+import org.junit.Test; |
+import org.junit.runner.RunWith; |
+ |
import org.chromium.base.annotations.SuppressFBWarnings; |
+import org.chromium.base.test.BaseJUnit4ClassRunner; |
import org.chromium.base.test.util.Feature; |
import org.chromium.content.browser.JavaBridgeTestCommon.Controller; |
@@ -21,7 +28,11 @@ import org.chromium.content.browser.JavaBridgeTestCommon.Controller; |
* FIXME: Consider making our implementation more compliant, if it will not |
* break backwards-compatibility. See b/4408210. |
*/ |
-public class JavaBridgeReturnValuesTest extends JavaBridgeTestBase { |
+@RunWith(BaseJUnit4ClassRunner.class) |
+public class JavaBridgeReturnValuesTest { |
+ @Rule |
+ public JavaBridgeActivityTestRule mActivityTestRule = new JavaBridgeActivityTestRule(); |
+ |
// An instance of this class is injected into the page to test returning |
// Java values to JavaScript. |
@SuppressFBWarnings("CHROMIUM_SYNCHRONIZED_METHOD") |
@@ -105,88 +116,93 @@ public class JavaBridgeReturnValuesTest extends JavaBridgeTestBase { |
TestObject mTestObject; |
- @Override |
- protected void setUp() throws Exception { |
- super.setUp(); |
+ @Before |
+ public void setUp() throws Exception { |
mTestObject = new TestObject(); |
- injectObjectAndReload(mTestObject, "testObject"); |
+ mActivityTestRule.injectObjectAndReload(mTestObject, "testObject"); |
} |
// Note that this requires that we can pass a JavaScript string to Java. |
protected String executeJavaScriptAndGetStringResult(String script) throws Throwable { |
- executeJavaScript("testObject.setStringResult(" + script + ");"); |
+ mActivityTestRule.executeJavaScript("testObject.setStringResult(" + script + ");"); |
return mTestObject.waitForStringResult(); |
} |
// Note that this requires that we can pass a JavaScript boolean to Java. |
private boolean executeJavaScriptAndGetBooleanResult(String script) throws Throwable { |
- executeJavaScript("testObject.setBooleanResult(" + script + ");"); |
+ mActivityTestRule.executeJavaScript("testObject.setBooleanResult(" + script + ");"); |
return mTestObject.waitForBooleanResult(); |
} |
+ @Test |
@SmallTest |
@Feature({"AndroidWebView", "Android-JavaBridge"}) |
public void testMethodReturnTypes() throws Throwable { |
- assertEquals("boolean", |
+ Assert.assertEquals("boolean", |
executeJavaScriptAndGetStringResult("typeof testObject.getBooleanValue()")); |
- assertEquals("number", |
- executeJavaScriptAndGetStringResult("typeof testObject.getByteValue()")); |
+ Assert.assertEquals( |
+ "number", executeJavaScriptAndGetStringResult("typeof testObject.getByteValue()")); |
// char values are returned to JavaScript as numbers. |
- assertEquals("number", |
- executeJavaScriptAndGetStringResult("typeof testObject.getCharValue()")); |
- assertEquals("number", |
- executeJavaScriptAndGetStringResult("typeof testObject.getShortValue()")); |
- assertEquals("number", |
- executeJavaScriptAndGetStringResult("typeof testObject.getIntValue()")); |
- assertEquals("number", |
- executeJavaScriptAndGetStringResult("typeof testObject.getLongValue()")); |
- assertEquals("number", |
- executeJavaScriptAndGetStringResult("typeof testObject.getFloatValue()")); |
- assertEquals("number", |
+ Assert.assertEquals( |
+ "number", executeJavaScriptAndGetStringResult("typeof testObject.getCharValue()")); |
+ Assert.assertEquals( |
+ "number", executeJavaScriptAndGetStringResult("typeof testObject.getShortValue()")); |
+ Assert.assertEquals( |
+ "number", executeJavaScriptAndGetStringResult("typeof testObject.getIntValue()")); |
+ Assert.assertEquals( |
+ "number", executeJavaScriptAndGetStringResult("typeof testObject.getLongValue()")); |
+ Assert.assertEquals( |
+ "number", executeJavaScriptAndGetStringResult("typeof testObject.getFloatValue()")); |
+ Assert.assertEquals("number", |
executeJavaScriptAndGetStringResult("typeof testObject.getFloatValueNoDecimal()")); |
- assertEquals("number", |
+ Assert.assertEquals("number", |
executeJavaScriptAndGetStringResult("typeof testObject.getDoubleValue()")); |
- assertEquals("number", |
+ Assert.assertEquals("number", |
executeJavaScriptAndGetStringResult("typeof testObject.getDoubleValueNoDecimal()")); |
- assertEquals("string", |
+ Assert.assertEquals("string", |
executeJavaScriptAndGetStringResult("typeof testObject.getStringValue()")); |
- assertEquals("string", |
+ Assert.assertEquals("string", |
executeJavaScriptAndGetStringResult("typeof testObject.getEmptyStringValue()")); |
// LIVECONNECT_COMPLIANCE: This should have type object. |
- assertEquals("undefined", |
+ Assert.assertEquals("undefined", |
executeJavaScriptAndGetStringResult("typeof testObject.getNullStringValue()")); |
- assertEquals("object", |
+ Assert.assertEquals("object", |
executeJavaScriptAndGetStringResult("typeof testObject.getObjectValue()")); |
- assertEquals("object", |
+ Assert.assertEquals("object", |
executeJavaScriptAndGetStringResult("typeof testObject.getNullObjectValue()")); |
- assertEquals("object", |
+ Assert.assertEquals("object", |
executeJavaScriptAndGetStringResult("typeof testObject.getCustomTypeValue()")); |
- assertEquals("undefined", |
+ Assert.assertEquals("undefined", |
executeJavaScriptAndGetStringResult("typeof testObject.getVoidValue()")); |
} |
+ @Test |
@SmallTest |
@Feature({"AndroidWebView", "Android-JavaBridge"}) |
public void testMethodReturnValues() throws Throwable { |
// We do the string comparison in JavaScript, to avoid relying on the |
// coercion algorithm from JavaScript to Java. |
- assertTrue(executeJavaScriptAndGetBooleanResult("testObject.getBooleanValue()")); |
- assertTrue(executeJavaScriptAndGetBooleanResult("42 === testObject.getByteValue()")); |
+ Assert.assertTrue(executeJavaScriptAndGetBooleanResult("testObject.getBooleanValue()")); |
+ Assert.assertTrue(executeJavaScriptAndGetBooleanResult("42 === testObject.getByteValue()")); |
// char values are returned to JavaScript as numbers. |
- assertTrue(executeJavaScriptAndGetBooleanResult("42 === testObject.getCharValue()")); |
- assertTrue(executeJavaScriptAndGetBooleanResult("42 === testObject.getShortValue()")); |
- assertTrue(executeJavaScriptAndGetBooleanResult("42 === testObject.getIntValue()")); |
- assertTrue(executeJavaScriptAndGetBooleanResult("42 === testObject.getLongValue()")); |
- assertTrue(executeJavaScriptAndGetBooleanResult( |
+ Assert.assertTrue(executeJavaScriptAndGetBooleanResult("42 === testObject.getCharValue()")); |
+ Assert.assertTrue( |
+ executeJavaScriptAndGetBooleanResult("42 === testObject.getShortValue()")); |
+ Assert.assertTrue(executeJavaScriptAndGetBooleanResult("42 === testObject.getIntValue()")); |
+ Assert.assertTrue(executeJavaScriptAndGetBooleanResult("42 === testObject.getLongValue()")); |
+ Assert.assertTrue(executeJavaScriptAndGetBooleanResult( |
"Math.abs(42.1 - testObject.getFloatValue()) < 0.001")); |
- assertTrue(executeJavaScriptAndGetBooleanResult( |
+ Assert.assertTrue(executeJavaScriptAndGetBooleanResult( |
"42.0 === testObject.getFloatValueNoDecimal()")); |
- assertTrue(executeJavaScriptAndGetBooleanResult( |
+ Assert.assertTrue(executeJavaScriptAndGetBooleanResult( |
"Math.abs(42.1 - testObject.getDoubleValue()) < 0.001")); |
- assertTrue(executeJavaScriptAndGetBooleanResult( |
+ Assert.assertTrue(executeJavaScriptAndGetBooleanResult( |
"42.0 === testObject.getDoubleValueNoDecimal()")); |
- assertEquals("foo", executeJavaScriptAndGetStringResult("testObject.getStringValue()")); |
- assertEquals("", executeJavaScriptAndGetStringResult("testObject.getEmptyStringValue()")); |
- assertTrue(executeJavaScriptAndGetBooleanResult("undefined === testObject.getVoidValue()")); |
+ Assert.assertEquals( |
+ "foo", executeJavaScriptAndGetStringResult("testObject.getStringValue()")); |
+ Assert.assertEquals( |
+ "", executeJavaScriptAndGetStringResult("testObject.getEmptyStringValue()")); |
+ Assert.assertTrue( |
+ executeJavaScriptAndGetBooleanResult("undefined === testObject.getVoidValue()")); |
} |
} |