From: Oleg Gaidarenko Date: Tue, 22 Dec 2015 14:52:22 +0000 (+0300) Subject: Revert "Core: Throw an error on $("#") rather than returning 0-length collection" X-Git-Tag: 1.12.0~41 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=fd5858f5423968aed8329f2cc0e5e590a7e05621;p=jquery.git Revert "Core: Throw an error on $("#") rather than returning 0-length collection" This reverts commit 93f95c966355f02b5695f50523f88687eadb4c81. --- diff --git a/src/core/init.js b/src/core/init.js index 5ce89e8a1..0c4ca4552 100644 --- a/src/core/init.js +++ b/src/core/init.js @@ -12,8 +12,7 @@ var rootjQuery, // A simple way to check for HTML strings // Prioritize #id over to avoid XSS via location.hash (#9521) // Strict HTML recognition (#11290: must start with <) - // Shortcut simple #id case for speed - rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, init = jQuery.fn.init = function( selector, context, root ) { var match, elem; diff --git a/test/unit/core.js b/test/unit/core.js index 472c4b5af..f2d6fbf51 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -56,18 +56,11 @@ QUnit.test( "jQuery()", function( assert ) { assert.expect( expected ); // Basic constructor's behavior - assert.equal( jQuery().length, 0, "jQuery() === jQuery([])" ); - assert.equal( jQuery( undefined ).length, 0, "jQuery(undefined) === jQuery([])" ); - assert.equal( jQuery( null ).length, 0, "jQuery(null) === jQuery([])" ); - assert.equal( jQuery( "" ).length, 0, "jQuery('') === jQuery([])" ); - assert.deepEqual( jQuery( obj ).get(), obj.get(), "jQuery(jQueryObj) == jQueryObj" ); - - // Invalid #id goes to Sizzle which will throw an error (gh-1682) - try { - jQuery( "#" ); - } catch ( e ) { - assert.ok( true, "Threw an error on #id with no id" ); - } + equal( jQuery().length, 0, "jQuery() === jQuery([])" ); + equal( jQuery(undefined).length, 0, "jQuery(undefined) === jQuery([])" ); + equal( jQuery(null).length, 0, "jQuery(null) === jQuery([])" ); + equal( jQuery("").length, 0, "jQuery('') === jQuery([])" ); + equal( jQuery("#").length, 0, "jQuery('#') === jQuery([])" ); // can actually yield more than one, when iframes are included, the window is an array as well assert.equal( jQuery( window ).length, 1, "Correct number of elements generated for jQuery(window)" );