Fix for #1162
[jquery.git] / src / jquery / coreTest.js
index d829d30..4776a66 100644 (file)
@@ -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,7 +359,7 @@ test("wrap(String|Element)", function() {
 });
 
 test("append(String|Element|Array<Element>|jQuery)", function() {
-       expect(16);
+       expect(17);
        var defaultText = 'Try them out:'
        var result = $('#first').append('<b>buga</b>');
        ok( result.text() == defaultText + 'buga', 'Check if text appending works' );
@@ -417,6 +420,13 @@ test("append(String|Element|Array&lt;Element&gt;|jQuery)", function() {
        
        $('#table colgroup').append('<col>');
        ok( $('#table colgroup col').length, "Append col" );
+       
+       reset();
+       $('form:last')
+               .append('<select id="appendSelect1"></select>')
+               .append('<select id="appendSelect2"><option>Test</option></select>');
+       
+       t( "Append Select", "#appendSelect1, #appendSelect2", ["appendSelect1", "appendSelect2"] );
 });
 
 test("appendTo(String|Element|Array&lt;Element&gt;|jQuery)", function() {
@@ -470,7 +480,7 @@ test("prepend(String|Element|Array&lt;Element&gt;|jQuery)", function() {
 });
 
 test("prependTo(String|Element|Array&lt;Element&gt;|jQuery)", function() {
-       expect(5);
+       expect(6);
        var defaultText = 'Try them out:'
        $('<b>buga</b>').prependTo('#first');
        ok( $('#first').text() == 'buga' + defaultText, 'Check if text prepending works' );
@@ -490,6 +500,12 @@ test("prependTo(String|Element|Array&lt;Element&gt;|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();
+       $('<select id="prependSelect1"></select>').prependTo('form:last');
+       $('<select id="prependSelect2"><option>Test</option></select>').prependTo('form:last');
+       
+       t( "Prepend Select", "#prependSelect1, #prependSelect2", ["prependSelect1", "prependSelect2"] );
 });
 
 test("before(String|Element|Array&lt;Element&gt;|jQuery)", function() {
@@ -766,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++ ) {
@@ -782,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() {