Commit eeaafd0e authored by mnaganov@chromium.org's avatar mnaganov@chromium.org

[Android] Add more tests for Java Bridge

Verify how the existing implementation deals with Date, Function and RegExp
JS objects. This is to make sure that we configure V8ValueConverter appropriately
in the Gin-based implementation.

BUG=355644
R=benm@chromium.org

Review URL: https://codereview.chromium.org/251773003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266526 0039d316-1c4b-4281-b951-d872f2087c98
parent 411080b1
...@@ -692,4 +692,42 @@ public class JavaBridgeCoercionTest extends JavaBridgeTestBase { ...@@ -692,4 +692,42 @@ public class JavaBridgeCoercionTest extends JavaBridgeTestBase {
executeJavaScript("testObject.setStringValue(new DataView(buffer));"); executeJavaScript("testObject.setStringValue(new DataView(buffer));");
assertEquals("undefined", mTestObject.waitForStringValue()); assertEquals("undefined", mTestObject.waitForStringValue());
} }
// Verify that Date objects are not converted into double values, strings or objects.
@SmallTest
@Feature({"AndroidWebView", "Android-JavaBridge"})
public void testPassDateObject() throws Throwable {
executeJavaScript("testObject.setDoubleValue(new Date(2000, 0, 1));");
assertEquals(0.0, mTestObject.waitForDoubleValue());
executeJavaScript("testObject.setStringValue(new Date(2000, 0, 1));");
assertEquals("undefined", mTestObject.waitForStringValue());
executeJavaScript("testObject.setObjectValue(new Date(2000, 0, 1));");
assertNull(mTestObject.waitForObjectValue());
}
// Verify that RegExp objects are not converted into strings or objects.
@SmallTest
@Feature({"AndroidWebView", "Android-JavaBridge"})
public void testPassRegExpObject() throws Throwable {
executeJavaScript("testObject.setStringValue(/abc/);");
assertEquals("undefined", mTestObject.waitForStringValue());
executeJavaScript("testObject.setObjectValue(/abc/);");
assertNull(mTestObject.waitForObjectValue());
}
// Verify that Function objects are not converted into strings or objects.
@SmallTest
@Feature({"AndroidWebView", "Android-JavaBridge"})
public void testPassFunctionObject() throws Throwable {
executeJavaScript("func = new Function('a', 'b', 'return a + b');");
executeJavaScript("testObject.setStringValue(func);");
assertEquals("undefined", mTestObject.waitForStringValue());
executeJavaScript("testObject.setObjectValue(func);");
assertNull(mTestObject.waitForObjectValue());
}
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment