@@ -7,20 +7,19 @@ test("expando", function(){
77
88 var obj = { } ;
99 jQuery . data ( obj ) ;
10- equals ( jQuery . expando in obj , true , "jQuery.data adds an expando to the object" ) ;
10+ equals ( jQuery . expando in obj , false , "jQuery.data did not add an expando to the object" ) ;
1111
1212 obj = { } ;
1313 jQuery . data ( obj , 'test' ) ;
14- equals ( jQuery . expando in obj , false , "jQuery.data did not add an expando to the object" ) ;
14+ equals ( jQuery . expando in obj , false , "jQuery.data(obj,key) did not add an expando to the object" ) ;
1515
1616 obj = { } ;
1717 jQuery . data ( obj , "foo" , "bar" ) ;
18- equals ( jQuery . expando in obj , true , "jQuery.data added an expando to the object" ) ;
18+ equals ( jQuery . expando in obj , false , "jQuery.data(obj,key,value) did not add an expando to the object" ) ;
19+ equals ( obj . foo , "bar" , "jQuery.data(obj,key,value) sets fields directly on the object." ) ;
1920
2021 var id = obj [ jQuery . expando ] ;
2122 equals ( id in jQuery . cache , false , "jQuery.data did not add an entry to jQuery.cache" ) ;
22-
23- equals ( id . foo , "bar" , "jQuery.data worked correctly" ) ;
2423} ) ;
2524
2625test ( "jQuery.data" , function ( ) {
@@ -47,16 +46,16 @@ test("jQuery.data", function() {
4746 ok ( jQuery . data ( div , "test" ) === null , "Check for null data" ) ;
4847
4948 jQuery . data ( div , { "test" : "in" , "test2" : "in2" } ) ;
50- equals ( jQuery . data ( div , "test" ) , "in" , "Verify setting an object in data. " ) ;
51- equals ( jQuery . data ( div , "test2" ) , "in2" , "Verify setting an object in data. " ) ;
49+ equals ( jQuery . data ( div , "test" ) , "in" , "Verify setting an object in data" ) ;
50+ equals ( jQuery . data ( div , "test2" ) , "in2" , "Verify setting an object in data" ) ;
5251
5352 var obj = { } ;
5453 jQuery . data ( obj , "prop" , true ) ;
5554
56- ok ( obj [ jQuery . expando ] , "Data is being stored on the object. " ) ;
57- ok ( obj [ jQuery . expando ] . prop , "Data is being stored on the object. " ) ;
58-
59- equals ( jQuery . data ( obj , "prop" ) , true , "Make sure the right value is retrieved. " ) ;
55+ ok ( ! obj [ jQuery . expando ] , "Cache is not being stored on the object" ) ;
56+ ok ( obj . prop , "Data is being stored directly on the object" ) ;
57+ debugger ;
58+ equals ( jQuery . data ( obj , "prop" ) , true , "Make sure the right value is retrieved" ) ;
6059} ) ;
6160
6261test ( ".data()" , function ( ) {
@@ -68,7 +67,7 @@ test(".data()", function() {
6867} )
6968
7069test ( ".data(String) and .data(String, Object)" , function ( ) {
71- expect ( 23 ) ;
70+ expect ( 25 ) ;
7271 var div = jQuery ( "<div/>" ) ;
7372
7473 ok ( div . data ( "test" ) === undefined , "Check for no data exists" ) ;
@@ -125,32 +124,48 @@ test(".data(String) and .data(String, Object)", function() {
125124 equals ( div . data ( "test.bar" ) , "testroot" , "Check for unmatched namespace" ) ;
126125
127126 // #3748
128- var $elem = jQuery ( { } ) ;
129- equals ( $elem . data ( 'nothing' ) , undefined , "Non-existent data returns undefined" ) ;
130- equals ( $elem . data ( 'null' , null ) . data ( 'null' ) , null , "null's are preserved" ) ;
131- equals ( $elem . data ( 'emptyString' , '' ) . data ( 'emptyString' ) , '' , "Empty strings are preserved" ) ;
132- equals ( $elem . data ( 'false' , false ) . data ( 'false' ) , false , "false's are preserved" ) ;
127+ var $elem = jQuery ( { exists : true } ) ;
128+ equals ( $elem . data ( 'nothing' ) , undefined , "Non-existent data returns undefined" ) ;
129+ equals ( $elem . data ( 'null' , null ) . data ( 'null' ) , null , "null's are preserved" ) ;
130+ equals ( $elem . data ( 'emptyString' , '' ) . data ( 'emptyString' ) , '' , "Empty strings are preserved" ) ;
131+ equals ( $elem . data ( 'false' , false ) . data ( 'false' ) , false , "false's are preserved" ) ;
133132
133+ equals ( $elem . data ( 'exists' ) , true , "Existing data is returned" ) ;
134+
134135 // Clean up
135136 $elem . removeData ( ) ;
137+ ok ( jQuery . isEmptyObject ( $elem [ 0 ] ) , "removeData clears the object" ) ;
136138} ) ;
137139
138140test ( ".data(Object)" , function ( ) {
139- expect ( 2 ) ;
141+ expect ( 4 ) ;
140142
141143 var div = jQuery ( "<div/>" ) ;
142144
143145 div . data ( { "test" : "in" , "test2" : "in2" } ) ;
144- equals ( div . data ( "test" ) , "in" , "Verify setting an object in data." ) ;
145- equals ( div . data ( "test2" ) , "in2" , "Verify setting an object in data." ) ;
146+ equals ( div . data ( "test" ) , "in" , "Verify setting an object in data" ) ;
147+ equals ( div . data ( "test2" ) , "in2" , "Verify setting an object in data" ) ;
148+
149+ var obj = { test :"unset" } ,
150+ jqobj = jQuery ( obj ) ;
151+ jqobj . data ( { "test" : "in" , "test2" : "in2" } ) ;
152+ equals ( obj . test , "in" , "Verify setting an object on an object extends the object" ) ;
153+ equals ( obj . test2 , "in2" , "Verify setting an object on an object extends the object" ) ;
146154} ) ;
147155
148156test ( "jQuery.removeData" , function ( ) {
149- expect ( 1 ) ;
157+ expect ( 4 ) ;
150158 var div = jQuery ( "#foo" ) [ 0 ] ;
151159 jQuery . data ( div , "test" , "testing" ) ;
152160 jQuery . removeData ( div , "test" ) ;
153161 equals ( jQuery . data ( div , "test" ) , undefined , "Check removal of data" ) ;
162+
163+ var obj = { } ;
164+ jQuery . data ( obj , "test" , "testing" ) ;
165+ equals ( obj . test , "testing" , "verify data on plain object" ) ;
166+ jQuery . removeData ( obj , "test" ) ;
167+ equals ( jQuery . data ( obj , "test" ) , undefined , "Check removal of data on plain object" ) ;
168+ equals ( obj . test , undefined , "Check removal of data directly from plain object" ) ;
154169} ) ;
155170
156171test ( ".removeData()" , function ( ) {
0 commit comments