From: Michał Gołębiowski Date: Thu, 24 Oct 2013 17:45:42 +0000 (+0200) Subject: Add tests for class manipulation on jQuery object containing more than one element... X-Git-Tag: 2.1.0-beta2~47 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=35b2b94979ed3419e50b72ab3b84307269fa25e8;p=jquery.git Add tests for class manipulation on jQuery object containing more than one element. Close gh-1404. --- diff --git a/test/unit/attributes.js b/test/unit/attributes.js index 029c358c3..08e1dc2dc 100644 --- a/test/unit/attributes.js +++ b/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( "

p0

p1

p2

" ); + + 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( "

p0

p1

p2

" ).hasClass( "hi" ), + "Did find a class in the first element" ); + ok( jQuery( "

p0

p1

p2

" ).hasClass( "hi" ), + "Did find a class in the second element" ); + ok( jQuery( "

p0

p1

p2

" ).hasClass( "hi" ), + "Did find a class in the last element" ); + + ok( jQuery( "

p0

p1

p2

" ).hasClass( "hi" ), + "Did find a class when present in all elements" ); + + ok( !jQuery( "

p0

p1

p2

" ).hasClass( "hi" ), + "Did not find a class when not present" ); +}); + test( "contents().hasClass() returns correct values", function() { expect( 2 );