]> source.dussan.org Git - jquery.git/commitdiff
Tests: Avoid use of QUnit.reset() in tests by splitting them
authorcjqed <christopherjonesqed@gmail.com>
Wed, 11 Dec 2013 16:34:05 +0000 (11:34 -0500)
committerDave Methvin <dave.methvin@gmail.com>
Mon, 23 Dec 2013 22:21:22 +0000 (17:21 -0500)
Fix #14040
Close gh-1457

AUTHORS.txt
test/data/testrunner.js
test/unit/attributes.js
test/unit/core.js
test/unit/css.js
test/unit/effects.js
test/unit/manipulation.js
test/unit/wrap.js

index 43c34d6458e4fe9b7f007d4be23da1f5329cc7cb..f0f9ab66bb03a3b1e05377865ffd031455d75a3f 100644 (file)
@@ -213,3 +213,4 @@ Ilya Kantor <iliakan@gmail.com>
 hongymagic <d.hong@me.com>
 John Paul <john@johnkpaul.com>
 Jakob Stoeck <jakob@pokermania.de>
+Christopher Jones <chris@cjqed.com>
index 34f47381e0f05cbbc736b0c2e0c4ae2a77cb7f45..be1b62ae72a7fd44d0cb8f29f2995cad4abe7b34 100644 (file)
@@ -11,9 +11,8 @@ var oldStart = window.start,
        oldActive = 0,
 
        expectedDataKeys = {},
-
+  reset,
        splice = [].splice,
-       reset = QUnit.reset,
        ajaxSettings = jQuery.ajaxSettings;
 
 
@@ -157,8 +156,6 @@ window.moduleTeardown = function() {
                oldActive = jQuery.active;
        }
 
