@@ -18,10 +18,15 @@ <h1>Zepto data() tests</h1>
18
18
< div id ="fixtures ">
19
19
< div id ="data_attr " data-one ="uno " data-two ="due "> </ div >
20
20
< div id ="data_full " data-mode ="awesome "> </ div >
21
+ < div id ="data_obj " data-mode ="awesome "> </ div >
21
22
< ol id ="data_list ">
22
23
< li data-category ="arts "> </ li >
23
24
< li data-category ="science "> </ li >
24
25
</ ol >
26
+ < ol id ="data_list2 ">
27
+ < li > </ li >
28
+ < li > </ li >
29
+ </ ol >
25
30
</ div >
26
31
27
32
< script >
@@ -89,7 +94,45 @@ <h1>Zepto data() tests</h1>
89
94
t . assertEqual ( 'ni' , all . two )
90
95
t . assertEqual ( 'Kurosawa' , all . person . name )
91
96
t . assertUndefined ( all . mode )
97
+ } ,
98
+
99
+ testSettingDataWithObj : function ( t ) {
100
+ var el = $ ( '#data_obj' )
101
+
102
+ el . data ( {
103
+ 'foo' : 'bar' ,
104
+ 'answer' : 42 ,
105
+ 'color' : 'blue'
106
+ } )
107
+
108
+ var all = el . data ( )
109
+
110
+ t . assertEqual ( all . answer , 42 )
111
+ t . assertEqual ( all . color , 'blue' )
112
+ t . assertEqual ( all . foo , 'bar' )
113
+
114
+ el . data ( 'foo' , 'baz' )
115
+
116
+ t . assertEqual ( all . foo , 'baz' )
117
+ t . assertEqual ( all . answer , 42 )
118
+ } ,
119
+
120
+ testSettingDataWithObjOnManyElements : function ( t ) {
121
+ var items = $ ( '#data_list2 li' )
122
+
123
+ items . data ( {
124
+ 'foo' : 'bar' ,
125
+ 'answer' : 42 ,
126
+ 'color' : 'purple'
127
+ } )
128
+
129
+ var values = items . map ( function ( ) { return $ ( this ) . data ( 'foo' ) } )
130
+ t . assertEqual ( 'bar, bar' , values . join ( ', ' ) )
131
+
132
+ var values2 = items . map ( function ( ) { return $ ( this ) . data ( 'answer' ) } )
133
+ t . assertEqual ( '42, 42' , values2 . join ( ', ' ) )
92
134
}
135
+
93
136
} )
94
137
</ script >
95
138
</ body >
0 commit comments