git.asbjorn.biz
/
jquery.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
e346394
)
Make sure the data- number has at least one number in it before passing to isNaN...
author
jeresig
<jeresig@gmail.com>
Wed, 22 Sep 2010 11:34:31 +0000
(07:34 -0400)
committer
jeresig
<jeresig@gmail.com>
Wed, 22 Sep 2010 11:34:31 +0000
(07:34 -0400)
src/data.js
patch
|
blob
|
history
test/unit/data.js
patch
|
blob
|
history
diff --git
a/src/data.js
b/src/data.js
index
cf3cf60
..
3bd4b97
100644
(file)
--- a/
src/data.js
+++ b/
src/data.js
@@
-157,7
+157,7
@@
jQuery.fn.extend({
data = data === "true" ? true :
data === "false" ? false :
data === "null" ? null :
data = data === "true" ? true :
data === "false" ? false :
data === "null" ? null :
- !isNaN( data ) ? parseFloat( data ) :
+ /\d/.test( data ) && !isNaN( data ) ? parseFloat( data ) :
rbrace.test( data ) ? jQuery.parseJSON( data ) :
data;
} catch( e ) {}
rbrace.test( data ) ? jQuery.parseJSON( data ) :
data;
} catch( e ) {}
diff --git
a/test/unit/data.js
b/test/unit/data.js
index
058f23f
..
03d38c9
100644
(file)
--- a/
test/unit/data.js
+++ b/
test/unit/data.js
@@
-158,7
+158,7
@@
test(".data(String) and .data(String, Object)", function() {
});
test("data-* attributes", function() {
});
test("data-* attributes", function() {
- expect(25);
+ expect(27);
var div = jQuery("<div>"),
child = jQuery("<div data-myobj='old data' data-ignored=\"DOM\"></div>");
var div = jQuery("<div>"),
child = jQuery("<div data-myobj='old data' data-ignored=\"DOM\"></div>");
@@
-189,6
+189,8
@@
test("data-* attributes", function() {
.attr("data-pointbad2", "-.")
.attr("data-badjson", "{123}")
.attr("data-badjson2", "[abc]")
.attr("data-pointbad2", "-.")
.attr("data-badjson", "{123}")
.attr("data-badjson2", "[abc]")
+ .attr("data-empty", "")
+ .attr("data-space", " ")
.attr("data-null", "null")
.attr("data-string", "test");
.attr("data-null", "null")
.attr("data-string", "test");
@@
-201,6
+203,8
@@
test("data-* attributes", function() {
strictEqual( child.data('pointbad2'), "-.", "Bad number read from attribute");
strictEqual( child.data('badjson'), "{123}", "Bad number read from attribute");
strictEqual( child.data('badjson2'), "[abc]", "Bad number read from attribute");
strictEqual( child.data('pointbad2'), "-.", "Bad number read from attribute");
strictEqual( child.data('badjson'), "{123}", "Bad number read from attribute");
strictEqual( child.data('badjson2'), "[abc]", "Bad number read from attribute");
+ strictEqual( child.data('empty'), "", "Empty string read from attribute");
+ strictEqual( child.data('space'), " ", "Empty string read from attribute");
strictEqual( child.data('null'), null, "Primitive null read from attribute");
strictEqual( child.data('string'), "test", "Typical string read from attribute");
strictEqual( child.data('null'), null, "Primitive null read from attribute");
strictEqual( child.data('string'), "test", "Typical string read from attribute");