-       // Allow QUnit.reset to clean up any attached elements before checking for leaks
-       QUnit.reset();
 
        for ( i in jQuery.cache ) {
                ++cacheLength;
@@ -187,8 +184,8 @@ QUnit.done(function() {
        supportjQuery("#qunit ~ *").remove();
 });
 
-// jQuery-specific QUnit.reset
-QUnit.reset = function() {
+// jQuery-specific post-test cleanup
+reset = function () {
 
        // Ensure jQuery events and data on the fixture are properly removed
        jQuery("#qunit-fixture").empty();
@@ -205,11 +202,11 @@ QUnit.reset = function() {
 
        // Cleanup globals
        Globals.cleanup();
-
-       // Let QUnit reset the fixture
-       reset.apply( this, arguments );
+       jQuery("#qunit-fixture")[0].innerHTML = QUnit.config.fixture;
 };
 
+QUnit.testDone(reset);
+
 // Register globals for cleanup and the cleanup code itself
 // Explanation at http://perfectionkills.com/understanding-delete/#ie_bugs
 window.Globals = (function() {
@@ -351,12 +348,11 @@ function testSubproject( label, subProjectURL, risTests, complete ) {
 
                                // WARNING: UNDOCUMENTED INTERFACE
                                QUnit.config.fixture = fixtureHTML;
-                               QUnit.reset();
+        reset();
                                if ( supportjQuery("#qunit-fixture").html() !== fixtureHTML ) {
                                        ok( false, "Copied subproject fixture" );
                                        return;
                                }
-
                                fixtureReplaced = true;
                        }
 
index 34040939f9a1baa59bdfe70a94437c3d8fb79080..548c6f3180a659b10529e8687fafff95290e97d6 100644 (file)
@@ -635,7 +635,8 @@ test( "removeAttr(Multi String, variable space width)", function() {
 });
 
 test( "prop(String, Object)", function() {
-       expect( 31 );
+
+       expect( 17 );
 
        equal( jQuery("#text1").prop("value"), "Test", "Check for value attribute" );
        equal( jQuery("#text1").prop( "value", "Test2" ).prop("defaultValue"), "Test", "Check for defaultValue attribute" );
@@ -663,7 +664,11 @@ test( "prop(String, Object)", function() {
        equal( jQuery("#table").prop("useMap"), 1, "Check setting and retrieving useMap" );
        jQuery("#table").prop( "frameborder", 1 );
        equal( jQuery("#table").prop("frameBorder"), 1, "Check setting and retrieving frameBorder" );
-       QUnit.reset();
+});
+
+test( "prop(String, Object) on null/undefined", function() {
+
+  expect( 14 );
 
        var select, optgroup, option, attributeNode, commentNode, textNode, obj, $form,
                body = document.body,
@@ -795,16 +800,20 @@ test( "removeProp(String)", function() {
        });
 });
 
-test( "val()", function() {
-       expect( 21 + ( jQuery.fn.serialize ? 6 : 0 ) );
+test( "val() after modification", function() {
 
-       var checks, $button;
+       expect( 1 );
 
        document.getElementById("text1").value = "bla";
        equal( jQuery("#text1").val(), "bla", "Check for modified value of input element" );
+});
+
 
-       QUnit.reset();
+test( "val()", function() {
+
+       expect( 20 + ( jQuery.fn.serialize ? 6 : 0 ) );
 
+       var checks, $button;
        equal( jQuery("#text1").val(), "Test", "Check for value of input element" );
        // ticket #1714 this caused a JS error in IE
        equal( jQuery("#first").val(), "", "Check a paragraph element to see if it has a value" );
@@ -919,7 +928,6 @@ if ( "value" in document.createElement("meter") &&
 var testVal = function( valueObj ) {
        expect( 8 );
 
-       QUnit.reset();
        jQuery("#text1").val( valueObj("test") );
        equal( document.getElementById("text1").value, "test", "Check for modified (via val(String)) value of input element" );
 
@@ -974,7 +982,6 @@ test( "val(Array of Numbers) (Bug #7123)", function() {
 test( "val(Function) with incoming value", function() {
        expect( 10 );
 
-       QUnit.reset();
        var oldVal = jQuery("#text1").val();
 
        jQuery("#text1").val(function( i, val ) {
index 3f048e6278fdd1a161697feef75337e85a5f9afe..fa5ed93b95b7c124d5edeeff77cc6ed3fafdd497 100644 (file)
@@ -587,7 +587,6 @@ test("jQuery('html')", function() {
 
        var s, div, j;
 
-       QUnit.reset();
        jQuery["foo"] = false;
        s = jQuery("<script>jQuery.foo='test';</script>")[0];
        ok( s, "Creating a script" );
@@ -603,7 +602,6 @@ test("jQuery('html')", function() {
        equal( div.childNodes[1].nodeType, 1, "Paragraph." );
        equal( div.childNodes[1].firstChild.nodeType, 3, "Paragraph text." );
 
-       QUnit.reset();
        ok( jQuery("<link rel='stylesheet'/>")[0], "Creating a link" );
 
        ok( !jQuery("<script/>")[0].parentNode, "Create a script" );
index 9cef70be793913fa2de308fbc1da208bd3faef6e..77a3f72ac9e19e5ebe8ce6e0bc61e7919a63d9ef 100644 (file)
@@ -391,9 +391,10 @@ test("css(Object) where values are Functions with incoming values", function() {
 });
 
 test("show(); hide()", function() {
-       expect(22);
 
-       var hiddendiv, div, pass, old, test;
+       expect( 4 );
+
+       var hiddendiv, div;
 
        hiddendiv = jQuery("div.hidden");
        hiddendiv.hide();
@@ -406,8 +407,13 @@ test("show(); hide()", function() {
        div.appendTo("#qunit-fixture").show();
        equal( div.css("display"), "block", "Pre-hidden div shown" );
 
-       QUnit.reset();
+});
+
+test("show();", function() {
+
+       expect( 18 );
 
+  var hiddendiv, div, pass, old, test;
        hiddendiv = jQuery("div.hidden");
 
        equal(jQuery.css( hiddendiv[0], "display"), "none", "hiddendiv is display: none");
@@ -620,7 +626,6 @@ test("toggle()", function() {
 
 test("hide hidden elements (bug #7141)", function() {
        expect(3);
-       QUnit.reset();
 
        var div = jQuery("<div style='display:none'></div>").appendTo("#qunit-fixture");
        equal( div.css("display"), "none", "Element is hidden by default" );
index 5d7db621cf287e52278f66d65cee91dde8e297f8..1645842c490fd30b4bf64af4726a5981cdb48ede 100644 (file)
@@ -130,7 +130,6 @@ test("show()", 27, function () {
 
 test("show(Number) - other displays", function() {
        expect(15);
-       QUnit.reset();
 
        // #show-tests * is set display: none in CSS
        jQuery("#qunit-fixture").append("<div id='show-tests'><div><p><a href='#'></a></p><code></code><pre></pre><span></span></div><table><thead><tr><th></th></tr></thead><tbody><tr><td></td></tr></tbody></table><ul><li></li></ul></div><table id='test-table'></table>");
@@ -1221,7 +1220,6 @@ test("animate with CSS shorthand properties", function(){
 
 test("hide hidden elements, with animation (bug #7141)", function() {
        expect(3);
-       QUnit.reset();
 
        var div = jQuery("<div style='display:none'></div>").appendTo("#qunit-fixture");
        equal( div.css("display"), "none", "Element is hidden by default" );
index 327a9594c9905855390172e11c900ba56936fb0e..f5fbeffa6fbd894a44ee8718e6abed931e61b303 100644 (file)
@@ -330,11 +330,11 @@ test( "append(param) to object, see #11280", function() {
        equal( object.children().eq(0).attr("name"), "bar", "param has name=bar" );
 });
 
-test( "append(Function) with incoming value", function() {
+test( "append(Function) returns String", function() {
 
-       expect( 12 );
+       expect( 4 );
 
-       var defaultText, result, select, old, expected;
+       var defaultText, result, select, old;
 
        defaultText = "Try them out:";
        old = jQuery("#first").html();
@@ -352,47 +352,57 @@ test( "append(Function) with incoming value", function() {
                equal( val, old, "Make sure the incoming value is correct." );
                return "<option value='appendTest'>Append Test</option>";
        }).find("option:last-child").attr("value"), "appendTest", "Appending html options to select element" );
+});
 
-       QUnit.reset();
-       expected = "This link has class=\"blog\": Simon Willison's WeblogTry them out:";
-       old = jQuery("#sap").html();
+test( "append(Function) returns Element", function() {
+  
+  expect( 2 );
+       var expected = "This link has class=\"blog\": Simon Willison's WeblogTry them out:",
+    old = jQuery("#sap").html();
 
        jQuery("#sap").append(function( i, val ) {
                equal( val, old, "Make sure the incoming value is correct." );
                return document.getElementById("first");
        });
        equal( jQuery("#sap").text(), expected, "Check for appending of element" );
+});
 
-       QUnit.reset();
-       expected = "This link has class=\"blog\": Simon Willison's WeblogTry them out:Yahoo";
-       old = jQuery("#sap").html();
+test( "append(Function) returns Array<Element>", function() {
+  
+       expect( 2 );
+       var expected = "This link has class=\"blog\": Simon Willison's WeblogTry them out:Yahoo",
+    old = jQuery("#sap").html();
 
        jQuery("#sap").append(function( i, val ) {
                equal( val, old, "Make sure the incoming value is correct." );
                return [ document.getElementById("first"), document.getElementById("yahoo") ];
        });
        equal( jQuery("#sap").text(), expected, "Check for appending of array of elements" );
+});
 
-       QUnit.reset();
-       expected = "This link has class=\"blog\": Simon Willison's WeblogYahooTry them out:";
-       old = jQuery("#sap").html();
+test( "append(Function) returns jQuery", function() {
+  
+       expect( 2 );
+       var expected = "This link has class=\"blog\": Simon Willison's WeblogYahooTry them out:",
+    old = jQuery("#sap").html();
 
        jQuery("#sap").append(function( i, val ) {
                equal( val, old, "Make sure the incoming value is correct." );
                return jQuery("#yahoo, #first");
        });
        equal( jQuery("#sap").text(), expected, "Check for appending of jQuery object" );
+});
 
-       QUnit.reset();
-       old = jQuery("#sap").html();
+test( "append(Function) returns Number", function() {
+  
+       expect( 2 );
+       var old = jQuery("#sap").html();
 
        jQuery("#sap").append(function( i, val ) {
                equal( val, old, "Make sure the incoming value is correct." );
                return 5;
        });
        ok( jQuery("#sap")[ 0 ].innerHTML.match( /5$/ ), "Check for appending a number" );
-
-       QUnit.reset();
 });
 
 test( "XML DOM manipulation (#9960)", function() {
@@ -520,11 +530,11 @@ test( "append(xml)", function() {
 
 });
 
-test( "appendTo(String|Element|Array<Element>|jQuery)", function() {
-
-       expect( 16 );
+test( "appendTo(String)", function() {
+  
+       expect( 4 );
 
-       var defaultText, l, expected, num, div;
+       var l, defaultText;
 
        defaultText = "Try them out:";
        jQuery("<b>buga</b>").appendTo("#first");
@@ -538,9 +548,13 @@ test( "appendTo(String|Element|Array<Element>|jQuery)", function() {
                .appendTo("#first");
        equal( jQuery("#first").children().length, l, "Make sure the elements were inserted." );
        equal( jQuery("#first").children().last()[ 0 ].nodeName.toLowerCase(), "strong", "Verify the last element." );
+});
 
-       QUnit.reset();
-       expected = "This link has class=\"blog\": Simon Willison's WeblogTry them out:";
+test( "appendTo(Element|Array<Element>)", function() {
+  
+  expect( 2 );
+  
+       var expected = "This link has class=\"blog\": Simon Willison's WeblogTry them out:";
        jQuery( document.getElementById("first") ).appendTo("#sap");
        equal( jQuery("#sap").text(), expected, "Check for appending of element" );
 
@@ -548,7 +562,13 @@ test( "appendTo(String|Element|Array<Element>|jQuery)", function() {
        jQuery([ document.getElementById("first"), document.getElementById("yahoo") ]).appendTo("#sap");
        equal( jQuery("#sap").text(), expected, "Check for appending of array of elements" );
 
-       QUnit.reset();
+});
+
+test( "appendTo(jQuery)", function() {
+  
+  expect( 10 );
+  
+  var expected, num, div;
        ok( jQuery(document.createElement("script")).appendTo("body").length, "Make sure a disconnected script can be appended." );
 
        expected = "This link has class=\"blog\": Simon Willison's WeblogYahooTry them out:";
@@ -588,52 +608,62 @@ test( "appendTo(String|Element|Array<Element>|jQuery)", function() {
        equal( jQuery("#qunit-fixture div").length, num, "Make sure all the removed divs were inserted." );
 });
 
-function testPrepend( val ) {
-
-       expect( 6 );
-
-       var defaultText, result, expected;
+test( "prepend(String)", function() {
+  
+       expect( 2 );
 
-       defaultText = "Try them out:";
-       result = jQuery("#first").prepend( val("<b>buga</b>") );
+       var result, expected;
+       expected = "Try them out:";
+       result = jQuery("#first").prepend( "<b>buga</b>" );
+       equal( result.text(), "buga" + expected, "Check if text prepending works" );
+       equal( jQuery("#select3").prepend( "<option value='prependTest'>Prepend Test</option>"  ).find("option:first-child").attr("value"), "prependTest", "Prepending html options to select element" );
+});
 
-       equal( result.text(), "buga" + defaultText, "Check if text prepending works" );
-       equal( jQuery("#select3").prepend( val("<option value='prependTest'>Prepend Test</option>" ) ).find("option:first-child").attr("value"), "prependTest", "Prepending html options to select element" );
+test( "prepend(Element)", function() {
+  
+       expect( 1 );
 
-       QUnit.reset();
+       var expected;
        expected = "Try them out:This link has class=\"blog\": Simon Willison's Weblog";
-       jQuery("#sap").prepend( val(document.getElementById("first")) );
+       jQuery("#sap").prepend( document.getElementById("first") );
        equal( jQuery("#sap").text(), expected, "Check for prepending of element" );
+});
+
+test( "prepend(Array<Element>)", function() {
+  
+       expect( 1 );
 
-       QUnit.reset();
+       var expected;
        expected = "Try them out:YahooThis link has class=\"blog\": Simon Willison's Weblog";
-       jQuery("#sap").prepend( val([ document.getElementById("first"), document.getElementById("yahoo") ]) );
+       jQuery("#sap").prepend( [ document.getElementById("first"), document.getElementById("yahoo") ] );
        equal( jQuery("#sap").text(), expected, "Check for prepending of array of elements" );
+});
+
+test( "prepend(jQuery)", function() {
+  
+       expect( 1 );
 
-       QUnit.reset();
+       var expected;
        expected = "YahooTry them out:This link has class=\"blog\": Simon Willison's Weblog";
-       jQuery("#sap").prepend( val(jQuery("#yahoo, #first")) );
+       jQuery("#sap").prepend( jQuery("#yahoo, #first") );
        equal( jQuery("#sap").text(), expected, "Check for prepending of jQuery object" );
+});
+
+test( "prepend(Array<jQuery>)", function() {
+  
+       expect( 1 );
 
-       QUnit.reset();
+       var expected;
        expected = "Try them out:GoogleYahooThis link has class=\"blog\": Simon Willison's Weblog";
-       jQuery("#sap").prepend( val([ jQuery("#first"), jQuery("#yahoo, #google") ]) );
+       jQuery("#sap").prepend( [ jQuery("#first"), jQuery("#yahoo, #google") ] );
        equal( jQuery("#sap").text(), expected, "Check for prepending of array of jQuery objects" );
-}
-
-test( "prepend(String|Element|Array<Element>|jQuery)", function() {
-       testPrepend( manipulationBareObj );
 });
 
-test( "prepend(Function)", function() {
-       testPrepend( manipulationFunctionReturningObj );
-});
+test( "prepend(Function) with incoming value -- String", function() {
 
-test( "prepend(Function) with incoming value", function() {
-
-       expect( 10 );
+       expect( 4 );
 
-       var defaultText, old, result, expected;
+       var defaultText, old, result;
 
        defaultText = "Try them out:";
        old = jQuery("#first").html();
@@ -650,8 +680,13 @@ test( "prepend(Function) with incoming value", function() {
                equal( val, old, "Make sure the incoming value is correct." );
                return "<option value='prependTest'>Prepend Test</option>";
        }).find("option:first-child").attr("value"), "prependTest", "Prepending html options to select element" );
+});
 
-       QUnit.reset();
+test( "prepend(Function) with incoming value -- Element", function() {
+  
+  expect( 2 );
+
+       var old, expected;
        expected = "Try them out:This link has class=\"blog\": Simon Willison's Weblog";
        old = jQuery("#sap").html();
 
@@ -661,8 +696,13 @@ test( "prepend(Function) with incoming value", function() {
        });
 
        equal( jQuery("#sap").text(), expected, "Check for prepending of element" );
+});
 
-       QUnit.reset();
+test( "prepend(Function) with incoming value -- Array<Element>", function() {
+  
+  expect( 2 );
+
+       var old, expected;
        expected = "Try them out:YahooThis link has class=\"blog\": Simon Willison's Weblog";
        old = jQuery("#sap").html();
 
@@ -672,8 +712,13 @@ test( "prepend(Function) with incoming value", function() {
        });
 
        equal( jQuery("#sap").text(), expected, "Check for prepending of array of elements" );
+});
 
-       QUnit.reset();
+test( "prepend(Function) with incoming value -- jQuery", function() {
+
+  expect( 2 );
+
+       var old, expected;
        expected = "YahooTry them out:This link has class=\"blog\": Simon Willison's Weblog";
        old = jQuery("#sap").html();
 
@@ -685,80 +730,174 @@ test( "prepend(Function) with incoming value", function() {
        equal( jQuery("#sap").text(), expected, "Check for prepending of jQuery object" );
 });
 
-test( "prependTo(String|Element|Array<Element>|jQuery)", function() {
+test( "prependTo(String)", function() {
 
-       expect( 6 );
+       expect( 2 );
 
-       var defaultText, expected;
+       var defaultText;
 
        defaultText = "Try them out:";
        jQuery("<b>buga</b>").prependTo("#first");
        equal( jQuery("#first").text(), "buga" + defaultText, "Check if text prepending works" );
        equal( jQuery("<option value='prependTest'>Prepend Test</option>").prependTo("#select3").parent().find("option:first-child").attr("value"), "prependTest", "Prepending html options to select element" );
+       
+});
+
+test( "prependTo(Element)", function() {
+
+       expect( 1 );
+
+       var expected;
 
-       QUnit.reset();
        expected = "Try them out:This link has class=\"blog\": Simon Willison's Weblog";
        jQuery( document.getElementById("first") ).prependTo("#sap");
        equal( jQuery("#sap").text(), expected, "Check for prepending of element" );
+});
+
+test( "prependTo(Array<Element>)", function() {
+
+       expect( 1 );
+
+       var expected;
 
-       QUnit.reset();
        expected = "Try them out:YahooThis link has class=\"blog\": Simon Willison's Weblog";
        jQuery( [ document.getElementById("first"), document.getElementById("yahoo") ] ).prependTo("#sap");
        equal( jQuery("#sap").text(), expected, "Check for prepending of array of elements" );
+});
+
+test( "prependTo(jQuery)", function() {
+
+       expect( 1 );
+
+       var expected;
 
-       QUnit.reset();
        expected = "YahooTry them out:This link has class=\"blog\": Simon Willison's Weblog";
        jQuery("#yahoo, #first").prependTo("#sap");
        equal( jQuery("#sap").text(), expected, "Check for prepending of jQuery object" );
+});
+
+test( "prependTo(Array<jQuery>)", function() {
+
+       expect( 1 );
 
-       QUnit.reset();
        jQuery("<select id='prependSelect1'></select>").prependTo("#form");
        jQuery("<select id='prependSelect2'><option>Test</option></select>").prependTo("#form");
 
        t( "Prepend Select", "#prependSelect2, #prependSelect1", [ "prependSelect2", "prependSelect1" ] );
 });
 
-function testBefore( val ) {
+test( "before(String)", function() {
 
-       expect( 7 );
+       expect( 1 );
 
-       var expected, set;
+       var expected;
 
        expected = "This is a normal link: bugaYahoo";
-       jQuery("#yahoo").before( val("<b>buga</b>") );
+       jQuery("#yahoo").before( manipulationBareObj("<b>buga</b>") );
        equal( jQuery("#en").text(), expected, "Insert String before" );
+});
+
+test( "before(Element)", function() {
+
+       expect( 1 );
+
+       var expected;
 
-       QUnit.reset();
        expected = "This is a normal link: Try them out:Yahoo";
-       jQuery("#yahoo").before( val(document.getElementById("first")) );
+       jQuery("#yahoo").before( manipulationBareObj(document.getElementById("first")) );
        equal( jQuery("#en").text(), expected, "Insert element before" );
+});
+
+test( "before(Array<Element>)", function() {
 
-       QUnit.reset();
+       expect( 1 );
+
+       var expected;
        expected = "This is a normal link: Try them out:diveintomarkYahoo";
-       jQuery("#yahoo").before( val([ document.getElementById("first"), document.getElementById("mark") ]) );
+       jQuery("#yahoo").before( manipulationBareObj([ document.getElementById("first"), document.getElementById("mark") ]) );
        equal( jQuery("#en").text(), expected, "Insert array of elements before" );
+});
+
+test( "before(jQuery)", function() {
+
+       expect( 1 );
 
-       QUnit.reset();
+       var expected;
        expected = "This is a normal link: diveintomarkTry them out:Yahoo";
-       jQuery("#yahoo").before( val(jQuery("#mark, #first")) );
+       jQuery("#yahoo").before( manipulationBareObj(jQuery("#mark, #first")) );
        equal( jQuery("#en").text(), expected, "Insert jQuery before" );
+});
+       
+test( "before(Array<jQuery>)", function() {
+
+       expect( 1 );
 
-       QUnit.reset();
+       var expected;
        expected = "This is a normal link: Try them out:GooglediveintomarkYahoo";
-       jQuery("#yahoo").before( val([ jQuery("#first"), jQuery("#mark, #google") ]) );
+       jQuery("#yahoo").before( manipulationBareObj([ jQuery("#first"), jQuery("#mark, #google") ]) );
        equal( jQuery("#en").text(), expected, "Insert array of jQuery objects before" );
+});
 
-       set = jQuery("<div/>").before("<span>test</span>");
-       equal( set[ 0 ].nodeName.toLowerCase(), "div", "Insert before a disconnected node should be a no-op" );
-       equal( set.length, 1, "Insert the element before the disconnected node. should be a no-op" );
-}
+test( "before(Function) -- Returns String", function() {
+
+       expect( 1 );
+
+       var expected;
+
+       expected = "This is a normal link: bugaYahoo";
+       jQuery("#yahoo").before( manipulationFunctionReturningObj("<b>buga</b>") );
+       equal( jQuery("#en").text(), expected, "Insert String before" );
+});
+
+test( "before(Function) -- Returns Element", function() {
+
+       expect( 1 );
+
+       var expected;
+
+       expected = "This is a normal link: Try them out:Yahoo";
+       jQuery("#yahoo").before( manipulationFunctionReturningObj(document.getElementById("first")) );
+       equal( jQuery("#en").text(), expected, "Insert element before" );
+});
+
+test( "before(Function) -- Returns Array<Element>", function() {
+
+       expect( 1 );
+
+       var expected;
+       expected = "This is a normal link: Try them out:diveintomarkYahoo";
+       jQuery("#yahoo").before( manipulationFunctionReturningObj([ document.getElementById("first"), document.getElementById("mark") ]) );
+       equal( jQuery("#en").text(), expected, "Insert array of elements before" );
+});
+
+test( "before(Function) -- Returns jQuery", function() {
+
+       expect( 1 );
+
+       var expected;
+       expected = "This is a normal link: diveintomarkTry them out:Yahoo";
+       jQuery("#yahoo").before( manipulationFunctionReturningObj(jQuery("#mark, #first")) );
+       equal( jQuery("#en").text(), expected, "Insert jQuery before" );
+});
+       
+test( "before(Function) -- Returns Array<jQuery>", function() {
 
-test( "before(String|Element|Array<Element>|jQuery)", function() {
-       testBefore( manipulationBareObj );
+       expect( 1 );
+
+       var expected;
+       expected = "This is a normal link: Try them out:GooglediveintomarkYahoo";
+       jQuery("#yahoo").before( manipulationFunctionReturningObj([ jQuery("#first"), jQuery("#mark, #google") ]) );
+       equal( jQuery("#en").text(), expected, "Insert array of jQuery objects before" );
 });
 
-test( "before(Function)", function() {
-       testBefore( manipulationFunctionReturningObj );
+test( "before(no-op)", function() {
+
+       expect( 2 );
+
+       var set;
+       set = jQuery("<div/>").before("<span>test</span>");
+       equal( set[ 0 ].nodeName.toLowerCase(), "div", "Insert before a disconnected node should be a no-op" );
+       equal( set.length, 1, "Insert the element before the disconnected node. should be a no-op" );
 });
 
 test( "before and after w/ empty object (#10812)", function() {
@@ -771,124 +910,207 @@ test( "before and after w/ empty object (#10812)", function() {
        equal( res.length, 0, "didn't choke on empty object" );
 });
 
-test( "before and after on disconnected node (#10517)", function() {
+test( ".before() and .after() disconnected node", function() {
 
-       expect( 6 );
+  expect(2);
+  
+  equal( jQuery("<input type='checkbox'/>").before("<div/>").length, 1, "before() on disconnected node is no-op" );
+       equal( jQuery("<input type='checkbox'/>").after("<div/>").length, 1, "after() on disconnected node is no-op" );
+});
 
-       var expectedBefore = "This is a normal link: bugaYahoo",
-               expectedAfter = "This is a normal link: Yahoobuga";
+test( "insert with .before() on disconnected node last", function() {
 
-       equal( jQuery("<input type='checkbox'/>").before("<div/>").length, 1, "before() on disconnected node is no-op" );
-       equal( jQuery("<input type='checkbox'/>").after("<div/>").length, 1, "after() on disconnected node is no-op" );
+  expect(1);
+
+  var expectedBefore = "This is a normal link: bugaYahoo";
 
-       QUnit.reset();
-       jQuery("#yahoo").add("<span/>").before("<b>buga</b>");
+  jQuery("#yahoo").add("<span/>").before("<b>buga</b>");
        equal( jQuery("#en").text(), expectedBefore, "Insert String before with disconnected node last" );
+});
+
+test( "insert with .before() on disconnected node first", function() {
+
+  expect(1);
+
+  var expectedBefore = "This is a normal link: bugaYahoo";
 
-       QUnit.reset();
        jQuery("<span/>").add("#yahoo").before("<b>buga</b>");
        equal( jQuery("#en").text(), expectedBefore, "Insert String before with disconnected node first" );
+});
+
+test( "insert with .before() on disconnected node last", function() {
+
+  expect(1);
+
+  var expectedAfter = "This is a normal link: Yahoobuga";
 
-       QUnit.reset();
        jQuery("#yahoo").add("<span/>").after("<b>buga</b>");
        equal( jQuery("#en").text(), expectedAfter, "Insert String after with disconnected node last" );
+});
+
+test( "insert with .before() on disconnected node last", function() {
+
+  expect(1);
+
+  var expectedAfter = "This is a normal link: Yahoobuga";
 
-       QUnit.reset();
        jQuery("<span/>").add("#yahoo").after("<b>buga</b>");
        equal( jQuery("#en").text(), expectedAfter, "Insert String after with disconnected node first" );
 });
 
-test( "insertBefore(String|Element|Array<Element>|jQuery)", function() {
-
-       expect( 4 );
+test( "insertBefore(String)", function() {
 
-       var expected;
+       expect( 1 );
 
-       expected = "This is a normal link: bugaYahoo";
+       var expected = "This is a normal link: bugaYahoo";
        jQuery("<b>buga</b>").insertBefore("#yahoo");
        equal( jQuery("#en").text(), expected, "Insert String before" );
+});
 
-       QUnit.reset();
-       expected = "This is a normal link: Try them out:Yahoo";
+test( "insertBefore(Element)", function() {
+
+  expect( 1 );
+
+  var expected = "This is a normal link: Try them out:Yahoo";
        jQuery( document.getElementById("first") ).insertBefore("#yahoo");
        equal( jQuery("#en").text(), expected, "Insert element before" );
+});
 
-       QUnit.reset();
-       expected = "This is a normal link: Try them out:diveintomarkYahoo";
+test( "insertBefore(Array<Element>)", function() {
+
+  expect( 1 );
+
+  var expected = "This is a normal link: Try them out:diveintomarkYahoo";
        jQuery( [ document.getElementById("first"), document.getElementById("mark") ] ).insertBefore("#yahoo");
        equal( jQuery("#en").text(), expected, "Insert array of elements before" );
+});
 
-       QUnit.reset();
-       expected = "This is a normal link: diveintomarkTry them out:Yahoo";
+test( "insertBefore(jQuery)", function() {
+
+  expect( 1 );
+
+  var expected = "This is a normal link: diveintomarkTry them out:Yahoo";
        jQuery("#mark, #first").insertBefore("#yahoo");
        equal( jQuery("#en").text(), expected, "Insert jQuery before" );
 });
 
-function testAfter( val ) {
+test( ".after(String)", function() {
 
-       expect( 7 );
+  expect( 1 );
+  
+  var expected = "This is a normal link: Yahoobuga";
+       jQuery("#yahoo").after( "<b>buga</b>" );
+       equal( jQuery("#en").text(), expected, "Insert String after" );
+});
+
+test( ".after(Element)", function() {
+
+  expect( 1 );
 
-       var set, expected;
+  var expected = "This is a normal link: YahooTry them out:";
+       jQuery("#yahoo").after( document.getElementById("first") );
+       equal( jQuery("#en").text(), expected, "Insert element after" );
+});
+
+test( ".after(Array<Element>)", function() {
+
+  expect( 1 );
+
+  var expected = "This is a normal link: YahooTry them out:diveintomark";
+       jQuery("#yahoo").after( [ document.getElementById("first"), document.getElementById("mark") ] );
+       equal( jQuery("#en").text(), expected, "Insert array of elements after" );
+});
+
+test( ".after(jQuery)", function() {
+
+  expect( 1 );
 
-       expected = "This is a normal link: Yahoobuga";
+  var expected = "This is a normal link: YahooTry them out:Googlediveintomark";
+       jQuery("#yahoo").after( [ jQuery("#first"), jQuery("#mark, #google") ] );
+       equal( jQuery("#en").text(), expected, "Insert array of jQuery objects after" );
+});
+
+test( ".after(Function) returns String", function() {
+
+  expect( 1 );
+
+  var expected = "This is a normal link: Yahoobuga",
+    val = manipulationFunctionReturningObj;
        jQuery("#yahoo").after( val("<b>buga</b>") );
        equal( jQuery("#en").text(), expected, "Insert String after" );
+});
+
+test( ".after(Function) returns Element", function() {
+
+  expect( 1 );
 
-       QUnit.reset();
-       expected = "This is a normal link: YahooTry them out:";
+  var expected = "This is a normal link: YahooTry them out:",
+    val = manipulationFunctionReturningObj;
        jQuery("#yahoo").after( val(document.getElementById("first")) );
        equal( jQuery("#en").text(), expected, "Insert element after" );
+});
+
+test( ".after(Function) returns Array<Element>", function() {
+
+  expect( 1 );
 
-       QUnit.reset();
-       expected = "This is a normal link: YahooTry them out:diveintomark";
+  var expected = "This is a normal link: YahooTry them out:diveintomark",
+    val = manipulationFunctionReturningObj;
        jQuery("#yahoo").after( val([ document.getElementById("first"), document.getElementById("mark") ]) );
        equal( jQuery("#en").text(), expected, "Insert array of elements after" );
+});
 
-       QUnit.reset();
-       expected = "This is a normal link: YahoodiveintomarkTry them out:";
-       jQuery("#yahoo").after(val( jQuery("#mark, #first") ));
-       equal( jQuery("#en").text(), expected, "Insert jQuery after" );
+test( ".after(Function) returns jQuery", function() {
 
-       QUnit.reset();
-       expected = "This is a normal link: YahooTry them out:Googlediveintomark";
+  expect( 1 );
+
+  var expected = "This is a normal link: YahooTry them out:Googlediveintomark",
+    val = manipulationFunctionReturningObj;
        jQuery("#yahoo").after( val([ jQuery("#first"), jQuery("#mark, #google") ]) );
        equal( jQuery("#en").text(), expected, "Insert array of jQuery objects after" );
+});
 
-       set = jQuery("<div/>").before("<span>test</span>");
-       equal( set[ 0 ].nodeName.toLowerCase(), "div", "Insert after a disconnected node should be a no-op" );
-       equal( set.length, 1, "Insert the element after the disconnected node should be a no-op" );
-}
+test( ".after(disconnected node)", function() {
 
-test( "after(String|Element|Array<Element>|jQuery)", function() {
-       testAfter( manipulationBareObj );
-});
+  expect( 2 );
 
-test( "after(Function)", function() {
-       testAfter( manipulationFunctionReturningObj );
+  var set = jQuery("<div/>").before("<span>test</span>");
+       equal( set[ 0 ].nodeName.toLowerCase(), "div", "Insert after a disconnected node should be a no-op" );
+       equal( set.length, 1, "Insert the element after the disconnected node should be a no-op" );
 });
 
-test( "insertAfter(String|Element|Array<Element>|jQuery)", function() {
-
-       expect( 4 ) ;
+test( "insertAfter(String)", function() {
 
-       var expected;
+       expect( 1 ) ;
 
-       expected = "This is a normal link: Yahoobuga";
+       var expected = "This is a normal link: Yahoobuga";
        jQuery("<b>buga</b>").insertAfter("#yahoo");
        equal( jQuery("#en").text(), expected, "Insert String after" );
+});
 
-       QUnit.reset();
-       expected = "This is a normal link: YahooTry them out:";
+test( "insertAfter(Element)", function() {
+
+  expect(1);
+  
+  var expected = "This is a normal link: YahooTry them out:";
        jQuery( document.getElementById("first") ).insertAfter("#yahoo");
        equal( jQuery("#en").text(), expected, "Insert element after" );
+});
+
+test( "insertAfter(Array<Element>)", function() {
 
-       QUnit.reset();
-       expected = "This is a normal link: YahooTry them out:diveintomark";
+  expect(1);
+  
+  var expected = "This is a normal link: YahooTry them out:diveintomark";
        jQuery( [ document.getElementById("first"), document.getElementById("mark") ] ).insertAfter("#yahoo");
        equal( jQuery("#en").text(), expected, "Insert array of elements after" );
+});
+
+test( "insertAfter(jQuery)", function() {
 
-       QUnit.reset();
-       expected = "This is a normal link: YahoodiveintomarkTry them out:";
+  expect(1);
+  
+  var expected = "This is a normal link: YahoodiveintomarkTry them out:";
        jQuery("#mark, #first").insertAfter("#yahoo");
        equal( jQuery("#en").text(), expected, "Insert jQuery after" );
 });
@@ -1034,7 +1256,7 @@ test( "Empty replaceWith (#13401; #13596)", 8, function() {
                        "empty array": [],
                        "empty collection": jQuery( "#nonexistent" ),
 
-                        // in case of jQuery(...).replaceWith();
+       // in case of jQuery(...).replaceWith();
                        "empty undefined": undefined
                };
 
@@ -1046,26 +1268,38 @@ test( "Empty replaceWith (#13401; #13596)", 8, function() {
        });
 });
 
-test( "replaceAll(String|Element|Array<Element>|jQuery)", function() {
+test( "replaceAll(String)", function() {
 
-       expect( 10 );
+       expect( 2 );
 
        jQuery("<b id='replace'>buga</b>").replaceAll("#yahoo");
        ok( jQuery("#replace")[ 0 ], "Replace element with string" );
        ok( !jQuery("#yahoo")[ 0 ], "Verify that original element is gone, after string" );
+});
+
+test( "replaceAll(Element)", function() {
+
+       expect( 2 );
 
-       QUnit.reset();
        jQuery( document.getElementById("first") ).replaceAll("#yahoo");
        ok( jQuery("#first")[ 0 ], "Replace element with element" );
        ok( !jQuery("#yahoo")[ 0 ], "Verify that original element is gone, after element" );
+});
+
+test( "replaceAll(Array<Element>)", function() {
+
+       expect( 3 );
 
-       QUnit.reset();
        jQuery( [ document.getElementById("first"), document.getElementById("mark") ] ).replaceAll("#yahoo");
        ok( jQuery("#first")[ 0 ], "Replace element with array of elements" );
        ok( jQuery("#mark")[ 0 ], "Replace element with array of elements" );
        ok( !jQuery("#yahoo")[ 0 ], "Verify that original element is gone, after array of elements" );
+});
+
+test( "replaceAll(jQuery)", function() {
+
+       expect( 3 );
 
-       QUnit.reset();
        jQuery("#mark, #first").replaceAll("#yahoo");
        ok( jQuery("#first")[ 0 ], "Replace element with set of elements" );
        ok( jQuery("#mark")[ 0 ], "Replace element with set of elements" );
@@ -1436,7 +1670,6 @@ function testHtml( valueObj ) {
                "<script>equal( jQuery.scriptorder++, 2, 'Script (unnested) is executed in order' );</script>"
        ].join("")) );
 
-       QUnit.reset();
        fixture.html( valueObj( fixture.text() ) );
        ok( /^[^<]*[^<\s][^<]*$/.test( fixture.html() ), "Replace html with text" );
 }
@@ -1449,11 +1682,11 @@ test( "html(Function)", function() {
        testHtml( manipulationFunctionReturningObj );
 });
 
-test( "html(Function) with incoming value", function() {
+test( "html(Function) with incoming value -- direct selection", function() {
 
-       expect( 18 );
+       expect( 4 );
 
-       var els, actualhtml, pass, j, $div, $div2, insert;
+       var els, actualhtml, pass;
 
        els = jQuery("#foo > p");
        actualhtml = els.map(function() {
@@ -1472,9 +1705,14 @@ test( "html(Function) with incoming value", function() {
                }
        });
        ok( pass, "Set HTML" );
+});
+
+test( "html(Function) with incoming value -- jQuery.contents()", function() {
+
+       expect( 14 );
+
+  var actualhtml, j, $div, $div2, insert;
 
-       QUnit.reset();
-       // using contents will get comments regular, text, and comment nodes
        j = jQuery("#nonnodes").contents();
        actualhtml = j.map(function() {
                return jQuery( this ).html();
@@ -1542,52 +1780,51 @@ test( "clone()/html() don't expose jQuery/Sizzle expandos (#12858)", function()
        ok( expected.test( $content.html() ), "html()" );
 });
 
-function testRemove( method ) {
-       var markup, div,
-               first = jQuery("#ap").children().first();
+test( "remove() no filters", function() {
+
+  expect( 3 );
+
+       var first = jQuery("#ap").children().first();
 
        first.data("foo", "bar");
 
-       jQuery("#ap").children()[ method ]();
+       jQuery("#ap").children().remove();
        ok( jQuery("#ap").text().length > 10, "Check text is not removed" );
        equal( jQuery("#ap").children().length, 0, "Check remove" );
 
-       equal( first.data("foo"), method === "remove" ? null : "bar", "first data" );
+       equal( first.data("foo"), null, "first data" );
+
+});
+
+test( "remove() with filters", function() {
+
+  expect( 8 );
 
-       QUnit.reset();
-       jQuery("#ap").children()[ method ]("a");
+  var markup, div;
+       jQuery("#ap").children().remove("a");
        ok( jQuery("#ap").text().length > 10, "Check text is not removed" );
        equal( jQuery("#ap").children().length, 1, "Check filtered remove" );
 
-       jQuery("#ap").children()[ method ]("a, code");
+       jQuery("#ap").children().remove("a, code");
        equal( jQuery("#ap").children().length, 0, "Check multi-filtered remove" );
 
        // Positional and relative selectors
        markup = "<div><span>1</span><span>2</span><span>3</span><span>4</span></div>";
        div = jQuery( markup );
        div.children().remove("span:nth-child(2n)");
-       equal( div.text(), "13", "relative selector in " + method );
+       equal( div.text(), "13", "relative selector in remove" );
        div = jQuery( markup );
        div.children().remove("span:first");
-       equal( div.text(), "234", "positional selector in " + method );
+       equal( div.text(), "234", "positional selector in remove" );
        div = jQuery( markup );
        div.children().remove("span:last");
-       equal( div.text(), "123", "positional selector in " + method );
+       equal( div.text(), "123", "positional selector in remove" );
 
        // using contents will get comments regular, text, and comment nodes
        // Handle the case where no comment is in the document
        ok( jQuery("#nonnodes").contents().length >= 2, "Check node,textnode,comment remove works" );
-       jQuery("#nonnodes").contents()[ method ]();
+       jQuery("#nonnodes").contents().remove();
        equal( jQuery("#nonnodes").contents().length, 0, "Check node,textnode,comment remove works" );
-
-       // manually clean up detached elements
-       if (method === "detach") {
-               first.remove();
-       }
-}
-
-test( "remove()", 11, function() {
-       testRemove("remove");
 });
 
 test( "remove() event cleaning ", 1, function() {
@@ -1629,8 +1866,52 @@ test( "remove() in document order #13779", 1, function() {
        jQuery.cleanData = cleanData;
 });
 
-test( "detach()", 11, function() {
-       testRemove("detach");
+test("detach() no filters", function () {
+
+  expect(3);
+
+  var first = jQuery("#ap").children().first();
+
+  first.data("foo", "bar");
+
+  jQuery("#ap").children().detach();
+  ok(jQuery("#ap").text().length > 10, "Check text is not removed");
+  equal(jQuery("#ap").children().length, 0, "Check remove");
+
+  equal(first.data("foo"), "bar");
+  first.remove();
+
+});
+
+test("detach() with filters", function () {
+
+  expect(8);
+
+  var markup, div;
+  jQuery("#ap").children().detach("a");
+  ok(jQuery("#ap").text().length > 10, "Check text is not removed");
+  equal(jQuery("#ap").children().length, 1, "Check filtered remove");
+
+  jQuery("#ap").children().detach("a, code");
+  equal(jQuery("#ap").children().length, 0, "Check multi-filtered remove");
+
+  // Positional and relative selectors
+  markup = "<div><span>1</span><span>2</span><span>3</span><span>4</span></div>";
+  div = jQuery(markup);
+  div.children().detach("span:nth-child(2n)");
+  equal(div.text(), "13", "relative selector in detach");
+  div = jQuery(markup);
+  div.children().detach("span:first");
+  equal(div.text(), "234", "positional selector in detach");
+  div = jQuery(markup);
+  div.children().detach("span:last");
+  equal(div.text(), "123", "positional selector in detach");
+
+  // using contents will get comments regular, text, and comment nodes
+  // Handle the case where no comment is in the document
+  ok(jQuery("#nonnodes").contents().length >= 2, "Check node,textnode,comment remove works");
+  jQuery("#nonnodes").contents().detach();
+  equal(jQuery("#nonnodes").contents().length, 0, "Check node,textnode,comment remove works");
 });
 
 test( "detach() event cleaning ", 1, function() {
index 68161b87b236be59c7bf4823083a05e8e249db99..dace69df263205cb49f9f63418a286c5d83324d5 100644 (file)
@@ -31,12 +31,10 @@ function testWrap( val ) {
        equal( defaultText, result, "Check for wrapping of on-the-fly html" );
        ok( jQuery("#first").parent().parent().is(".red"), "Check if wrapper has class 'red'" );
 
-       QUnit.reset();
        result = jQuery("#first").wrap( val(document.getElementById("empty")) ).parent();
        ok( result.is("ol"), "Check for element wrapping" );
        equal( result.text(), defaultText, "Check for element wrapping" );
 
-       QUnit.reset();
        jQuery("#check1").on( "click", function() {
                var checkbox = this;
 
@@ -95,9 +93,6 @@ function testWrap( val ) {
        equal( j[ 0 ].parentNode.nodeName.toLowerCase(), "div", "Wrapping works." );
 
        j.parent().trigger("click");
-
-       // clean up attached elements
-       QUnit.reset();
 }
 
 test( "wrap(String|Element)", function() {
@@ -135,15 +130,15 @@ test( "wrap(String) consecutive elements (#10177)", function() {
        });
 });
 
-function testWrapAll( val ) {
+test( "wrapAll(String)", function() {
 
-       expect( 8 );
+       expect( 5 );
 
        var prev, p, result;
 
        prev = jQuery("#firstp")[ 0 ].previousSibling;
        p = jQuery("#firstp,#first")[ 0 ].parentNode;
-       result = jQuery("#firstp,#first").wrapAll( val("<div class='red'><div class='tmp'></div></div>") );
+       result = jQuery("#firstp,#first").wrapAll( "<div class='red'><div class='tmp'></div></div>" );
 
        equal( 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'" );
@@ -151,26 +146,66 @@ function testWrapAll( val ) {
        equal( jQuery("#first").parent().parent()[ 0 ].previousSibling, prev, "Correct Previous Sibling" );
        equal( jQuery("#first").parent().parent()[ 0 ].parentNode, p, "Correct Parent" );
 
-       QUnit.reset();
+});
+
+test( "wrapAll(Element)", function() {
+
+  expect( 3 );
+
+  var prev, p;
        prev = jQuery("#firstp")[ 0 ].previousSibling;
        p = jQuery("#first")[ 0 ].parentNode;
-       jQuery("#firstp,#first").wrapAll( val(document.getElementById("empty")) );
+       jQuery("#firstp,#first").wrapAll( document.getElementById("empty") );
 
        equal( jQuery("#first").parent()[ 0 ], jQuery("#firstp").parent()[ 0 ], "Same Parent" );
        equal( jQuery("#first").parent()[ 0 ].previousSibling, prev, "Correct Previous Sibling" );
        equal( jQuery("#first").parent()[ 0 ].parentNode, p, "Correct Parent" );
-}
+});
+
+test( "wrapInner(String)", function() {
+
+       expect( 6 );
 
-test( "wrapAll(String|Element)", function() {
-       testWrapAll( manipulationBareObj );
+       var num;
+
+       num = jQuery("#first").children().length;
+       jQuery("#first").wrapInner( "<div class='red'><div id='tmp'></div></div>" );
+
+       equal( jQuery("#first").children().length, 1, "Only one child" );
+       ok( jQuery("#first").children().is(".red"), "Verify Right Element" );
+       equal( jQuery("#first").children().children().children().length, num, "Verify Elements Intact" );
+       
+       num = jQuery("#first").html("foo<div>test</div><div>test2</div>").children().length;
+       jQuery("#first").wrapInner( "<div class='red'><div id='tmp'></div></div>" );
+       equal( jQuery("#first").children().length, 1, "Only one child" );
+       ok( jQuery("#first").children().is(".red"), "Verify Right Element" );
+       equal( jQuery("#first").children().children().children().length, num, "Verify Elements Intact" );
 });
 
-function testWrapInner( val ) {
+test( "wrapInner(Element)", function() {
 
-       expect( 11 );
+       expect( 5 );
 
        var num,
                div = jQuery("<div/>");
+               
+       num = jQuery("#first").children().length;
+       jQuery("#first").wrapInner( document.getElementById("empty") );
+       equal( jQuery("#first").children().length, 1, "Only one child" );
+       ok( jQuery("#first").children().is("#empty"), "Verify Right Element" );
+       equal( jQuery("#first").children().children().length, num, "Verify Elements Intact" );
+
+       div.wrapInner( "<span></span>" );
+       equal( div.children().length, 1, "The contents were wrapped." );
+       equal( div.children()[ 0 ].nodeName.toLowerCase(), "span", "A span was inserted." );
+});
+
+test( "wrapInner(Function) returns String", function() {
+
+       expect( 6 );
+
+       var num,
+    val = manipulationFunctionReturningObj;
 
        num = jQuery("#first").children().length;
        jQuery("#first").wrapInner( val("<div class='red'><div id='tmp'></div></div>") );
@@ -178,15 +213,22 @@ function testWrapInner( val ) {
        equal( jQuery("#first").children().length, 1, "Only one child" );
        ok( jQuery("#first").children().is(".red"), "Verify Right Element" );
        equal( jQuery("#first").children().children().children().length, num, "Verify Elements Intact" );
-
-       QUnit.reset();
+       
        num = jQuery("#first").html("foo<div>test</div><div>test2</div>").children().length;
        jQuery("#first").wrapInner( val("<div class='red'><div id='tmp'></div></div>") );
        equal( jQuery("#first").children().length, 1, "Only one child" );
        ok( jQuery("#first").children().is(".red"), "Verify Right Element" );
        equal( jQuery("#first").children().children().children().length, num, "Verify Elements Intact" );
+});
+
+test( "wrapInner(Function) returns Element", function() {
 
-       QUnit.reset();
+       expect( 5 );
+
+       var num,
+    val = manipulationFunctionReturningObj,
+               div = jQuery("<div/>");
+       
        num = jQuery("#first").children().length;
        jQuery("#first").wrapInner( val(document.getElementById("empty")) );
        equal( jQuery("#first").children().length, 1, "Only one child" );
@@ -196,14 +238,6 @@ function testWrapInner( val ) {
        div.wrapInner( val("<span></span>") );
        equal( div.children().length, 1, "The contents were wrapped." );
        equal( div.children()[ 0 ].nodeName.toLowerCase(), "span", "A span was inserted." );
-}
-
-test( "wrapInner(String|Element)", function() {
-       testWrapInner( manipulationBareObj );
-});
-
-test( "wrapInner(Function)", function() {
-       testWrapInner( manipulationFunctionReturningObj );
 });
 
 test( "unwrap()", function() {