String.equals(null) should not yield exception
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Mon, 21 Jan 2013 12:53:05 +0100
changeset 501dc07c9001184
parent 497 910c043eac22
child 502 a5cd79ee1d96
String.equals(null) should not yield exception
emul/src/main/java/java/lang/String.java
vmtest/src/test/java/org/apidesign/bck2brwsr/tck/CompareStringsTest.java
     1.1 --- a/emul/src/main/java/java/lang/String.java	Sun Jan 20 21:02:19 2013 +0100
     1.2 +++ b/emul/src/main/java/java/lang/String.java	Mon Jan 21 12:53:05 2013 +0100
     1.3 @@ -994,7 +994,7 @@
     1.4       * @see  #equalsIgnoreCase(String)
     1.5       */
     1.6      @JavaScriptBody(args = { "obj" }, body = 
     1.7 -        "return obj.$instOf_java_lang_String && "
     1.8 +        "return obj != null && obj.$instOf_java_lang_String && "
     1.9          + "this.toString() === obj.toString();"
    1.10      )
    1.11      public boolean equals(Object anObject) {
     2.1 --- a/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/CompareStringsTest.java	Sun Jan 20 21:02:19 2013 +0100
     2.2 +++ b/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/CompareStringsTest.java	Mon Jan 21 12:53:05 2013 +0100
     2.3 @@ -42,6 +42,10 @@
     2.4          return String.class.cast(o);
     2.5      }
     2.6      
     2.7 +    @Compare public boolean equalToNull() {
     2.8 +        return "Ahoj".equals(null);
     2.9 +    }
    2.10 +    
    2.11      @Compare public static Object compareURLs() throws MalformedURLException {
    2.12          return new URL("http://apidesign.org:8080/wiki/").toExternalForm().toString();
    2.13      }