aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ajax/ajaxTest.js4
-rw-r--r--src/jquery/coreTest.js26
-rw-r--r--src/jquery/jquery.js44
-rw-r--r--src/selector/selector.js4
4 files changed, 41 insertions, 37 deletions
diff --git a/src/ajax/ajaxTest.js b/src/ajax/ajaxTest.js
index b215d95a8..7785a97a9 100644
--- a/src/ajax/ajaxTest.js
+++ b/src/ajax/ajaxTest.js
@@ -1,5 +1,7 @@
module("ajax");
+if ( location.protocol != "file:" ) {
+
test("serialize()", function() {
expect(1);
var data = $(':input').not('button').serialize();
@@ -376,3 +378,5 @@ test("evalScripts() with no script elements", function() {
}
ok ( true, 'after evalScripts()');
});
+
+}
diff --git a/src/jquery/coreTest.js b/src/jquery/coreTest.js
index 78d4a275f..4b29c8f86 100644
--- a/src/jquery/coreTest.js
+++ b/src/jquery/coreTest.js
@@ -107,19 +107,21 @@ test("attr(String, Object)", function() {
ok( document.getElementById('text1').readOnly == false, 'Set readonly attribute' );
});
-test("attr(String, Object)x", function() {
- expect(2);
- stop();
- $.get('data/dashboard.xml', function(xml) {
- var titles = [];
- $('tab', xml).each(function() {
- titles.push($(this).attr('title'));
- });
- ok( titles[0] == 'Location', 'attr() in XML context: Check first title' );
- ok( titles[1] == 'Users', 'attr() in XML context: Check second title' );
- start();
+if ( location.protocol != "file:" ) {
+ test("attr(String, Object)x", function() {
+ expect(2);
+ stop();
+ $.get('data/dashboard.xml', function(xml) {
+ var titles = [];
+ $('tab', xml).each(function() {
+ titles.push($(this).attr('title'));
+ });
+ ok( titles[0] == 'Location', 'attr() in XML context: Check first title' );
+ ok( titles[1] == 'Users', 'attr() in XML context: Check second title' );
+ start();
+ });
});
-});
+}
test("css(String|Hash)", function() {
expect(8);
diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js
index 78d1ab94d..c6f2a9b8e 100644
--- a/src/jquery/jquery.js
+++ b/src/jquery/jquery.js
@@ -23,39 +23,41 @@ window.undefined = window.undefined;
* @cat Core
*/
var jQuery = function(a,c) {
+ // If the context is global, return a new object
+ if ( window == this )
+ return new jQuery(a,c);
+
// Make sure that a selection was provided
a = a || document;
+ // HANDLE: $(function)
// Shortcut for document ready
// Safari reports typeof on DOM NodeLists as a function
if ( typeof a == "function" && !a.nodeType && a[0] == undefined )
- return jQuery(document)[ jQuery.fn.ready ? "ready" : "load" ]( a );
-
- // Watch for when a jQuery object is passed as the selector
- if ( a.jquery )
- return jQuery( jQuery.makeArray( a ) );
-
- // Watch for when a jQuery object is passed at the context
- if ( c && c.jquery )
- return jQuery( c ).find(a);
-
- // If the context is global, return a new object
- if ( window == this )
- return new jQuery(a,c);
-
+ return new jQuery(document)[ jQuery.fn.ready ? "ready" : "load" ]( a );
+
// Handle HTML strings
if ( typeof a == "string" ) {
+ // HANDLE: $(html) -> $(array)
var m = /^[^<]*(<.+>)[^>]*$/.exec(a);
- if ( m ) a = jQuery.clean( [ m[1] ] );
+ if ( m )
+ a = jQuery.clean( [ m[1] ] );
+
+ // HANDLE: $(expr)
+ else
+ return new jQuery( c ).find( a );
}
+
+ return this.setArray(
+ // HANDLE: $(array)
+ a.constructor == Array && a ||
- // Watch for when an array is passed in
- return this.setArray( a.constructor == Array || a.length && a != window && !a.nodeType && a[0] != undefined && a[0].nodeType ?
- // Assume that it is an array of DOM Elements
- jQuery.makeArray( a ) :
+ // HANDLE: $(arraylike)
+ // Watch for when an array-like object is passed as the selector
+ (a.jquery || a.length && a != window && !a.nodeType && a[0] != undefined && a[0].nodeType) && jQuery.makeArray( a ) ||
- // Find the matching elements and save them for later
- jQuery.find( a, c ) );
+ // HANDLE: $(*)
+ [ a ] );
};
// Map over the $ in case of overwrite
diff --git a/src/selector/selector.js b/src/selector/selector.js
index a478376f8..d9114c240 100644
--- a/src/selector/selector.js
+++ b/src/selector/selector.js
@@ -214,10 +214,6 @@ jQuery.extend({
ret = r = oid &&
(!m[3] || oid.nodeName == m[3].toUpperCase()) ? [oid] : [];
- // Use the DOM 0 shortcut for the body element
- } else if ( m[1] == "" && m[2] == "body" ) {
- ret = r = [ document.body ];
-
} else {
// Pre-compile a regular expression to handle class searches
if ( m[1] == "." )