Fixed #1095 bug where radio buttons became unchecked during show(). Also added unit test and had to fix a selector test that was broken by the new testing div in test/index.html. Last made some whitespace changes.

This commit is contained in:
David Serduke 2007-11-16 23:39:23 +00:00
parent b9371a6ca4
commit e2ef3df86d
5 changed files with 69 additions and 38 deletions

View file

@ -765,7 +765,7 @@ jQuery.extend({
// Otherwise, we need to flip out more values // Otherwise, we need to flip out more values
} else { } else {
elem = jQuery( elem.cloneNode(true) ) elem = jQuery( elem.cloneNode(true) )
.find(":radio").removeAttr("checked").end() .find(":radio").removeAttr("checked").removeAttr("defaultChecked").end()
.css({ .css({
visibility: "hidden", visibility: "hidden",
position: "absolute", position: "absolute",

View file

@ -132,7 +132,16 @@ Z</textarea>
<input type="radio" name="R1" value="2" /> <input type="radio" name="R1" value="2" />
<input type="text" name="My Name" value="me" /> <input type="text" name="My Name" value="me" />
<input type="reset" name="reset" value="NO" /> <input type="reset" name="reset" value="NO" />
<select name="S1"> <option value="abc">ABC</option> <option value="abc">ABC</option> <option value="abc">ABC</option> </select> <select name="S2" multiple="multiple" size="3"> <option value="abc">ABC</option> <option value="abc">ABC</option> <option value="abc">ABC</option> </select> <select name="S1">
<option value="abc">ABC</option>
<option value="abc">ABC</option>
<option value="abc">ABC</option>
</select>
<select name="S2" multiple="multiple" size="3">
<option value="abc">ABC</option>
<option value="abc">ABC</option>
<option value="abc">ABC</option>
</select>
<select name="S3"> <select name="S3">
<option selected="selected">YES</option> <option selected="selected">YES</option>
</select> </select>
@ -150,6 +159,16 @@ Z</textarea>
<option selected="selected" value="NO">NO</option> <option selected="selected" value="NO">NO</option>
</select> </select>
</form> </form>
<div id="moretests">
<form>
<div id="checkedtest" style="display:none;">
<input type="radio" name="checkedtestradios" checked="checked"/>
<input type="radio" name="checkedtestradios" value="on"/>
<input type="checkbox" name="checkedtestcheckboxes" checked="checked"/>
<input type="checkbox" name="checkedtestcheckboxes" />
</div>
</form>
</div>
</div> </div>
</dl> </dl>

View file

@ -389,6 +389,18 @@ test("css(String, Object)", function() {
ok( $('#foo').css('opacity') == '1', "Assert opacity is 1 when set to an empty String" ); 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() { test("text()", function() {
expect(1); expect(1);
var expected = "This link has class=\"blog\": Simon Willison's Weblog"; var expected = "This link has class=\"blog\": Simon Willison's Weblog";

View file

@ -193,7 +193,7 @@ test("pseudo (:) selectors", function() {
t( "Selected Option Element", "#form option:selected", ["option1a","option2d","option3b","option3c"] ); 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')", ["google","groups"] );
t( "Text Contains", "a:contains('Google Groups')", ["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( "Not", "a.blog:not(.link)", ["mark"] );
t( "nth Element", "p:nth(1)", ["ap"] ); t( "nth Element", "p:nth(1)", ["ap"] );