diff options
-rw-r--r-- | src/core/var/rsingleTag.js | 2 | ||||
-rw-r--r-- | test/unit/core.js | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/core/var/rsingleTag.js b/src/core/var/rsingleTag.js index 7e7090b77..a8176dc64 100644 --- a/src/core/var/rsingleTag.js +++ b/src/core/var/rsingleTag.js @@ -1,4 +1,4 @@ define(function() { // Match a standalone tag - return (/^<(\w+)\s*\/?>(?:<\/\1>|)$/); + return (/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/); }); diff --git a/test/unit/core.js b/test/unit/core.js index 8fb260ed5..370484b25 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -599,6 +599,19 @@ test("jQuery('html')", function() { equal( jQuery( "\\<div\\>" ).length, 0, "Ignore escaped html characters" ); }); +test("jQuery(tag-hyphenated elements) gh-1987", function() { + expect( 17 ); + + jQuery.each( "thead tbody tfoot colgroup caption tr th td".split(" "), function( i, name ) { + var j = jQuery("<" + name + "-d></" + name + "-d>"); + ok( j[0], "Create a tag-hyphenated elements" ); + ok( jQuery.nodeName(j[0], name.toUpperCase() + "-D"), "Tag-hyphenated element has expected node name" ); + }); + + var j = jQuery("<tr-multiple-hyphens></tr-multiple-hyphens>"); + ok( jQuery.nodeName(j[0], "TR-MULTIPLE-HYPHENS"), "Element with multiple hyphens in its tag has expected node name" ); +}); + test("jQuery('massive html #7990')", function() { expect( 3 ); |