diff options
author | Richard Gibson <richard.gibson@gmail.com> | 2012-11-06 09:53:00 -0500 |
---|---|---|
committer | Richard Gibson <richard.gibson@gmail.com> | 2012-11-06 09:53:00 -0500 |
commit | 0ee94159023bebe1992c5281d0f4778b4f75ff0d (patch) | |
tree | 7c97a1e3806bda1ec269903090293998477bb193 /test/unit/data.js | |
parent | 81b094b2c180d490c093dafe53a69f59e1f8afe7 (diff) | |
download | jquery-0ee94159023bebe1992c5281d0f4778b4f75ff0d.tar.gz jquery-0ee94159023bebe1992c5281d0f4778b4f75ff0d.zip |
Restore jQuery.access parameter mistakenly removed in 80d45a69
Diffstat (limited to 'test/unit/data.js')
-rw-r--r-- | test/unit/data.js | 63 |
1 files changed, 38 insertions, 25 deletions
diff --git a/test/unit/data.js b/test/unit/data.js index f861ee4a2..c09149b65 100644 --- a/test/unit/data.js +++ b/test/unit/data.js @@ -174,40 +174,53 @@ test(".data()", function() { deepEqual( dataObj, { "foo": "baz" }, "Retrieve data object from a wrapped JS object (#7524)" ); }); -test(".data(String) and .data(String, Object)", function() { - expect( 12 ); +var testDataTypes = function( $obj ) { + jQuery.each({ + "null": null, + "true": true, + "false": false, + "zero": 0, + "one": 1, + "empty string": "", + "empty array": [], + "array": [1], + "empty object": {}, + "object": { foo: "bar" }, + "date": new Date(), + "regex": /test/, + "function": function() {} + }, function( type, value ) { + strictEqual( $obj.data( "test", value ).data("test"), value, "Data set to " + type ); + }); +}; + +test("jQuery(Element).data(String, Object).data(String)", function() { + expect( 18 ); var parent = jQuery("<div><div></div></div>"), div = parent.children(); - ok( div.data("test") === undefined, "Check for no data exists" ); - - div.data("test", "success"); - equal( div.data("test"), "success", "Check for added data" ); - - div.data("test", "overwritten"); - equal( div.data("test"), "overwritten", "Check for overwritten data" ); - - equal( div.data("test", undefined).data("test"), "overwritten", "Check that .data('key',undefined) does nothing but is chainable (#5571)"); + strictEqual( div.data("test"), undefined, "No data exists initially" ); + strictEqual( div.data("test", "success").data("test"), "success", "Data added" ); + strictEqual( div.data("test", "overwritten").data("test"), "overwritten", "Data overwritten" ); + strictEqual( div.data("test", undefined).data("test"), "overwritten", ".data(key,undefined) does nothing but is chainable (#5571)"); + strictEqual( div.data("notexist"), undefined, "No data exists for unset key" ); + testDataTypes( div ); - div.data("test", null); - ok( div.data("test") === null, "Check for null data"); + parent.remove(); +}); - ok( div.data("notexist") === undefined, "Check for no data exists" ); +test("jQuery(plain Object).data(String, Object).data(String)", function() { + expect( 16 ); // #3748 - var $elem = jQuery({exists:true}); - equal( $elem.data("nothing"), undefined, "Non-existent data returns undefined"); - equal( $elem.data("null", null).data("null"), null, "null's are preserved"); - equal( $elem.data("emptyString", "").data("emptyString"), "", "Empty strings are preserved"); - equal( $elem.data("false", false).data("false"), false, "false's are preserved"); - equal( $elem.data("exists"), undefined, "Existing data is not returned" ); + var $obj = jQuery({ exists: true }); + strictEqual( $obj.data("nothing"), undefined, "Non-existent data returns undefined"); + strictEqual( $obj.data("exists"), undefined, "Object properties are not returned as data" ); + testDataTypes( $obj ); // Clean up - $elem.removeData(); - deepEqual( $elem[0], {exists:true}, "removeData does not clear the object" ); - - // manually clean up detached elements - parent.remove(); + $obj.removeData(); + deepEqual( $obj[0], { exists: true }, "removeData does not clear the object" ); }); test("data-* attributes", function() { |