]> source.dussan.org Git - gwtquery.git/commitdiff
Fix bug with data("nonExistingKey", String.class) jd_fix_data_string
authorjdramaix <julien.dramaix@gmail.com>
Fri, 26 Sep 2014 22:23:58 +0000 (00:23 +0200)
committerjdramaix <julien.dramaix@gmail.com>
Fri, 26 Sep 2014 22:23:58 +0000 (00:23 +0200)
gwtquery-core/src/main/java/com/google/gwt/query/client/js/JsCache.java
gwtquery-core/src/test/java/com/google/gwt/query/client/GQueryCoreTestGwt.java

index f10d998bc0acf0bfc409152daf2c4de9975bcf0c..71d3d3c0569e498ff328725ca96b5503ced32a64 100644 (file)
@@ -67,7 +67,7 @@ public class JsCache extends JavaScriptObject {
   @SuppressWarnings("unchecked")
   public final <T> T get(Object id, Class<? extends T> clz) {
     Object o = get(id);
-    if (clz != null) {
+    if (o != null && clz != null) {
       if (o instanceof Double) {
         Double d = (Double)o;
         if (clz == Float.class) o = d.floatValue();
index f5a5d1572ad13a2a584b1f2cd0eac98ca65bddba..f4a4d963b4bd0811f947ae4c672c57f7ee75c6d7 100644 (file)
  */
 package com.google.gwt.query.client;
 
+import static com.google.gwt.query.client.GQuery.$;
+import static com.google.gwt.query.client.GQuery.$$;
+import static com.google.gwt.query.client.GQuery.document;
+import static com.google.gwt.query.client.GQuery.window;
+
 import com.google.gwt.dom.client.Document;
 import com.google.gwt.dom.client.Element;
 import com.google.gwt.dom.client.InputElement;
@@ -50,11 +55,6 @@ import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 
-import static com.google.gwt.query.client.GQuery.$;
-import static com.google.gwt.query.client.GQuery.$$;
-import static com.google.gwt.query.client.GQuery.document;
-import static com.google.gwt.query.client.GQuery.window;
-
 /**
  * Test class for testing gwtquery-core api.
  */
@@ -1557,6 +1557,16 @@ public class GQueryCoreTestGwt extends GWTTestCase {
     assertEquals("red", $(parent).css(CSS.BACKGROUND_COLOR, false));
   }
 
+  public void testDataString() {
+    // put something in the cache for the element
+    $(e).data("initCache", "initCache");
+
+    assertNotNull($(e).data("initCache", String.class));
+
+    // returned the string "null" before the patch
+    assertNull($(e).data("nonExistingKey", String.class));
+  }
+
   public void testData() {
 
     assertEquals(null, $().data("whatever"));