We only care that some of the html return value is escaped, not necessarily all of...
[jquery.git] / test / unit / manipulation.js
index 52becfe..c250b53 100644 (file)
@@ -145,7 +145,7 @@ test("wrapAll(String|Element)", function() {
 // })
 
 var testWrapInner = function(val) {
-       expect(6);
+       expect(8);
        var num = jQuery("#first").children().length;
        var result = jQuery('#first').wrapInner('<div class="red"><div id="tmp"></div></div>');
        equals( jQuery("#first").children().length, 1, "Only one child" );
@@ -158,6 +158,11 @@ var testWrapInner = function(val) {
        equals( jQuery("#first").children().length, 1, "Only one child" );
        ok( jQuery("#first").children().is("#empty"), "Verify Right Element" );
        equals( jQuery("#first").children().children().length, num, "Verify Elements Intact" );
+
+       var div = jQuery("<div/>");
+       div.wrapInner("<span></span>");
+       equals(div.children().length, 1, "The contents were wrapped.");
+       equals(div.children()[0].nodeName.toLowerCase(), "span", "A span was inserted.");
 }
 
 test("wrapInner(String|Element)", function() {
@@ -626,7 +631,7 @@ test("insertAfter(String|Element|Array&lt;Element&gt;|jQuery)", function() {
 });
 
 var testReplaceWith = function(val) {
-       expect(16);
+       expect(15);
        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' );
@@ -650,10 +655,30 @@ var testReplaceWith = function(val) {
 
        reset();
        var tmp = jQuery("<div/>").appendTo("body").click(function(){ ok(true, "Newly bound click run." ); });
-       var y = jQuery('#yahoo').click(function(){ ok(true, "Previously bound click run." ); });
+       var y = jQuery('<div/>').appendTo("body").click(function(){ ok(true, "Previously bound click run." ); });
+       var child = y.append("<b>test</b>").find("b").click(function(){ ok(true, "Child bound click run." ); return false; });
+
        y.replaceWith( tmp );
+
        tmp.click();
-       y.click();
+       y.click(); // Shouldn't be run
+       child.click(); // Shouldn't be run
+
+       tmp.remove();
+       y.remove();
+       child.remove();
+
+       reset();
+
+       y = jQuery('<div/>').appendTo("body").click(function(){ ok(true, "Previously bound click run." ); });
+       var child2 = y.append("<u>test</u>").find("u").click(function(){ ok(true, "Child 2 bound click run." ); return false; });
+
+       y.replaceWith( child2 );
+
+       child2.click();
+
+       y.remove();
+       child2.remove();
 
        reset();
 
@@ -662,9 +687,10 @@ var testReplaceWith = function(val) {
        equals( set.length, 1, "Replace the disconnected node." );
 
        var $div = jQuery("<div class='replacewith'></div>").appendTo("body");
-       $div.replaceWith("<div class='replacewith'></div><script>" +
-               "equals(jQuery('.replacewith').length, 1, 'Check number of elements in page.');" +
-               "</script>");
+       // TODO: Work on jQuery(...) inline script execution
+       //$div.replaceWith("<div class='replacewith'></div><script>" +
+               //"equals(jQuery('.replacewith').length, 1, 'Check number of elements in page.');" +
+               //"</script>");
        equals(jQuery('.replacewith').length, 1, 'Check number of elements in page.');
        jQuery('.replacewith').remove();
 }
@@ -802,9 +828,9 @@ var testHtml = function(valueObj) {
        equals( $div.html(valueObj( 0 )).html(), '0', 'Setting a zero as html' );
 
        var $div2 = jQuery('<div/>'), insert = "&lt;div&gt;hello1&lt;/div&gt;";
-       equals( $div2.html(insert).html(), insert, "Verify escaped insertion." );
-       equals( $div2.html("x" + insert).html(), "x" + insert, "Verify escaped insertion." );
-       equals( $div2.html(" " + insert).html(), " " + insert, "Verify escaped insertion." );
+       equals( $div2.html(insert).html().replace(/>/g, "&gt;"), insert, "Verify escaped insertion." );
+       equals( $div2.html("x" + insert).html().replace(/>/g, "&gt;"), "x" + insert, "Verify escaped insertion." );
+       equals( $div2.html(" " + insert).html().replace(/>/g, "&gt;"), " " + insert, "Verify escaped insertion." );
 
        var map = jQuery("<map/>").html(valueObj("<area id='map01' shape='rect' coords='50,50,150,150' href='http://www.jquery.com/' alt='jQuery'>"));
 
@@ -882,17 +908,17 @@ test("html(Function) with incoming value", function() {
        equals( $div2.html(function(i, val) {
                equals( val, "", "Make sure the incoming value is correct." );
                return insert;
-       }).html(), insert, "Verify escaped insertion." );
+       }).html().replace(/>/g, "&gt;"), insert, "Verify escaped insertion." );
        
        equals( $div2.html(function(i, val) {
-               equals( val, insert, "Make sure the incoming value is correct." );
+               equals( val.replace(/>/g, "&gt;"), insert, "Make sure the incoming value is correct." );
                return "x" + insert;
-       }).html(), "x" + insert, "Verify escaped insertion." );
+       }).html().replace(/>/g, "&gt;"), "x" + insert, "Verify escaped insertion." );
        
        equals( $div2.html(function(i, val) {
-               equals( val, "x" + insert, "Make sure the incoming value is correct." );
+               equals( val.replace(/>/g, "&gt;"), "x" + insert, "Make sure the incoming value is correct." );
                return " " + insert;
-       }).html(), " " + insert, "Verify escaped insertion." ); 
+       }).html().replace(/>/g, "&gt;"), " " + insert, "Verify escaped insertion." );   
 });
 
 var testRemove = function(method) {