Fixed #1763 by checking to see if .createElement() is available on the context and...
authorDavid Serduke <davidserduke@gmail.com>
Tue, 4 Dec 2007 19:37:03 +0000 (19:37 +0000)
committerDavid Serduke <davidserduke@gmail.com>
Tue, 4 Dec 2007 19:37:03 +0000 (19:37 +0000)
src/core.js
test/unit/core.js

index 5a842d5..ce487a1 100644 (file)
@@ -917,6 +917,8 @@ jQuery.extend({
        clean: function( elems, context ) {
                var ret = [];
                context = context || document;
+               if (!context.createElement) 
+                       context = context.ownerDocument || context[0] && context[0].ownerDocument || document;
 
                jQuery.each(elems, function(i, elem){
                        if ( !elem )
index f40f3b0..f3a3aa3 100644 (file)
@@ -12,14 +12,19 @@ test("Basic requirements", function() {
 });
 
 test("$()", function() {
-       expect(5);
+       expect(4);
        
        var main = $("#main");
        isSet( $("div p", main).get(), q("sndp", "en", "sap"), "Basic selector with jQuery object as context" );
        
+/*
+       // disabled since this test was doing nothing. i tried to fix it but i'm not sure
+       // what the expected behavior should even be. FF returns "\n" for the text node
        // make sure this is handled
-       $('<p>\r\n</p>');
-       ok( true, "Check for \\r and \\n in jQuery()" );
+       var crlfContainer = $('<p>\r\n</p>');
+       var x = crlfContainer.contents().get(0).nodeValue;
+       equals( x, what???, "Check for \\r and \\n in jQuery()" );
+*/
        
        /* // Disabled until we add this functionality in
        var pass = true;
@@ -148,7 +153,7 @@ var foo = false;
 
 test("$('html')", function() {
        expect(4);
-       
+
        reset();
        foo = false;
        var s = $("<script>var foo='test';</script>")[0];
@@ -163,6 +168,14 @@ test("$('html')", function() {
        reset();
 });
 
+test("$('html', context)", function() {
+       expect(1);
+
+       var $div = $("<div/>");
+       var $span = $("<span/>", $div);
+       equals($span.length, 1, "Verify a span created with a div context works");
+});
+
 test("length", function() {
        expect(1);
        ok( $("p").length == 6, "Get Number of Elements Found" );