Added some more tests to make sure that replaceWith is working correctly. Follow...
authorjeresig <jeresig@gmail.com>
Sat, 9 Oct 2010 15:41:58 +0000 (11:41 -0400)
committerjeresig <jeresig@gmail.com>
Sat, 9 Oct 2010 15:41:58 +0000 (11:41 -0400)
test/unit/manipulation.js

index 7b4f4d1..d4c4348 100644 (file)
@@ -680,7 +680,7 @@ test("insertAfter(String|Element|Array&lt;Element&gt;|jQuery)", function() {
 });
 
 var testReplaceWith = function(val) {
-       expect(17);
+       expect(20);
        jQuery('#yahoo').replaceWith(val( '<b id="replace">buga</b>' ));
        ok( jQuery("#replace")[0], 'Replace element with string' );
        ok( !jQuery("#yahoo")[0], 'Verify that original element is gone, after string' );
@@ -748,6 +748,17 @@ var testReplaceWith = function(val) {
                //"</script>");
        equals(jQuery('.replacewith').length, 1, 'Check number of elements in page.');
        jQuery('.replacewith').remove();
+
+       QUnit.reset();
+
+       jQuery("#main").append("<div id='replaceWith'></div>");
+       equals( jQuery("#main").find("div[id=replaceWith]").length, 1, "Make sure only one div exists." );
+
+       jQuery("#replaceWith").replaceWith( val("<div id='replaceWith'></div>") );
+       equals( jQuery("#main").find("div[id=replaceWith]").length, 1, "Make sure only one div exists." );
+
+       jQuery("#replaceWith").replaceWith( val("<div id='replaceWith'></div>") );
+       equals( jQuery("#main").find("div[id=replaceWith]").length, 1, "Make sure only one div exists." );
 }
 
 test("replaceWith(String|Element|Array&lt;Element&gt;|jQuery)", function() {
@@ -757,7 +768,7 @@ test("replaceWith(String|Element|Array&lt;Element&gt;|jQuery)", function() {
 test("replaceWith(Function)", function() {
        testReplaceWith(functionReturningObj);
 
-       expect(18);
+       expect(21);
 
        var y = jQuery("#yahoo")[0];