diff --git a/src/core.js b/src/core.js
index c014f8f8c..d12d5d3ac 100644
--- a/src/core.js
+++ b/src/core.js
@@ -765,7 +765,7 @@ jQuery.extend({
// Otherwise, we need to flip out more values
} else {
elem = jQuery( elem.cloneNode(true) )
- .find(":radio").removeAttr("checked").end()
+ .find(":radio").removeAttr("checked").removeAttr("defaultChecked").end()
.css({
visibility: "hidden",
position: "absolute",
diff --git a/test/index.html b/test/index.html
index 9f91f8842..703354cfd 100644
--- a/test/index.html
+++ b/test/index.html
@@ -132,15 +132,24 @@ Z
-
+
+
-
-
+
+
@@ -150,6 +159,16 @@ Z
+
diff --git a/test/unit/core.js b/test/unit/core.js
index 5101f8181..96b5d4079 100644
--- a/test/unit/core.js
+++ b/test/unit/core.js
@@ -389,6 +389,18 @@ test("css(String, Object)", function() {
ok( $('#foo').css('opacity') == '1', "Assert opacity is 1 when set to an empty String" );
});
+test("jQuery.css(elem, 'height') doesn't clear radio buttons (bug #1095)", function () {
+ expect(4);
+
+ var $checkedtest = $("#checkedtest");
+ // IE6 was clearing "checked" in jQuery.css(elem, "height");
+ jQuery.css($checkedtest[0], "height");
+ ok( !! $(":radio:first", $checkedtest).attr("checked"), "Check first radio still checked." );
+ ok( ! $(":radio:last", $checkedtest).attr("checked"), "Check last radio still NOT checked." );
+ ok( !! $(":checkbox:first", $checkedtest).attr("checked"), "Check first checkbox still checked." );
+ ok( ! $(":checkbox:last", $checkedtest).attr("checked"), "Check last checkbox still NOT checked." );
+});
+
test("text()", function() {
expect(1);
var expected = "This link has class=\"blog\": Simon Willison's Weblog";
diff --git a/test/unit/fx.js b/test/unit/fx.js
index d6de83f92..c20e39ceb 100644
--- a/test/unit/fx.js
+++ b/test/unit/fx.js
@@ -12,43 +12,43 @@ test("animate(Hash, Object, Function)", function() {
});
test("animate option (queue === false)", function () {
- expect(1);
- stop();
-
- var order = [];
+ expect(1);
+ stop();
- var $foo = $("#foo");
- $foo.animate({width:'100px'}, 200, function () {
- // should finish after unqueued animation so second
- order.push(2);
- });
- $foo.animate({fontSize:'2em'}, {queue:false, duration:10, complete:function () {
- // short duration and out of queue so should finish first
- order.push(1);
- }});
- $foo.animate({height:'100px'}, 10, function() {
- // queued behind the first animation so should finish third
- order.push(3);
- isSet( order, [ 1, 2, 3], "Animations finished in the correct order" );
- start();
- });
+ var order = [];
+
+ var $foo = $("#foo");
+ $foo.animate({width:'100px'}, 200, function () {
+ // should finish after unqueued animation so second
+ order.push(2);
+ });
+ $foo.animate({fontSize:'2em'}, {queue:false, duration:10, complete:function () {
+ // short duration and out of queue so should finish first
+ order.push(1);
+ }});
+ $foo.animate({height:'100px'}, 10, function() {
+ // queued behind the first animation so should finish third
+ order.push(3);
+ isSet( order, [ 1, 2, 3], "Animations finished in the correct order" );
+ start();
+ });
});
test("queue() defaults to 'fx' type", function () {
- expect(2);
- stop();
+ expect(2);
+ stop();
- var $foo = $("#foo");
- $foo.queue("fx", [ "sample", "array" ]);
- var arr = $foo.queue();
- isSet(arr, [ "sample", "array" ], "queue() got an array set with type 'fx'");
- $foo.queue([ "another", "one" ]);
- var arr = $foo.queue("fx");
- isSet(arr, [ "another", "one" ], "queue('fx') got an array set with no type");
- // clean up after test
- $foo.queue([]);
+ var $foo = $("#foo");
+ $foo.queue("fx", [ "sample", "array" ]);
+ var arr = $foo.queue();
+ isSet(arr, [ "sample", "array" ], "queue() got an array set with type 'fx'");
+ $foo.queue([ "another", "one" ]);
+ var arr = $foo.queue("fx");
+ isSet(arr, [ "another", "one" ], "queue('fx') got an array set with no type");
+ // clean up after test
+ $foo.queue([]);
- start();
+ start();
});
test("stop()", function() {
diff --git a/test/unit/selector.js b/test/unit/selector.js
index 2c80d796c..3c0c6761d 100644
--- a/test/unit/selector.js
+++ b/test/unit/selector.js
@@ -59,8 +59,8 @@ test("id", function() {
t( "Child escaped ID", "form > #foo\\:bar", ["foo:bar"] );
t( "Child escaped ID", "form > #test\\.foo\\[5\\]bar", ["test.foo[5]bar"] );
- t( "ID Selector, child ID present", "#form > #radio1", ["radio1"] ); // bug #267
- t( "ID Selector, not an ancestor ID", "#form #first", [] );
+ t( "ID Selector, child ID present", "#form > #radio1", ["radio1"] ); // bug #267
+ t( "ID Selector, not an ancestor ID", "#form #first", [] );
t( "ID Selector, not a child ID", "#form > #option1a", [] );
t( "All Children of ID", "#foo > *", ["sndp", "en", "sap"] );
@@ -193,7 +193,7 @@ test("pseudo (:) selectors", function() {
t( "Selected Option Element", "#form option:selected", ["option1a","option2d","option3b","option3c"] );
t( "Text Contains", "a:contains('Google')", ["google","groups"] );
t( "Text Contains", "a:contains('Google Groups')", ["groups"] );
- t( "Element Preceded By", "p ~ div", ["foo","fx-queue","fx-tests"] );
+ t( "Element Preceded By", "p ~ div", ["foo","fx-queue","fx-tests", "moretests"] );
t( "Not", "a.blog:not(.link)", ["mark"] );
t( "nth Element", "p:nth(1)", ["ap"] );