Skip to content

Commit 5fa5460

Browse files
committed
Data: update format and separte single and mass set test
1 parent 6a4df76 commit 5fa5460

File tree

2 files changed

+35
-15
lines changed

2 files changed

+35
-15
lines changed

src/data.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ var oldData = jQuery.data;
33
jQuery.data = function( elem, name, value ) {
44
var curData;
55

6-
//Name can be an object, and each entry in the object is meant to be set as data
6+
// Name can be an object, and each entry in the object is meant to be set as data
77
if ( name && typeof name === "object" && arguments.length === 2 ) {
88
curData = jQuery.hasData( elem ) && oldData.call( this, elem );
99
var sameKeys = {};

test/data.js

Lines changed: 34 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ test( "jQuery.data() camelCased names", function( assert ) {
1616
"-dashy-hanger"
1717
];
1818

19-
assert.expect( 27 );
19+
assert.expect( 16 );
2020

2121
var curData,
2222
div = document.createElement( "div" );
@@ -37,7 +37,38 @@ test( "jQuery.data() camelCased names", function( assert ) {
3737
} );
3838
} );
3939

40-
div = document.createElement( "div" );
40+
// Camelized values set for all names above, get the data object
41+
curData = jQuery.data( div );
42+
43+
// = diffs.length + warning
44+
expectWarning( "Dashed name conflicts", diffs.length, function() {
45+
diffs.forEach( function( name, index ) {
46+
curData[ name ] = index;
47+
assert.equal( jQuery.data( div, name ), curData[ name ],
48+
name + " respects data object" );
49+
} );
50+
} );
51+
52+
} );
53+
54+
test( "jQuery.data() camelCased names (mass setter)", function( assert ) {
55+
var sames = [
56+
"datum",
57+
"ropeAdope",
58+
"Олег\u0007Michał",
59+
"already-Big",
60+
"number-2",
61+
"unidash-"
62+
],
63+
diffs = [
64+
"dat-data",
65+
"hangy-dasher-",
66+
"-dashy-hanger"
67+
];
68+
69+
assert.expect( 11 );
70+
71+
var div = document.createElement( "div" );
4172

4273
// = sames.length + noWarning
4374
expectNoWarning( "Data set as an object and get without warning via API", function() {
@@ -69,16 +100,5 @@ test( "jQuery.data() camelCased names", function( assert ) {
69100
} );
70101
} );
71102

72-
// Camelized values set for all names above, get the data object
73-
curData = jQuery.data( div );
74-
75-
// = diffs.length + warning
76-
expectWarning( "Dashed name conflicts", diffs.length, function() {
77-
diffs.forEach( function( name, index ) {
78-
curData[ name ] = index;
79-
assert.equal( jQuery.data( div, name ), curData[ name ],
80-
name + " respects data object" );
81-
} );
82-
} );
83-
84103
} );
104+

0 commit comments

Comments
 (0)