Skip to content

Commit 7e2a704

Browse files
committed
Merge pull request jquery#260 from gnarf37/effects-unit
Unit Tests: effects: adding some animateClass tests
2 parents 5bff5c7 + e4204b1 commit 7e2a704

File tree

2 files changed

+63
-8
lines changed

2 files changed

+63
-8
lines changed

tests/unit/effects/effects.html

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,22 @@
3535
.hidden {
3636
display: none;
3737
}
38+
.test {
39+
background: #000;
40+
border: 0;
41+
}
42+
.testAddBorder {
43+
border: 10px solid #000;
44+
}
45+
.testChangeBackground {
46+
background: #fff;
47+
}
48+
.test h2 {
49+
font-size: 10px;
50+
}
51+
.testChildren h2 {
52+
font-size: 20px;
53+
}
3854
</style>
3955
</head>
4056
<body>
@@ -48,7 +64,9 @@ <h2 id="qunit-userAgent"></h2>
4864

4965
<div id="qunit-fixture">
5066
<div class="hidden test"></div>
51-
<div class="shown test"></div>
67+
<div class="animateClass test">
68+
<h2>Child Element Test</h2>
69+
</div>
5270
</div>
5371

5472
</body>

tests/unit/effects/effects_core.js

Lines changed: 44 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
(function($) {
22

3+
function present( value, array, message ) {
4+
QUnit.push( jQuery.inArray( value, array ) !== -1 , value, array, message );
5+
}
6+
7+
function notPresent( value, array, message ) {
8+
QUnit.push( jQuery.inArray( value, array ) === -1 , value, array, message );
9+
}
10+
311
var animateTime = 15;
412

513
module( "effects.core" );
@@ -8,12 +16,10 @@ $.each( $.effects.effect, function( effect ) {
816
if ( effect === "transfer" ) {
917
return;
1018
}
11-
QUnit.reset();
1219
module( "effect."+effect );
13-
test( "show/hide", function() {
20+
asyncTest( "show/hide", function() {
1421
var hidden = $( "div.hidden" );
1522
expect( 8 );
16-
stop();
1723

1824
var count = 0,
1925
test = 0;
@@ -23,24 +29,55 @@ $.each( $.effects.effect, function( effect ) {
2329
var point = count;
2430
return function( next ) {
2531
test++;
26-
equals( point, test, "Queue function fired in order" );
32+
equal( point, test, "Queue function fired in order" );
2733
if ( fn ) {
28-
fn ()
34+
fn ();
2935
} else {
3036
setTimeout( next, animateTime );
3137
}
32-
}
38+
};
3339
}
3440

3541
hidden.queue( queueTest() ).show( effect, animateTime, queueTest(function() {
3642
equal( hidden.css("display"), "block", "Hidden is shown after .show(\"" +effect+ "\", time)" );
3743
})).queue( queueTest() ).hide( effect, animateTime, queueTest(function() {
3844
equal( hidden.css("display"), "none", "Back to hidden after .hide(\"" +effect+ "\", time)" );
3945
})).queue( queueTest(function(next) {
40-
deepEqual( hidden.queue(), ["inprogress"], "Only the inprogress sentinel remains")
46+
deepEqual( hidden.queue(), ["inprogress"], "Only the inprogress sentinel remains");
4147
start();
4248
}));
4349
});
4450
});
4551

52+
module("animateClass");
53+
54+
asyncTest( "animateClass works with borderStyle", function() {
55+
var test = $("div.animateClass"),
56+
count = 0;
57+
expect(3);
58+
test.toggleClass("testAddBorder", 20, function() {
59+
test.toggleClass("testAddBorder", 20, function() {
60+
equal( test.css("borderLeftStyle"), "none", "None border set" );
61+
start();
62+
});
63+
equal( test.css("borderLeftStyle"), "solid", "None border not immedately set" );
64+
});
65+
equal( test.css("borderLeftStyle"), "solid", "Solid border immedately set" );
66+
});
67+
68+
asyncTest( "animateClass works with colors", function() {
69+
var test = $("div.animateClass"),
70+
count = 0;
71+
expect(2);
72+
test.toggleClass("testChangeBackground", 100, function() {
73+
present( test.css("backgroundColor"), [ "#ffffff", "rgb(255, 255, 255)" ], "Color is final" );
74+
start();
75+
});
76+
setTimeout(function() {
77+
var color = test.css("backgroundColor");
78+
notPresent( color, [ "#000000", "#ffffff", "rgb(0, 0, 0)", "rgb(255,255,255)" ],
79+
"Color is not endpoints in middle." );
80+
}, 50);
81+
});
82+
4683
})(jQuery);

0 commit comments

Comments
 (0)