Skip to content
Permalink
Browse files
Add tests for class manipulation on jQuery object containing more tha…
…n one element. Close gh-1404.
  • Loading branch information
mgol committed Oct 24, 2013
1 parent eca79fb commit 35b2b94
Showing 1 changed file with 43 additions and 0 deletions.
@@ -1357,6 +1357,49 @@ test( "addClass, removeClass, hasClass", function() {
ok( jq.hasClass("class4") === false, "Check the class has been properly removed" );
});

test( "addClass, removeClass, hasClass on many elements", function() {
expect( 19 );

var elem = jQuery( "<p>p0</p><p>p1</p><p>p2</p>" );

elem.addClass( "hi" );
equal( elem[ 0 ].className, "hi", "Check single added class" );
equal( elem[ 1 ].className, "hi", "Check single added class" );
equal( elem[ 2 ].className, "hi", "Check single added class" );

elem.addClass( "foo bar" );
equal( elem[ 0 ].className, "hi foo bar", "Check more added classes" );
equal( elem[ 1 ].className, "hi foo bar", "Check more added classes" );
equal( elem[ 2 ].className, "hi foo bar", "Check more added classes" );

elem.removeClass();
equal( elem[ 0 ].className, "", "Remove all classes" );
equal( elem[ 1 ].className, "", "Remove all classes" );
equal( elem[ 2 ].className, "", "Remove all classes" );

elem.addClass( "hi foo bar" );
elem.removeClass( "foo" );
equal( elem[ 0 ].className, "hi bar", "Check removal of one class" );
equal( elem[ 1 ].className, "hi bar", "Check removal of one class" );
equal( elem[ 2 ].className, "hi bar", "Check removal of one class" );

ok( elem.hasClass( "hi" ), "Check has1" );
ok( elem.hasClass( "bar" ), "Check has2" );

ok( jQuery( "<p class='hi'>p0</p><p>p1</p><p>p2</p>" ).hasClass( "hi" ),
"Did find a class in the first element" );
ok( jQuery( "<p>p0</p><p class='hi'>p1</p><p>p2</p>" ).hasClass( "hi" ),
"Did find a class in the second element" );
ok( jQuery( "<p>p0</p><p>p1</p><p class='hi'>p2</p>" ).hasClass( "hi" ),
"Did find a class in the last element" );

ok( jQuery( "<p class='hi'>p0</p><p class='hi'>p1</p><p class='hi'>p2</p>" ).hasClass( "hi" ),
"Did find a class when present in all elements" );

ok( !jQuery( "<p class='hi0'>p0</p><p class='hi1'>p1</p><p class='hi2'>p2</p>" ).hasClass( "hi" ),
"Did not find a class when not present" );
});

test( "contents().hasClass() returns correct values", function() {
expect( 2 );

0 comments on commit 35b2b94

Please sign in to comment.