Adds tests for passing and returning null strings to and from the methods of injected Java objects

Bug: 5222742
Change-Id: Id6222aebce7570b0649cd9cb7f4f16b0f0b640a8
diff --git a/tests/assets/bindings_test.html b/tests/assets/bindings_test.html
index 71f3438..2d20ada 100755
--- a/tests/assets/bindings_test.html
+++ b/tests/assets/bindings_test.html
@@ -7,7 +7,7 @@
 }
 
 function testObjectTypes() {
-  return JNIBindingsTest.testObjectTypes("Foo", "", {"foo":"bar"}, {});
+  return JNIBindingsTest.testObjectTypes("Foo", "", null, {"foo":"bar"}, {});
 }
 
 function testArray() {
@@ -104,6 +104,12 @@
     return false;
   }
 
+  returned = JNIBindingsTest.returnNullString();
+  if (returned !== undefined) {
+    appendLog("returnNullString() failed: expected undefined, got " + returned);
+    return false;
+  }
+
   returned = JNIBindingsTest.returnObject();
   if (returned == null) {
     appendLog("returnObject() failed: expected non-null, got " + returned);
diff --git a/tests/src/com/android/browser/JNIBindingsTest.java b/tests/src/com/android/browser/JNIBindingsTest.java
index 94dc985..8c25a80 100644
--- a/tests/src/com/android/browser/JNIBindingsTest.java
+++ b/tests/src/com/android/browser/JNIBindingsTest.java
@@ -82,8 +82,8 @@
         return true;
     }
 
-    public boolean testObjectTypes(String stringParam, String emptyString, Object objectParam,
-            Object emptyObject) {
+    public boolean testObjectTypes(String stringParam, String emptyString, String nullString,
+            Object objectParam, Object emptyObject) {
         String expectedString = "Foo";
         String expectedEmptyString = "";
 
@@ -92,6 +92,7 @@
             assertNotNull(emptyString);
             assertEquals(expectedString, stringParam);
             assertEquals(expectedEmptyString, emptyString);
+            assertNull(nullString);
             assertNull(objectParam);
             assertNull(emptyObject);
         } catch (AssertionFailedError e) {
@@ -267,6 +268,7 @@
     public long returnLong() { return 1234L; }
     public short returnShort() { return 12345; }
     public String returnString() { return "Hello World!"; }
+    public String returnNullString() { return null; }
 
     public class TestObject {
         public int x = 123;