Skip to content

Commit

Permalink
Optimized the toggle tests
Browse files Browse the repository at this point in the history
  • Loading branch information
LaurentGoderre committed Aug 6, 2014
1 parent 2fe8725 commit 2a10594
Showing 1 changed file with 32 additions and 29 deletions.
61 changes: 32 additions & 29 deletions src/plugins/toggle/test.js
Expand Up @@ -15,7 +15,8 @@
*/
describe( "Toggle test suite", function() {
var spy,
sandbox = sinon.sandbox.create();
sandbox = sinon.sandbox.create(),
$body = wb.doc.find( "body" );

/*
* Before begining the test suite, this function is exectued once.
Expand All @@ -42,15 +43,15 @@ describe( "Toggle test suite", function() {
before(function() {
// Create test element
$test = $( "<div class='toggle-test'>" )
.appendTo( wb.doc.find( "body" ) );
.appendTo( $body );

// Create toggle elements and trigger plugin init
$toggleSelf = $( "<div class='wb-toggle'>" )
.appendTo( wb.doc.find( "body" ) )
.appendTo( $body )
.trigger( "wb-init.wb-toggle" );

$toggleOthers = $( "<div class='wb-toggle' data-toggle='{\"selector\": \".toggle-test\"}'>" )
.appendTo( wb.doc.find( "body" ) )
.appendTo( $body )
.trigger( "wb-init.wb-toggle" );

$accordion = $( "<div class='toggle-test-accordion'>" +
Expand All @@ -63,7 +64,7 @@ describe( "Toggle test suite", function() {
"<div class='tgl-panel'></div>" +
"</details>" +
"</div>")
.appendTo( wb.doc.find( "body" ) );
.appendTo( $body );
$toggleTabs = $accordion.find( ".wb-toggle" )
.trigger( "wb-init.wb-toggle" );
});
Expand Down Expand Up @@ -136,7 +137,7 @@ describe( "Toggle test suite", function() {

// Create toggle element and trigger plugin init
$toggle = $( "<div class='wb-toggle'>" )
.appendTo( wb.doc.find( "body" ) )
.appendTo( $body )
.trigger( "wb-init.wb-toggle" )
.trigger( "click" );
});
Expand Down Expand Up @@ -166,13 +167,14 @@ describe( "Toggle test suite", function() {

before(function() {
// Create the toggle element and start testing once it has been initialized
$toggledElm = $( "<div id='foo' class='test'/>" ).appendTo( wb.doc.find( "body" ) );
$toggler = $( "<button type='button' class='wb-toggle test' data-toggle='{\"selector\": \"#foo\"}'/>" ).appendTo( wb.doc.find( "body" ) );
$toggledElm = $( "<div id='foo' class='test'/>" ).appendTo( $body );
$toggler = $( "<button type='button' class='wb-toggle test' data-toggle='{\"selector\": \"#foo\"}'/>" ).appendTo( $body );
$toggler.trigger( "wb-init.wb-toggle" );
});

after(function() {
$( ".wb-toggle.test" ).remove();
$toggler.remove();
$toggledElm.remove();
});

it( "should have been toggled on", function() {
Expand All @@ -196,7 +198,7 @@ describe( "Toggle test suite", function() {

before(function() {
// Create the toggle element and start testing once it has been initialized
$toggler = $( "<button type='button' class='wb-toggle test'/>" ).appendTo( wb.doc.find( "body" ) );
$toggler = $( "<button type='button' class='wb-toggle test'/>" ).appendTo( $body );
$toggler.trigger( "wb-init.wb-toggle" );
});

Expand Down Expand Up @@ -225,15 +227,16 @@ describe( "Toggle test suite", function() {

before(function() {
// Create the toggle elements and start testing once it has been initialized
$togglerOn = $( "<button type='button' class='wb-toggle test' data-toggle='{\"type\": \"on\", \"stateOn\": \"open\"}'/>" ).appendTo( wb.doc.find( "body" ) );
$togglerOn = $( "<button type='button' class='wb-toggle test' data-toggle='{\"type\": \"on\", \"stateOn\": \"open\"}'/>" ).appendTo( $body );
$togglerOn.trigger( "wb-init.wb-toggle" );

$togglerOff = $( "<button type='button' class='wb-toggle test' data-toggle='{\"type\": \"off\", \"stateOff\": \"close\"}'/>" ).appendTo( wb.doc.find( "body" ) );
$togglerOff = $( "<button type='button' class='wb-toggle test' data-toggle='{\"type\": \"off\", \"stateOff\": \"close\"}'/>" ).appendTo( $body );
$togglerOff.trigger( "wb-init.wb-toggle" );
});

after(function() {
$( ".wb-toggle.test" ).remove();
$togglerOn.remove();
$togglerOff.remove();
});

it( "should have been toggled on", function() {
Expand Down Expand Up @@ -269,13 +272,13 @@ describe( "Toggle test suite", function() {

before(function() {
// Create the toggle elements and start testing once it has been initialized
$toggler1 = $( "<button type='button' class='wb-toggle' data-toggle='{\"selector\": \"#test-toggle1\", \"group\": \".grouped\", \"type\": \"on\"}'/>" ).appendTo( wb.doc.find( "body" ) );
$toggler2 = $( "<button type='button' class='wb-toggle' data-toggle='{\"selector\": \"#test-toggle2\", \"group\": \".grouped\", \"type\": \"on\"}'/>" ).appendTo( wb.doc.find( "body" ) );
$toggler3 = $( "<button type='button' class='wb-toggle' data-toggle='{\"selector\": \"#test-toggle3\", \"group\": \".grouped\", \"type\": \"on\"}'/>" ).appendTo( wb.doc.find( "body" ) );
$toggler1 = $( "<button type='button' class='wb-toggle' data-toggle='{\"selector\": \"#test-toggle1\", \"group\": \".grouped\", \"type\": \"on\"}'/>" ).appendTo( $body );
$toggler2 = $( "<button type='button' class='wb-toggle' data-toggle='{\"selector\": \"#test-toggle2\", \"group\": \".grouped\", \"type\": \"on\"}'/>" ).appendTo( $body );
$toggler3 = $( "<button type='button' class='wb-toggle' data-toggle='{\"selector\": \"#test-toggle3\", \"group\": \".grouped\", \"type\": \"on\"}'/>" ).appendTo( $body );

$toggle1 = $( "<div id='test-toggle1' class='grouped'>" ).appendTo( wb.doc.find( "body" ) );
$toggle2 = $( "<div id='test-toggle2' class='grouped'>" ).appendTo( wb.doc.find( "body" ) );
$toggle3 = $( "<div id='test-toggle3' class='grouped'>" ).appendTo( wb.doc.find( "body" ) );
$toggle1 = $( "<div id='test-toggle1' class='grouped'>" ).appendTo( $body );
$toggle2 = $( "<div id='test-toggle2' class='grouped'>" ).appendTo( $body );
$toggle3 = $( "<div id='test-toggle3' class='grouped'>" ).appendTo( $body );

$toggler1.trigger( "wb-init.wb-toggle" );
$toggler2.trigger( "wb-init.wb-toggle" );
Expand Down Expand Up @@ -324,8 +327,8 @@ describe( "Toggle test suite", function() {
spy.reset();

// Create the toggle elements and start testing once it has been initialized
$toggler = $( "<button type='button' class='wb-toggle test' data-toggle='{\"selector\": \".test-details\"}'/>" ).appendTo( wb.doc.find( "body" ) );
$details = $( "<details class=\"test test-details\"><summary></summary></details>" ).appendTo( wb.doc.find( "body" ) );
$toggler = $( "<button type='button' class='wb-toggle test' data-toggle='{\"selector\": \".test-details\"}'/>" ).appendTo( $body );
$details = $( "<details class=\"test test-details\"><summary></summary></details>" ).appendTo( $body );
$toggler.trigger( "wb-init.wb-toggle" );
});

Expand Down Expand Up @@ -390,7 +393,7 @@ describe( "Toggle test suite", function() {
"<div class='tgl-panel'></div>" +
"</details>" +
"</div>")
.appendTo( wb.doc.find( "body" ) );
.appendTo( $body );

$details = $accordion.find( "details" );
$panels = $accordion.find( ".tgl-panel" );
Expand Down Expand Up @@ -431,10 +434,10 @@ describe( "Toggle test suite", function() {
spy.reset();

$detailsOn = $( "<details class=\"wb-toggle\" data-toggle='{\"print\": \"on\"}'><summary></summary></details>" )
.appendTo( wb.doc.find( "body" ) )
.appendTo( $body )
.trigger( "wb-init.wb-toggle" );
$detailsOff = $( "<details class=\"wb-toggle\" data-toggle='{\"print\": \"off\"}'><summary></summary></details>" )
.appendTo( wb.doc.find( "body" ) )
.appendTo( $body )
.trigger( "wb-init.wb-toggle" );

wb.win.trigger( "beforeprint" );
Expand Down Expand Up @@ -472,11 +475,11 @@ describe( "Toggle test suite", function() {
sessionStorage.removeItem( keySession );

$detailsLocal = $( "<details class=\"wb-toggle\" id=\"test-local\" data-toggle='{\"persist\": \"local\"}'><summary></summary></details>" )
.appendTo( wb.doc.find( "body" ) )
.appendTo( $body )
.trigger( "wb-init.wb-toggle" );

$detailsSession = $( "<details class=\"wb-toggle\" id=\"test-session\" data-toggle='{\"persist\": \"session\"}'><summary></summary></details>" )
.appendTo( wb.doc.find( "body" ) )
.appendTo( $body )
.trigger( "wb-init.wb-toggle" );
});

Expand Down Expand Up @@ -521,7 +524,7 @@ describe( "Toggle test suite", function() {
sessionStorage.setItem( key, "on" );

$details = $( "<details class=\"wb-toggle\" id=\"test-session\" data-toggle='{\"persist\": \"session\"}'><summary></summary></details>" )
.appendTo( wb.doc.find( "body" ) )
.appendTo( $body )
.trigger( "wb-init.wb-toggle" );
});

Expand Down Expand Up @@ -551,9 +554,9 @@ describe( "Toggle test suite", function() {
sessionStorage.removeItem( key2 );

$details1 = $( "<details class=\"wb-toggle test-group\" id=\"test-1\" data-toggle='{\"persist\": \"session\", \"group\": \".test-group\"}'><summary></summary></details>" )
.appendTo( wb.doc.find( "body" ) );
.appendTo( $body );
$details2 = $( "<details class=\"wb-toggle test-group\" id=\"test-2\" data-toggle='{\"persist\": \"session\", \"group\": \".test-group\"}'><summary></summary></details>" )
.appendTo( wb.doc.find( "body" ) );
.appendTo( $body );

$details1.trigger( "wb-init.wb-toggle" );
$details2.trigger( "wb-init.wb-toggle" );
Expand Down

0 comments on commit 2a10594

Please sign in to comment.