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;
|
||||
},
|
||||
get: function( owner, key ) {
|
||||
var cache = this.cache( owner );
|
||||
|
||||
return key === undefined ?
|
||||
cache :
|
||||
this.cache( owner ) :
|
||||
|
||||
// Always use camelCase key (gh-2257)
|
||||
cache[ jQuery.camelCase( key ) ];
|
||||
owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ];
|
||||
},
|
||||
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