mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Data: do not create data cache when fetching single property
Closes gh-2554
This commit is contained in:
parent
5adf04a73c
commit
f5bf9bc488
@ -72,13 +72,11 @@ Data.prototype = {
|
|||||||
return cache;
|
return cache;
|
||||||
},
|
},
|
||||||
get: function( owner, key ) {
|
get: function( owner, key ) {
|
||||||
var cache = this.cache( owner );
|
|
||||||
|
|
||||||
return key === undefined ?
|
return key === undefined ?
|
||||||
cache :
|
this.cache( owner ) :
|
||||||
|
|
||||||
// Always use camelCase key (gh-2257)
|
// Always use camelCase key (gh-2257)
|
||||||
cache[ jQuery.camelCase( key ) ];
|
owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ];
|
||||||
},
|
},
|
||||||
access: function( owner, key, value ) {
|
access: function( owner, key, value ) {
|
||||||
|
|
||||||
|
@ -882,3 +882,19 @@ QUnit.test( "Check that the expando is removed when there's no more data", funct
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
QUnit.test( ".data(prop) does not create expando", function( assert ) {
|
||||||
|
assert.expect( 1 );
|
||||||
|
|
||||||
|
var key,
|
||||||
|
div = jQuery( "<div/>" );
|
||||||
|
|
||||||
|
div.data("foo");
|
||||||
|
assert.equal( false, jQuery.hasData( div[0] ) );
|
||||||
|
// Make sure no expando has been added
|
||||||
|
for ( key in div[ 0 ] ) {
|
||||||
|
if ( /^jQuery/.test( key ) ) {
|
||||||
|
assert.ok( false, "Expando was created on access" );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
Loading…
Reference in New Issue
Block a user