var functionReturningObj = function(value) { return (function() { return value; }); };
test("attr(String)", function() {
- expect(30);
+ expect(31);
// This one sometimes fails randomly ?!
equals( jQuery('#text1').attr('value'), "Test", 'Check for value attribute' );
ok( jQuery("<div/>").attr("doesntexist") === undefined, "Make sure undefined is returned when no attribute is found." );
ok( jQuery().attr("doesntexist") === undefined, "Make sure undefined is returned when no element is there." );
+
+ equals( jQuery(document).attr("nodeName"), "#document", "attr works correctly on document nodes (bug #7451)." );
});
if ( !isLocal ) {
});
test("val()", function() {
- expect(20);
+ expect(23);
document.getElementById('text1').value = "bla";
equals( jQuery("#text1").val(), "bla", "Check for modified value of input element" );
jQuery('#select4').attr('disabled', true);
same( jQuery('#select4').val(), ['2', '3'], 'Call val() on disabled multiple="multiple" select' );
+ equals( jQuery('#select5').val(), "3", "Check value on ambiguous select." );
+
+ jQuery('#select5').val(1);
+ equals( jQuery('#select5').val(), "1", "Check value on ambiguous select." );
+
+ jQuery('#select5').val(3);
+ equals( jQuery('#select5').val(), "3", "Check value on ambiguous select." );
+
var checks = jQuery("<input type='checkbox' name='test' value='1'/><input type='checkbox' name='test' value='2'/><input type='checkbox' name='test' value=''/><input type='checkbox' name='test'/>").appendTo("#form");
same( checks.serialize(), "", "Get unchecked values." );
test("val(Function)", function() {
testVal(functionReturningObj);
-})
+});
+
+test( "val(Array of Numbers) (Bug #7123)", function() {
+ expect(4);
+ jQuery('#form').append('<input type="checkbox" name="arrayTest" value="1" /><input type="checkbox" name="arrayTest" value="2" /><input type="checkbox" name="arrayTest" value="3" checked="checked" /><input type="checkbox" name="arrayTest" value="4" />');
+ var elements = jQuery('input[name=arrayTest]').val([ 1, 2 ]);
+ ok( elements[0].checked, "First element was checked" );
+ ok( elements[1].checked, "Second element was checked" );
+ ok( !elements[2].checked, "Third element was unchecked" );
+ ok( !elements[3].checked, "Fourth element remained unchecked" );
+
+ elements.remove();
+});
test("val(Function) with incoming value", function() {
expect(10);
});
test("addClass(Function) with incoming value", function() {
- expect(41);
+ expect(45);
var div = jQuery("div"), old = div.map(function(){
return jQuery(this).attr("class");
});
test("removeClass(Function) with incoming value", function() {
- expect(41);
+ expect(45);
var $divs = jQuery('div').addClass("test"), old = $divs.map(function(){
return jQuery(this).attr("class");
});
test("addClass, removeClass, hasClass", function() {
- expect(14);
+ expect(17);
var jq = jQuery("<p>Hi</p>"), x = jq[0];
ok( jq.hasClass("hi"), "Check has1" );
ok( jq.hasClass("bar"), "Check has2" );
- var jq = jQuery("<p class='class1\nclass2\tcla.ss3\n'></p>");
- ok( jq.hasClass("class1"), "Check hasClass with carriage return" );
- ok( jq.is(".class1"), "Check is with carriage return" );
+ var jq = jQuery("<p class='class1\nclass2\tcla.ss3\n\rclass4'></p>");
+ ok( jq.hasClass("class1"), "Check hasClass with line feed" );
+ ok( jq.is(".class1"), "Check is with line feed" );
ok( jq.hasClass("class2"), "Check hasClass with tab" );
ok( jq.is(".class2"), "Check is with tab" );
ok( jq.hasClass("cla.ss3"), "Check hasClass with dot" );
+ ok( jq.hasClass("class4"), "Check hasClass with carriage return" );
+ ok( jq.is(".class4"), "Check is with carriage return" );
jq.removeClass("class2");
ok( jq.hasClass("class2")==false, "Check the class has been properly removed" );
ok( jq.hasClass("cla.ss3"), "Check the dotted class has not been removed" );
jq.removeClass("cla.ss3");
ok( jq.hasClass("cla.ss3")==false, "Check the dotted class has been removed" );
+ jq.removeClass("class4");
+ ok( jq.hasClass("class4")==false, "Check the class has been properly removed" );
});