]> source.dussan.org Git - jquery.git/commitdiff
Fix #13223. Re-allow leading space in HTML. Close gh-1264.
authorDave Methvin <dave.methvin@gmail.com>
Thu, 9 May 2013 01:07:41 +0000 (21:07 -0400)
committerDave Methvin <dave.methvin@gmail.com>
Thu, 9 May 2013 18:53:15 +0000 (14:53 -0400)
(cherry picked from commit 00eafdf028f7730665ce1c05ab44e3f0bc80fbc2)

src/core.js
test/unit/core.js
test/unit/selector.js

index 265f0bc4a547b1daaed6f62376c337c1fbee7704..86b35a6f0364259d42b0bf7c8ce8970cf2cc73c0 100644 (file)
@@ -52,7 +52,7 @@ var
        // A simple way to check for HTML strings
        // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
        // Strict HTML recognition (#11290: must start with <)
-       rquickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,
+       rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
 
        // Match a standalone tag
        rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
index 60b8e72723e2d718b039eeaa96182c3b0919c36f..7770000e5288346ad99d9923a6096022095f143e 100644 (file)
@@ -38,7 +38,7 @@ test("jQuery()", function() {
                div = jQuery("<div/><hr/><code/><b/>"),
                exec = false,
                lng = "",
-               expected = 20,
+               expected = 22,
                attrObj = {
                        "text": "test",
                        "class": "test2",
@@ -113,6 +113,12 @@ test("jQuery()", function() {
 
        equal( jQuery(document.body).get(0), jQuery("body").get(0), "Test passing an html node to the factory" );
 
+       elem = jQuery("  <em>hello</em>")[0];
+       equal( elem.nodeName.toLowerCase(), "em", "leading space" );
+
+       elem = jQuery("\n\n<em>world</em>")[0];
+       equal( elem.nodeName.toLowerCase(), "em", "leading newlines" );
+
        elem = jQuery("<div/>", attrObj );
 
        if ( jQuery.fn.width ) {
index 440e7167b58109c212012a4663bc7399d4b2118e..7939ea350370abe3c13d3092e80bbd3a4b50838a 100644 (file)
@@ -73,18 +73,6 @@ test("disconnected nodes - jQuery only", function() {
        equal( $opt.is(":selected"), true, "selected option" );
 });
 
-test("jQuery only - broken", 1, function() {
-       raises(function() {
-               // Setting context to null here somehow avoids QUnit's window.error handling
-               // making the e & e.message correct
-               // For whatever reason, without this,
-               // Sizzle.error will be called but no error will be seen in oldIE
-               jQuery.call( null, " <div/> " );
-       }, function( e ) {
-               return (/syntax.err/i).test( e.message );
-       }, "leading space invalid: $(' <div/> ')" );
-});
-
 testIframe("selector/html5_selector", "attributes - jQuery.attr", function( jQuery, window, document ) {
        expect( 35 );