Fix failing StringJoiner and Optional tests.

Change-Id: I018a696fe8aec4cd72f3d4972dda65fb4a75f53c
diff --git a/user/super/com/google/gwt/emul/java/util/StringJoiner.java b/user/super/com/google/gwt/emul/java/util/StringJoiner.java
index 08e9199..8aba2fa 100644
--- a/user/super/com/google/gwt/emul/java/util/StringJoiner.java
+++ b/user/super/com/google/gwt/emul/java/util/StringJoiner.java
@@ -69,6 +69,7 @@
   }
 
   public StringJoiner setEmptyValue(CharSequence emptyValue) {
+    checkNotNull(emptyValue);
     this.emptyValue = emptyValue.toString();
     return this;
   }
diff --git a/user/test/com/google/gwt/emultest/EmulJava8Suite.java b/user/test/com/google/gwt/emultest/EmulJava8Suite.java
index 053cbb1..4b7dd03 100644
--- a/user/test/com/google/gwt/emultest/EmulJava8Suite.java
+++ b/user/test/com/google/gwt/emultest/EmulJava8Suite.java
@@ -19,6 +19,7 @@
 import com.google.gwt.emultest.java8.util.OptionalIntTest;
 import com.google.gwt.emultest.java8.util.OptionalLongTest;
 import com.google.gwt.emultest.java8.util.OptionalTest;
+import com.google.gwt.emultest.java8.util.StringJoinerTest;
 import com.google.gwt.junit.tools.GWTTestSuite;
 
 import junit.framework.Test;
@@ -36,6 +37,7 @@
     suite.addTestSuite(OptionalIntTest.class);
     suite.addTestSuite(OptionalLongTest.class);
     suite.addTestSuite(OptionalDoubleTest.class);
+    suite.addTestSuite(StringJoinerTest.class);
 
     return suite;
   }
diff --git a/user/test/com/google/gwt/emultest/EmulSuite.java b/user/test/com/google/gwt/emultest/EmulSuite.java
index 8ce28cb..7930ff4 100644
--- a/user/test/com/google/gwt/emultest/EmulSuite.java
+++ b/user/test/com/google/gwt/emultest/EmulSuite.java
@@ -49,7 +49,6 @@
 import com.google.gwt.emultest.java.sql.SqlDateTest;
 import com.google.gwt.emultest.java.sql.SqlTimeTest;
 import com.google.gwt.emultest.java.sql.SqlTimestampTest;
-import com.google.gwt.emultest.java.util.StringJoinerTest;
 import com.google.gwt.junit.tools.GWTTestSuite;
 
 import junit.framework.Test;
@@ -113,10 +112,6 @@
     suite.addTestSuite(SqlTimestampTest.class);
     // $JUnit-END$
 
-    //-- java.util
-    suite.addTestSuite(StringJoinerTest.class);
-    // $JUnit-END$
-
     return suite;
   }
 }
diff --git a/user/test/com/google/gwt/emultest/java8/util/OptionalDoubleTest.java b/user/test/com/google/gwt/emultest/java8/util/OptionalDoubleTest.java
index c8361eb..880106f 100644
--- a/user/test/com/google/gwt/emultest/java8/util/OptionalDoubleTest.java
+++ b/user/test/com/google/gwt/emultest/java8/util/OptionalDoubleTest.java
@@ -15,6 +15,7 @@
  */
 package com.google.gwt.emultest.java8.util;
 
+import com.google.gwt.core.client.JavaScriptException;
 import com.google.gwt.junit.client.GWTTestCase;
 
 import java.util.NoSuchElementException;
@@ -74,7 +75,7 @@
     try {
       present.ifPresent(null);
       fail("Non-Empty Optional must throw NullPointerException if consumer is null");
-    } catch (NullPointerException e) {
+    } catch (NullPointerException | JavaScriptException e) {
       // expected
     }
 
@@ -98,7 +99,7 @@
     try {
       empty.orElseGet(null);
       fail("Empty Optional must throw NullPointerException if supplier is null");
-    } catch (NullPointerException e) {
+    } catch (NullPointerException | JavaScriptException e) {
       // expected
     }
 
@@ -116,14 +117,14 @@
     try {
       empty.orElseThrow(null);
       fail("Empty Optional must throw NullPointerException if supplier is null");
-    } catch (NullPointerException e) {
+    } catch (NullPointerException | JavaScriptException e) {
       // expected
     }
 
     try {
       empty.orElseThrow(() -> null);
       fail("Empty Optional must throw NullPointerException if supplier returns null");
-    } catch (NullPointerException e) {
+    } catch (NullPointerException | JavaScriptException e) {
       // expected
     }
 
diff --git a/user/test/com/google/gwt/emultest/java8/util/OptionalIntTest.java b/user/test/com/google/gwt/emultest/java8/util/OptionalIntTest.java
index f1080e9..dd6c229 100644
--- a/user/test/com/google/gwt/emultest/java8/util/OptionalIntTest.java
+++ b/user/test/com/google/gwt/emultest/java8/util/OptionalIntTest.java
@@ -15,6 +15,7 @@
  */
 package com.google.gwt.emultest.java8.util;
 
+import com.google.gwt.core.client.JavaScriptException;
 import com.google.gwt.junit.client.GWTTestCase;
 
 import java.util.NoSuchElementException;
@@ -74,7 +75,7 @@
     try {
       present.ifPresent(null);
       fail("Non-Empty Optional must throw NullPointerException if consumer is null");
-    } catch (NullPointerException e) {
+    } catch (NullPointerException | JavaScriptException e) {
       // expected
     }
 
