mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Follow-up for 22a4e5bd0a
, fix .checkOn, add support tests. Cloes gh-1199.
This commit is contained in:
parent
5aaa276e9e
commit
6da5eb1033
@ -13,7 +13,7 @@ jQuery.support = (function( support ) {
|
|||||||
input.type = "checkbox";
|
input.type = "checkbox";
|
||||||
|
|
||||||
// Check the default checkbox/radio value ("" on old WebKit; "on" elsewhere)
|
// Check the default checkbox/radio value ("" on old WebKit; "on" elsewhere)
|
||||||
support.checkOn = input.value === "";
|
support.checkOn = input.value !== "";
|
||||||
|
|
||||||
// Must access the parent to make an option select properly
|
// Must access the parent to make an option select properly
|
||||||
// Support: IE9, IE10
|
// Support: IE9, IE10
|
||||||
|
@ -34,6 +34,143 @@ testIframeWithCallback( "box-sizing does not affect jQuery.support.shrinkWrapBlo
|
|||||||
strictEqual( shrinkWrapBlocks, jQuery.support.shrinkWrapBlocks, "jQuery.support.shrinkWrapBlocks properties are the same" );
|
strictEqual( shrinkWrapBlocks, jQuery.support.shrinkWrapBlocks, "jQuery.support.shrinkWrapBlocks properties are the same" );
|
||||||
});
|
});
|
||||||
|
|
||||||
|
(function() {
|
||||||
|
var expected,
|
||||||
|
userAgent = window.navigator.userAgent;
|
||||||
|
|
||||||
|
if ( /chrome/i.test( userAgent ) ) {
|
||||||
|
expected = {
|
||||||
|
"checkOn":true,
|
||||||
|
"optSelected":true,
|
||||||
|
"optDisabled":true,
|
||||||
|
"focusinBubbles":false,
|
||||||
|
"reliableMarginRight":true,
|
||||||
|
"noCloneChecked":true,
|
||||||
|
"radioValue":true,
|
||||||
|
"checkClone":true,
|
||||||
|
"boxModel":true,
|
||||||
|
"ajax":true,
|
||||||
|
"cors":true,
|
||||||
|
"clearCloneStyle": true,
|
||||||
|
"boxSizing": true,
|
||||||
|
"boxSizingReliable": true,
|
||||||
|
"pixelPosition": false
|
||||||
|
};
|
||||||
|
} else if ( /opera.*version\/12\.1/i.test( userAgent ) ) {
|
||||||
|
expected = {
|
||||||
|
"checkOn":true,
|
||||||
|
"optSelected":true,
|
||||||
|
"optDisabled":true,
|
||||||
|
"focusinBubbles":false,
|
||||||
|
"reliableMarginRight":true,
|
||||||
|
"noCloneChecked":true,
|
||||||
|
"radioValue":false,
|
||||||
|
"checkClone":true,
|
||||||
|
"boxModel":true,
|
||||||
|
"ajax":true,
|
||||||
|
"cors":true,
|
||||||
|
"clearCloneStyle": true,
|
||||||
|
"boxSizing": true,
|
||||||
|
"boxSizingReliable": true,
|
||||||
|
"pixelPosition": true
|
||||||
|
};
|
||||||
|
} else if ( /msie 10\.0/i.test( userAgent ) ) {
|
||||||
|
expected = {
|
||||||
|
"checkOn":true,
|
||||||
|
"optSelected":false,
|
||||||
|
"optDisabled":true,
|
||||||
|
"focusinBubbles":true,
|
||||||
|
"reliableMarginRight":true,
|
||||||
|
"noCloneChecked":false,
|
||||||
|
"radioValue":false,
|
||||||
|
"checkClone":true,
|
||||||
|
"boxModel":true,
|
||||||
|
"ajax":true,
|
||||||
|
"cors":true,
|
||||||
|
"clearCloneStyle": false,
|
||||||
|
"boxSizing": true,
|
||||||
|
"boxSizingReliable": false,
|
||||||
|
"pixelPosition": true
|
||||||
|
};
|
||||||
|
} else if ( /msie 9\.0/i.test( userAgent ) ) {
|
||||||
|
expected = {
|
||||||
|
"checkOn":true,
|
||||||
|
"optSelected":false,
|
||||||
|
"optDisabled":true,
|
||||||
|
"focusinBubbles":true,
|
||||||
|
"reliableMarginRight":true,
|
||||||
|
"noCloneChecked":false,
|
||||||
|
"radioValue":false,
|
||||||
|
"checkClone":true,
|
||||||
|
"boxModel":true,
|
||||||
|
"ajax":true,
|
||||||
|
"cors":false,
|
||||||
|
"clearCloneStyle": false,
|
||||||
|
"boxSizing": true,
|
||||||
|
"boxSizingReliable": false,
|
||||||
|
"pixelPosition": true
|
||||||
|
};
|
||||||
|
} else if ( /5\.1\.\d+ safari/i.test( userAgent ) ) {
|
||||||
|
expected = {
|
||||||
|
"checkOn":false,
|
||||||
|
"optSelected":true,
|
||||||
|
"optDisabled":true,
|
||||||
|
"focusinBubbles":false,
|
||||||
|
"reliableMarginRight":true,
|
||||||
|
"noCloneChecked":true,
|
||||||
|
"radioValue":true,
|
||||||
|
"checkClone":false,
|
||||||
|
"boxModel":true,
|
||||||
|
"ajax":true,
|
||||||
|
"cors":true,
|
||||||
|
"clearCloneStyle": true,
|
||||||
|
"boxSizing": true,
|
||||||
|
"boxSizingReliable": true,
|
||||||
|
"pixelPosition": false
|
||||||
|
};
|
||||||
|
} else if ( /firefox/i.test( userAgent ) ) {
|
||||||
|
expected = {
|
||||||
|
"checkOn":true,
|
||||||
|
"optSelected":true,
|
||||||
|
"optDisabled":true,
|
||||||
|
"focusinBubbles":false,
|
||||||
|
"reliableMarginRight":true,
|
||||||
|
"noCloneChecked":true,
|
||||||
|
"radioValue":true,
|
||||||
|
"checkClone":true,
|
||||||
|
"boxModel":true,
|
||||||
|
"ajax":true,
|
||||||
|
"cors":true,
|
||||||
|
"clearCloneStyle": true,
|
||||||
|
"boxSizing": true,
|
||||||
|
"boxSizingReliable": false,
|
||||||
|
"pixelPosition": true
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( expected ) {
|
||||||
|
test("Verify that the support tests resolve as expected per browser", function() {
|
||||||
|
var i, prop,
|
||||||
|
j = 0;
|
||||||
|
|
||||||
|
for ( prop in jQuery.support ) {
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
|
||||||
|
expect( j );
|
||||||
|
|
||||||
|
for ( i in expected ) {
|
||||||
|
if ( jQuery.ajax || i !== "ajax" && i !== "cors" ) {
|
||||||
|
equal( jQuery.support[i], expected[i], "jQuery.support['" + i + "']: " + jQuery.support[i] + ", expected['" + i + "']: " + expected[i]);
|
||||||
|
} else {
|
||||||
|
ok( true, "no ajax; skipping jQuery.support['" + i + "']" );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
})();
|
||||||
|
|
||||||
// Support: Safari 5.1
|
// Support: Safari 5.1
|
||||||
// Shameless browser-sniff, but Safari 5.1 mishandles CSP
|
// Shameless browser-sniff, but Safari 5.1 mishandles CSP
|
||||||
if ( !( typeof navigator !== "undefined" &&
|
if ( !( typeof navigator !== "undefined" &&
|
||||||
|
Loading…
Reference in New Issue
Block a user