});
test("attr(String, Object)", function() {
- expect(17);
+ expect(19);
var div = jQuery("div").attr("foo", "bar");
fail = false;
for ( var i = 0; i < div.size(); i++ ) {
}
ok( thrown, "Exception thrown when trying to change type property" );
equals( "checkbox", jQuery(check).attr('type'), "Verify that you can change the type of an input element that isn't in the DOM" );
+
+ var check = jQuery("<input />");
+ var thrown = true;
+ try {
+ check.attr('type','checkbox');
+ } catch(e) {
+ thrown = false;
+ }
+ ok( thrown, "Exception thrown when trying to change type property" );
+ equals( "checkbox", check.attr('type'), "Verify that you can change the type of an input element that isn't in the DOM" );
});
if ( !isLocal ) {
test("wrapAll(String|Element)", function() {
expect(8);
- var prev = jQuery("#first")[0].previousSibling;
- var p = jQuery("#first")[0].parentNode;
- var result = jQuery('#first,#firstp').wrapAll('<div class="red"><div id="tmp"></div></div>');
+ var prev = jQuery("#firstp")[0].previousSibling;
+ var p = jQuery("#firstp,#first")[0].parentNode;
+ var result = jQuery('#firstp,#first').wrapAll('<div class="red"><div id="tmp"></div></div>');
equals( result.parent().length, 1, 'Check for wrapping of on-the-fly html' );
ok( jQuery('#first').parent().parent().is('.red'), 'Check if wrapper has class "red"' );
ok( jQuery('#firstp').parent().parent().is('.red'), 'Check if wrapper has class "red"' );
equals( jQuery("#first").parent().parent()[0].parentNode, p, "Correct Parent" );
reset();
- var prev = jQuery("#first")[0].previousSibling;
+ var prev = jQuery("#firstp")[0].previousSibling;
var p = jQuery("#first")[0].parentNode;
- var result = jQuery('#first,#firstp').wrapAll(document.getElementById('empty'));
+ var result = jQuery('#firstp,#first').wrapAll(document.getElementById('empty'));
equals( jQuery("#first").parent()[0], jQuery("#firstp").parent()[0], "Same Parent" );
equals( jQuery("#first").parent()[0].previousSibling, prev, "Correct Previous Sibling" );
equals( jQuery("#first").parent()[0].parentNode, p, "Correct Parent" );
equals( expected, jQuery('#sap').text(), "Check for appending of array of elements" );
reset();
- expected = "This link has class=\"blog\": Simon Willison's WeblogTry them out:Yahoo";
+ expected = document.querySelectorAll ?
+ "This link has class=\"blog\": Simon Willison's WeblogYahooTry them out:" :
+ "This link has class=\"blog\": Simon Willison's WeblogTry them out:Yahoo";
jQuery('#sap').append(jQuery("#first, #yahoo"));
equals( expected, jQuery('#sap').text(), "Check for appending of jQuery object" );
equals( expected, jQuery('#sap').text(), "Check for appending of array of elements" );
reset();
- expected = "This link has class=\"blog\": Simon Willison's WeblogTry them out:Yahoo";
+ expected = document.querySelectorAll ?
+ "This link has class=\"blog\": Simon Willison's WeblogYahooTry them out:" :
+ "This link has class=\"blog\": Simon Willison's WeblogTry them out:Yahoo";
jQuery("#first, #yahoo").appendTo('#sap');
equals( expected, jQuery('#sap').text(), "Check for appending of jQuery object" );
equals( expected, jQuery('#sap').text(), "Check for prepending of array of elements" );
reset();
- expected = "Try them out:YahooThis link has class=\"blog\": Simon Willison's Weblog";
+ expected = document.querySelectorAll ?
+ "YahooTry them out:This link has class=\"blog\": Simon Willison's Weblog" :
+ "Try them out:YahooThis link has class=\"blog\": Simon Willison's Weblog";
jQuery('#sap').prepend(jQuery("#first, #yahoo"));
equals( expected, jQuery('#sap').text(), "Check for prepending of jQuery object" );
});
jQuery('<select id="prependSelect1"></select>').prependTo('form:last');
jQuery('<select id="prependSelect2"><option>Test</option></select>').prependTo('form:last');
- t( "Prepend Select", "#prependSelect1, #prependSelect2", ["prependSelect1", "prependSelect2"] );
+ t( "Prepend Select", "#prependSelect2, #prependSelect1", ["prependSelect2", "prependSelect1"] );
});
test("before(String|Element|Array<Element>|jQuery)", function() {
equals( expected, jQuery('#en').text(), "Insert array of elements before" );
reset();
- expected = "This is a normal link: Try them out:diveintomarkYahoo";
+ expected = document.querySelectorAll ?
+ "This is a normal link: diveintomarkTry them out:Yahoo" :
+ "This is a normal link: Try them out:diveintomarkYahoo";
jQuery('#yahoo').before(jQuery("#first, #mark"));
equals( expected, jQuery('#en').text(), "Insert jQuery before" );
});
equals( expected, jQuery('#en').text(), "Insert array of elements before" );
reset();
- expected = "This is a normal link: Try them out:diveintomarkYahoo";
+ expected = document.querySelectorAll ?
+ "This is a normal link: diveintomarkTry them out:Yahoo" :
+ "This is a normal link: Try them out:diveintomarkYahoo";
jQuery("#first, #mark").insertBefore('#yahoo');
equals( expected, jQuery('#en').text(), "Insert jQuery before" );
});
equals( expected, jQuery('#en').text(), "Insert array of elements after" );
reset();
- expected = "This is a normal link: YahooTry them out:diveintomark";
+ expected = document.querySelectorAll ?
+ "This is a normal link: YahoodiveintomarkTry them out:" :
+ "This is a normal link: YahooTry them out:diveintomark";
jQuery('#yahoo').after(jQuery("#first, #mark"));
equals( expected, jQuery('#en').text(), "Insert jQuery after" );
});
ok( jQuery('#en').is('[lang="de"] , [lang="en"]'), 'Comma-seperated; Check for lang attribute: Expect en or de' );
});
+test("jQuery.merge()", function() {
+ expect(6);
+
+ var parse = jQuery.merge;
+
+ same( parse([],[]), [], "Empty arrays" );
+
+ same( parse([1],[2]), [1,2], "Basic" );
+ same( parse([1,2],[3,4]), [1,2,3,4], "Basic" );
+
+ same( parse([1,2],[]), [1,2], "Second empty" );
+ same( parse([],[1,2]), [1,2], "First empty" );
+
+ // Fixed at [5998], #3641
+ same( parse([-2,-1], [0,1,2]), [-2,-1,0,1,2], "Second array including a zero (falsy)");
+});
+
test("jQuery.extend(Object, Object)", function() {
expect(20);
equals( j.filter("[name]").length, 0, "Check node,textnode,comment to filter the one span" );
});
+test("closest()", function() {
+ expect(4);
+ isSet( jQuery("body").closest("body").get(), q("body"), "closest(body)" );
+ isSet( jQuery("body").closest("html").get(), q("html"), "closest(html)" );
+ isSet( jQuery("body").closest("div").get(), [], "closest(div)" );
+ isSet( jQuery("#main").closest("span,#html").get(), q("html"), "closest(span,#html)" );
+});
+
test("not()", function() {
expect(8);
equals( jQuery("#main > p#ap > a").not("#google").length, 2, "not('selector')" );
expect(4);
isSet( jQuery("#en").siblings().andSelf().get(), q("sndp", "sap","en"), "Check for siblings and self" );
isSet( jQuery("#foo").children().andSelf().get(), q("sndp", "en", "sap", "foo"), "Check for children and self" );
- isSet( jQuery("#en, #sndp").parent().andSelf().get(), q("foo","en","sndp"), "Check for parent and self" );
+ isSet( jQuery("#sndp, #en").parent().andSelf().get(), q("foo","sndp","en"), "Check for parent and self" );
isSet( jQuery("#groups").parents("p, div").andSelf().get(), q("ap", "main", "groups"), "Check for parents and self" );
});
isSet( jQuery("#sndp").siblings(":has(code)").get(), q("sap"), "Check for filtered siblings (has code child element)" );
isSet( jQuery("#sndp").siblings(":has(a)").get(), q("en", "sap"), "Check for filtered siblings (has anchor child element)" );
isSet( jQuery("#foo").siblings("form, b").get(), q("form", "lengthtest", "testForm", "floatTest"), "Check for multiple filters" );
- isSet( jQuery("#en, #sndp").siblings().get(), q("sndp", "sap", "en"), "Check for unique results from siblings" );
+ var set = document.querySelectorAll ? q("en", "sap", "sndp") : q("sndp", "sap", "en");
+ isSet( jQuery("#en, #sndp").siblings().get(), set, "Check for unique results from siblings" );
});
test("children([String])", function() {
});
test("toggleClass(String)", function() {
- expect(3);
+ expect(6);\r
var e = jQuery("#firstp");
ok( !e.is(".test"), "Assert class not present" );
e.toggleClass("test");
ok( e.is(".test"), "Assert class present" );
e.toggleClass("test");
ok( !e.is(".test"), "Assert class not present" );
+
+ e.toggleClass("test", false);\r
+ ok( !e.is(".test"), "Assert class not present" );\r
+ e.toggleClass("test", true);\r
+ ok( e.is(".test"), "Assert class present" );\r
+ e.toggleClass("test", false);\r
+ ok( !e.is(".test"), "Assert class not present" );\r
});
test("removeAttr(String", function() {