Loading tests/WebViewTests/src/com/android/webviewtests/JavaBridgeBasicsTest.java +26 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ public class JavaBridgeBasicsTest extends JavaBridgeTestBase { private int mIntValue; private long mLongValue; private String mStringValue; private boolean mBooleanValue; public synchronized void setIntValue(int x) { mIntValue = x; Loading @@ -51,6 +52,10 @@ public class JavaBridgeBasicsTest extends JavaBridgeTestBase { mStringValue = x; notifyResultIsReady(); } public synchronized void setBooleanValue(boolean x) { mBooleanValue = x; notifyResultIsReady(); } public synchronized int waitForIntValue() { waitForResult(); Loading @@ -64,6 +69,10 @@ public class JavaBridgeBasicsTest extends JavaBridgeTestBase { waitForResult(); return mStringValue; } public synchronized boolean waitForBooleanValue() { waitForResult(); return mBooleanValue; } } TestController mTestController; Loading Loading @@ -204,6 +213,23 @@ public class JavaBridgeBasicsTest extends JavaBridgeTestBase { assertEquals("2 args", mTestController.waitForStringValue()); } public void testCallMethodWithWrongNumberOfArgumentsRaisesException() throws Throwable { class Test { public void run(String script) throws Throwable { executeJavaScript("try {" + script + ";" + " testController.setBooleanValue(false);" + "} catch (exception) {" + " testController.setBooleanValue(true);" + "}"); assertTrue(mTestController.waitForBooleanValue()); } } Test test = new Test(); test.run("testController.setIntValue()"); test.run("testController.setIntValue(42, 42)"); } public void testObjectPersistsAcrossPageLoads() throws Throwable { assertEquals("object", executeJavaScriptAndGetStringResult("typeof testController")); runTestOnUiThread(new Runnable() { Loading Loading
tests/WebViewTests/src/com/android/webviewtests/JavaBridgeBasicsTest.java +26 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ public class JavaBridgeBasicsTest extends JavaBridgeTestBase { private int mIntValue; private long mLongValue; private String mStringValue; private boolean mBooleanValue; public synchronized void setIntValue(int x) { mIntValue = x; Loading @@ -51,6 +52,10 @@ public class JavaBridgeBasicsTest extends JavaBridgeTestBase { mStringValue = x; notifyResultIsReady(); } public synchronized void setBooleanValue(boolean x) { mBooleanValue = x; notifyResultIsReady(); } public synchronized int waitForIntValue() { waitForResult(); Loading @@ -64,6 +69,10 @@ public class JavaBridgeBasicsTest extends JavaBridgeTestBase { waitForResult(); return mStringValue; } public synchronized boolean waitForBooleanValue() { waitForResult(); return mBooleanValue; } } TestController mTestController; Loading Loading @@ -204,6 +213,23 @@ public class JavaBridgeBasicsTest extends JavaBridgeTestBase { assertEquals("2 args", mTestController.waitForStringValue()); } public void testCallMethodWithWrongNumberOfArgumentsRaisesException() throws Throwable { class Test { public void run(String script) throws Throwable { executeJavaScript("try {" + script + ";" + " testController.setBooleanValue(false);" + "} catch (exception) {" + " testController.setBooleanValue(true);" + "}"); assertTrue(mTestController.waitForBooleanValue()); } } Test test = new Test(); test.run("testController.setIntValue()"); test.run("testController.setIntValue(42, 42)"); } public void testObjectPersistsAcrossPageLoads() throws Throwable { assertEquals("object", executeJavaScriptAndGetStringResult("typeof testController")); runTestOnUiThread(new Runnable() { Loading