aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core.js2
-rw-r--r--test/unit/core.js21
2 files changed, 19 insertions, 4 deletions
diff --git a/src/core.js b/src/core.js
index 5a842d5e7..ce487a10f 100644
--- a/src/core.js
+++ b/src/core.js
@@ -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 )
diff --git a/test/unit/core.js b/test/unit/core.js
index f40f3b02e..f3a3aa3db 100644
--- a/test/unit/core.js
+++ b/test/unit/core.js
@@ -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" );