aboutsummaryrefslogtreecommitdiffstats
path: root/test/unit/data.js
diff options
context:
space:
mode:
authorDave Methvin <dave.methvin@gmail.com>2012-07-25 10:19:09 -0400
committerDave Methvin <dave.methvin@gmail.com>2012-07-25 10:28:50 -0400
commitce15bd7d0c14106521bd21179b1507f2863d1960 (patch)
treeff32cd39f4c5d290e5d475592a02bf3982e3b07b /test/unit/data.js
parentda4d60929778490094fbf1f9c6abd9ea7d0e0c99 (diff)
downloadjquery-ce15bd7d0c14106521bd21179b1507f2863d1960.tar.gz
jquery-ce15bd7d0c14106521bd21179b1507f2863d1960.zip
Fix #7579. Don't convert to number if it changes the string. Close gh-852.
Net effect here is that hex numbers and most exponential-format numbers or long sequences of digits will remain strings rather than being coerced to numbers. `The people have spoken.
Diffstat (limited to 'test/unit/data.js')
-rw-r--r--test/unit/data.js10
1 files changed, 7 insertions, 3 deletions
diff --git a/test/unit/data.js b/test/unit/data.js
index 3083a947d..7f4ad6c36 100644
--- a/test/unit/data.js
+++ b/test/unit/data.js
@@ -294,7 +294,7 @@ test(".data(String) and .data(String, Object)", function() {
});
test("data-* attributes", function() {
- expect(38);
+ expect(40);
var div = jQuery("<div>"),
child = jQuery("<div data-myobj='old data' data-ignored=\"DOM\" data-other='test'></div>"),
dummy = jQuery("<div data-myobj='old data' data-ignored=\"DOM\" data-other='test'></div>");
@@ -357,9 +357,11 @@ test("data-* attributes", function() {
.attr("data-five", "5")
.attr("data-point", "5.5")
.attr("data-pointe", "5.5E3")
+ .attr("data-grande", "5.574E9")
.attr("data-hexadecimal", "0x42")
.attr("data-pointbad", "5..5")
.attr("data-pointbad2", "-.")
+ .attr("data-bigassnum", "123456789123456789123456789")
.attr("data-badjson", "{123}")
.attr("data-badjson2", "[abc]")
.attr("data-empty", "")
@@ -371,10 +373,12 @@ test("data-* attributes", function() {
strictEqual( child.data("false"), false, "Primitive false read from attribute");
strictEqual( child.data("five"), 5, "Primitive number read from attribute");
strictEqual( child.data("point"), 5.5, "Primitive number read from attribute");
- strictEqual( child.data("pointe"), 5500, "Primitive number read from attribute");
- strictEqual( child.data("hexadecimal"), 66, "Hexadecimal number read from attribute");
+ strictEqual( child.data("pointe"), "5.5E3", "Floating point exponential number read from attribute");
+ strictEqual( child.data("grande"), "5.574E9", "Big exponential number read from attribute");
+ strictEqual( child.data("hexadecimal"), "0x42", "Hexadecimal number read from attribute");
strictEqual( child.data("pointbad"), "5..5", "Bad number read from attribute");
strictEqual( child.data("pointbad2"), "-.", "Bad number read from attribute");
+ strictEqual( child.data("bigassnum"), "123456789123456789123456789", "Bad bigass 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");