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 35b2b94979ed3419e50b72ab3b84307269fa25e8
Showing with 43 additions and 0 deletions.
  1. +43 −0 test/unit/attributes.js
@@ -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.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.