X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjquery%2FcoreTest.js;h=4776a66eef4cb18a732d71f70dc3f390a06b894f;hb=ff4f265bc0273bda0c8873d470aefa20170abc41;hp=9791767089cf42fd76022981933c016b442f5d04;hpb=958bed09da67c052dfa85c0bb8c0dc88873e5923;p=jquery.git diff --git a/src/jquery/coreTest.js b/src/jquery/coreTest.js index 9791767..4776a66 100644 --- a/src/jquery/coreTest.js +++ b/src/jquery/coreTest.js @@ -12,7 +12,7 @@ test("Basic requirements", function() { }); test("$()", function() { - expect(3); + expect(4); var main = $("#main"); isSet( $("div p", main).get(), q("sndp", "en", "sap"), "Basic selector with jQuery object as context" ); @@ -32,6 +32,9 @@ test("$()", function() { pass = false; } ok( pass, "$('<tag>') needs optional document parameter to ease cross-frame DOM wrangling, see #968" ); + + var form = $("form")[0]; + equals( 15, $(form.elements).size(), "$(form.elements)" ); }); test("isFunction", function() { @@ -356,14 +359,14 @@ test("wrap(String|Element)", function() { }); test("append(String|Element|Array<Element>|jQuery)", function() { - expect(14); + expect(17); var defaultText = 'Try them out:' var result = $('#first').append('buga'); ok( result.text() == defaultText + 'buga', 'Check if text appending works' ); ok( $('#select3').append('').find('option:last-child').attr('value') == 'appendTest', 'Appending html options to select element'); reset(); - expected = "This link has class=\"blog\": Simon Willison's WeblogTry them out:"; + var expected = "This link has class=\"blog\": Simon Willison's WeblogTry them out:"; $('#sap').append(document.getElementById('first')); ok( expected == $('#sap').text(), "Check for appending of element" ); @@ -405,24 +408,36 @@ test("append(String|Element|Array<Element>|jQuery)", function() { ok( pass, "Test for appending a DOM node to the contents of an IFrame" ); reset(); - $('#select1').appendTo('#foo'); - t( 'Append select', '#foo select', ['select1'] ); - - reset(); $('
').appendTo('#form').append('test'); t( 'Append legend', '#legend', ['legend'] ); + reset(); + $('#select1').append(''); + ok( $('#select1 option:last').text() == "Test", "Appending <OPTION> (all caps)" ); + + $('#table').append(''); + ok( $('#table colgroup').length, "Append colgroup" ); + + $('#table colgroup').append(''); + ok( $('#table colgroup col').length, "Append col" ); + + reset(); + $('form:last') + .append('') + .append(''); + + t( "Append Select", "#appendSelect1, #appendSelect2", ["appendSelect1", "appendSelect2"] ); }); test("appendTo(String|Element|Array<Element>|jQuery)", function() { - expect(5); + expect(6); var defaultText = 'Try them out:' $('buga').appendTo('#first'); ok( $("#first").text() == defaultText + 'buga', 'Check if text appending works' ); ok( $('').appendTo('#select3').parent().find('option:last-child').attr('value') == 'appendTest', 'Appending html options to select element'); reset(); - expected = "This link has class=\"blog\": Simon Willison's WeblogTry them out:"; + var expected = "This link has class=\"blog\": Simon Willison's WeblogTry them out:"; $(document.getElementById('first')).appendTo('#sap'); ok( expected == $('#sap').text(), "Check for appending of element" ); @@ -435,6 +450,10 @@ test("appendTo(String|Element|Array<Element>|jQuery)", function() { expected = "This link has class=\"blog\": Simon Willison's WeblogTry them out:Yahoo"; $("#first, #yahoo").appendTo('#sap'); ok( expected == $('#sap').text(), "Check for appending of jQuery object" ); + + reset(); + $('#select1').appendTo('#foo'); + t( 'Append select', '#foo select', ['select1'] ); }); test("prepend(String|Element|Array<Element>|jQuery)", function() { @@ -445,7 +464,7 @@ test("prepend(String|Element|Array<Element>|jQuery)", function() { ok( $('#select3').prepend('').find('option:first-child').attr('value') == 'prependTest', 'Prepending html options to select element'); reset(); - expected = "Try them out:This link has class=\"blog\": Simon Willison's Weblog"; + var expected = "Try them out:This link has class=\"blog\": Simon Willison's Weblog"; $('#sap').prepend(document.getElementById('first')); ok( expected == $('#sap').text(), "Check for prepending of element" ); @@ -461,14 +480,14 @@ test("prepend(String|Element|Array<Element>|jQuery)", function() { }); test("prependTo(String|Element|Array<Element>|jQuery)", function() { - expect(5); + expect(6); var defaultText = 'Try them out:' $('buga').prependTo('#first'); ok( $('#first').text() == 'buga' + defaultText, 'Check if text prepending works' ); ok( $('').prependTo('#select3').parent().find('option:first-child').attr('value') == 'prependTest', 'Prepending html options to select element'); reset(); - expected = "Try them out:This link has class=\"blog\": Simon Willison's Weblog"; + var expected = "Try them out:This link has class=\"blog\": Simon Willison's Weblog"; $(document.getElementById('first')).prependTo('#sap'); ok( expected == $('#sap').text(), "Check for prepending of element" ); @@ -481,6 +500,12 @@ test("prependTo(String|Element|Array<Element>|jQuery)", function() { expected = "Try them out:YahooThis link has class=\"blog\": Simon Willison's Weblog"; $("#yahoo, #first").prependTo('#sap'); ok( expected == $('#sap').text(), "Check for prepending of jQuery object" ); + + reset(); + $('').prependTo('form:last'); + $('').prependTo('form:last'); + + t( "Prepend Select", "#prependSelect1, #prependSelect2", ["prependSelect1", "prependSelect2"] ); }); test("before(String|Element|Array<Element>|jQuery)", function() { @@ -633,8 +658,8 @@ test("$.extend(Object, Object)", function() { optionsCopy = { xnumber2: 1, xstring2: "x", xxx: "newstring" }, merged = { xnumber1: 5, xnumber2: 1, xstring1: "peter", xstring2: "x", xxx: "newstring" }; jQuery.extend(settings, options); - isSet( settings, merged, "Check if extended: settings must be extended" ); - isSet ( options, optionsCopy, "Check if not modified: options must not be modified" ); + isObj( settings, merged, "Check if extended: settings must be extended" ); + isObj( options, optionsCopy, "Check if not modified: options must not be modified" ); }); test("$.extend(Object, Object, Object, Object)", function() { @@ -647,10 +672,10 @@ test("$.extend(Object, Object, Object, Object)", function() { options2Copy = { xstring2: "xx", xxx: "newstringx" }, merged = { xnumber1: 5, xnumber2: 1, xstring1: "peter", xstring2: "xx", xxx: "newstringx" }; var settings = jQuery.extend({}, defaults, options1, options2); - isSet( settings, merged, "Check if extended: settings must be extended" ); - isSet ( defaults, defaultsCopy, "Check if not modified: options1 must not be modified" ); - isSet ( options1, options1Copy, "Check if not modified: options1 must not be modified" ); - isSet ( options2, options2Copy, "Check if not modified: options2 must not be modified" ); + isObj( settings, merged, "Check if extended: settings must be extended" ); + isObj( defaults, defaultsCopy, "Check if not modified: options1 must not be modified" ); + isObj( options1, options1Copy, "Check if not modified: options1 must not be modified" ); + isObj( options2, options2Copy, "Check if not modified: options2 must not be modified" ); }); test("val()", function() { @@ -757,7 +782,7 @@ test("addClass(String)", function() { }); test("removeClass(String) - simple", function() { - expect(2); + expect(3); var div = $("div").addClass("test").removeClass("test"), pass = true; for ( var i = 0; i < div.size(); i++ ) { @@ -773,6 +798,11 @@ test("removeClass(String) - simple", function() { if ( div.get(i).className.match(/test|bar|foo/) ) pass = false; } ok( pass, "Remove multiple classes" ); + + reset(); + var div = $("div:eq(0)").addClass("test").removeClass(""); + ok( div.is('.test'), "Empty string passed to removeClass" ); + }); test("toggleClass(String)", function() {