From 84d066ff7ce38a301fe5cf76a1a79b3a1e754947 Mon Sep 17 00:00:00 2001 From: Rick Waldron Date: Sun, 10 Jul 2011 21:42:40 -0400 Subject: Correct non-null|undefined evaluation of data property values. Fixes #9794 --- test/unit/data.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'test/unit') diff --git a/test/unit/data.js b/test/unit/data.js index 87a3de339..c62bd1cc1 100644 --- a/test/unit/data.js +++ b/test/unit/data.js @@ -525,3 +525,29 @@ test("jQuery.data should not miss data with preset hyphenated property names", f equal( div.data(k), k, "data with property '"+k+"' was correctly found"); }); }); + +test("jQuery.data supports interoperable hyphenated/camelCase get/set of properties with arbitrary non-null|NaN|undefined values", function() { + + var div = jQuery("
", { id: "hyphened" }).appendTo("#qunit-fixture"), + datas = { + "non-empty": "a string", + "empty-string": "", + "one-value": 1, + "zero-value": 0, + "an-array": [], + "an-object": {}, + "bool-true": true, + "bool-false": false, + "some-json": '{ "foo": "bar" }' + }; + + expect( 18 ); + + jQuery.each( datas, function( key, val ) { + div.data( key, val ); + + deepEqual( div.data( key ), val, "get: " + key ); + deepEqual( div.data( jQuery.camelCase( key ) ), val, "get: " + jQuery.camelCase( key ) ); + }); +}); + -- cgit v1.2.3