diff --git a/test/unit/core.js b/test/unit/core.js index 2166576ec9..312e20ad0b 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -687,17 +687,26 @@ QUnit.test( "jQuery('html')", function( assert ) { assert.equal( jQuery( "\\" ).length, 0, "Ignore escaped html characters" ); } ); -QUnit.test( "jQuery(tag-hyphenated elements) gh-1987", function( assert ) { - assert.expect( 17 ); +QUnit.test( "jQuery(element with non-alphanumeric name)", function( assert ) { + assert.expect( 36 ); + + jQuery.each( [ "-", ":" ], function( i, symbol ) { + jQuery.each( [ "thead", "tbody", "tfoot", "colgroup", "caption", "tr", "th", "td" ], + function( j, tag ) { + var tagName = tag + symbol + "test"; + var el = jQuery( "<" + tagName + ">" ); + assert.ok( el[ 0 ], "Create a " + tagName + " element" ); + assert.ok( jQuery.nodeName( el[ 0 ], tagName.toUpperCase() ), + tagName + " element has expected node name" ); + } + ); - jQuery.each( "thead tbody tfoot colgroup caption tr th td".split( " " ), function( i, name ) { - var j = jQuery( "<" + name + "-d>" ); - assert.ok( j[ 0 ], "Create a tag-hyphenated elements" ); - assert.ok( jQuery.nodeName( j[ 0 ], name.toUpperCase() + "-D" ), "Tag-hyphenated element has expected node name" ); + var tagName = [ "tr", "multiple", "symbol" ].join( symbol ); + var el = jQuery( "<" + tagName + ">" ); + assert.ok( el[ 0 ], "Create a " + tagName + " element" ); + assert.ok( jQuery.nodeName( el[ 0 ], tagName.toUpperCase() ), + tagName + " element has expected node name" ); } ); - - var j = jQuery( "" ); - assert.ok( jQuery.nodeName( j[ 0 ], "TR-MULTIPLE-HYPHENS" ), "Element with multiple hyphens in its tag has expected node name" ); } ); QUnit.test( "jQuery('massive html #7990')", function( assert ) {