@@ -98,7 +99,7 @@
     try {
       empty.orElseGet(null);
       fail("Empty Optional must throw NullPointerException if supplier is null");
-    } catch (NullPointerException e) {
+    } catch (NullPointerException | JavaScriptException e) {
       // expected
     }
 
@@ -116,14 +117,14 @@
     try {
       empty.orElseThrow(null);
       fail("Empty Optional must throw NullPointerException if supplier is null");
-    } catch (NullPointerException e) {
+    } catch (NullPointerException | JavaScriptException e) {
       // expected
     }
 
     try {
       empty.orElseThrow(() -> null);
       fail("Empty Optional must throw NullPointerException if supplier returns null");
-    } catch (NullPointerException e) {
+    } catch (NullPointerException | JavaScriptException e) {
       // expected
     }
 
diff --git a/user/test/com/google/gwt/emultest/java8/util/OptionalLongTest.java b/user/test/com/google/gwt/emultest/java8/util/OptionalLongTest.java
index 4d1396f..5a4aac6 100644
--- a/user/test/com/google/gwt/emultest/java8/util/OptionalLongTest.java
+++ b/user/test/com/google/gwt/emultest/java8/util/OptionalLongTest.java
@@ -15,6 +15,7 @@
  */
 package com.google.gwt.emultest.java8.util;
 
+import com.google.gwt.core.client.JavaScriptException;
 import com.google.gwt.junit.client.GWTTestCase;
 
 import java.util.NoSuchElementException;
@@ -74,7 +75,7 @@
     try {
       present.ifPresent(null);
       fail("Non-Empty Optional must throw NullPointerException if consumer is null");
-    } catch (NullPointerException e) {
+    } catch (NullPointerException | JavaScriptException e) {
       // expected
     }
 
@@ -98,7 +99,7 @@
     try {
       empty.orElseGet(null);
       fail("Empty Optional must throw NullPointerException if supplier is null");
-    } catch (NullPointerException e) {
+    } catch (NullPointerException | JavaScriptException e) {
       // expected
     }
 
@@ -116,14 +117,14 @@
     try {
       empty.orElseThrow(null);
       fail("Empty Optional must throw NullPointerException if supplier is null");
-    } catch (NullPointerException e) {
+    } catch (NullPointerException | JavaScriptException e) {
       // expected
     }
 
     try {
       empty.orElseThrow(() -> null);
       fail("Empty Optional must throw NullPointerException if supplier returns null");
-    } catch (NullPointerException e) {
+    } catch (NullPointerException | JavaScriptException e) {
       // expected
     }
 
diff --git a/user/test/com/google/gwt/emultest/java8/util/OptionalTest.java b/user/test/com/google/gwt/emultest/java8/util/OptionalTest.java
index 3384a46..c292cc6 100644
--- a/user/test/com/google/gwt/emultest/java8/util/OptionalTest.java
+++ b/user/test/com/google/gwt/emultest/java8/util/OptionalTest.java
@@ -15,6 +15,7 @@
  */
 package com.google.gwt.emultest.java8.util;
 
+import com.google.gwt.core.client.JavaScriptException;
 import com.google.gwt.junit.client.GWTTestCase;
 
 import java.util.NoSuchElementException;
@@ -80,7 +81,7 @@
     try {
       present.ifPresent(null);
       fail("Non-Empty Optional must throw NullPointerException if consumer is null");
-    } catch (NullPointerException e) {
+    } catch (NullPointerException | JavaScriptException e) {
       // expected
     }
 
@@ -198,7 +199,7 @@
     try {
       empty.orElseGet(null);
       fail("Empty Optional must throw NullPointerException if supplier is null");
-    } catch (NullPointerException e) {
+    } catch (NullPointerException | JavaScriptException e) {
       // expected
     }
 
@@ -216,14 +217,14 @@
     try {
       empty.orElseThrow(null);
       fail("Empty Optional must throw NullPointerException if supplier is null");
-    } catch (NullPointerException e) {
+    } catch (NullPointerException | JavaScriptException e) {
       // expected
     }
 
     try {
       empty.<RuntimeException>orElseThrow(() -> null);
       fail("Empty Optional must throw NullPointerException if supplier returns null");
-    } catch (NullPointerException e) {
+    } catch (NullPointerException | JavaScriptException e) {
       // expected
     }
 
diff --git a/user/test/com/google/gwt/emultest/java/util/StringJoinerTest.java b/user/test/com/google/gwt/emultest/java8/util/StringJoinerTest.java
similarity index 93%
rename from user/test/com/google/gwt/emultest/java/util/StringJoinerTest.java
rename to user/test/com/google/gwt/emultest/java8/util/StringJoinerTest.java
index c71bbb3..b94879a 100644
--- a/user/test/com/google/gwt/emultest/java/util/StringJoinerTest.java
+++ b/user/test/com/google/gwt/emultest/java8/util/StringJoinerTest.java
@@ -13,8 +13,9 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.emultest.java.util;
+package com.google.gwt.emultest.java8.util;
 
+import com.google.gwt.core.client.JavaScriptException;
 import com.google.gwt.junit.client.GWTTestCase;
 
 import java.util.StringJoiner;
@@ -73,7 +74,7 @@
     try {
       joiner.merge(null);
       fail("NullPointerException must be thrown if other joiner is null");
-    } catch (NullPointerException e) {
+    } catch (NullPointerException | JavaScriptException e) {
       // expected
     }
   }