From dd96a42adf5d11dd744b97b854e89a8d3a832ce8 Mon Sep 17 00:00:00 2001 From: Daniel Ruf Date: Sat, 17 Mar 2018 20:29:33 +0100 Subject: [PATCH] tests: replace duplicate code in the toggler test --- test/javascript/components/toggler.js | 70 +++++++-------------------- 1 file changed, 18 insertions(+), 52 deletions(-) diff --git a/test/javascript/components/toggler.js b/test/javascript/components/toggler.js index 65c6ed77f..7d9010795 100644 --- a/test/javascript/components/toggler.js +++ b/test/javascript/components/toggler.js @@ -7,6 +7,14 @@ describe('Toggler', function() { $html.remove(); }); + function appendTriggers() { + return $(`
+ Open + Close + Toggle +
`).appendTo('body') + } + describe('constructor()', function() { it('stores the element and plugin options', function() { $html = $('
').appendTo('body'); @@ -42,47 +50,29 @@ describe('Toggler', function() { it('adds Aria attributes to click triggers', function() { $html = $('
').appendTo('body'); - var $triggers = $(`
- Open - Close - Toggle -
`).appendTo('body'); + var $triggers = appendTriggers(); plugin = new Foundation.Toggler($html, {}); - $triggers.find('[data-open]').should.have.attr('aria-controls', 'toggler'); - $triggers.find('[data-close]').should.have.attr('aria-controls', 'toggler'); - $triggers.find('[data-toggle]').should.have.attr('aria-controls', 'toggler'); + $triggers.find('[data-open], [data-close], [data-toggle]').should.have.attr('aria-controls', 'toggler'); $triggers.remove(); }); it('sets aria-expanded to true if the element is visible', function() { $html = $('
').appendTo('body'); - var $triggers = $(`
- Open - Close - Toggle -
`).appendTo('body'); + var $triggers = appendTriggers(); plugin = new Foundation.Toggler($html, {}); - $triggers.find('[data-open]').should.have.attr('aria-expanded', 'true'); - $triggers.find('[data-close]').should.have.attr('aria-expanded', 'true'); - $triggers.find('[data-open]').should.have.attr('aria-expanded', 'true'); + $triggers.find('[data-open], [data-close], [data-toggle]').should.have.attr('aria-expanded', 'true'); }); it('sets aria-expanded to false if the element is invisible', function() { var $css = $('').appendTo('body'); $html = $('
').appendTo('body'); - var $triggers = $(`
- Open - Close - Toggle -
`).appendTo('body'); + var $triggers = appendTriggers(); plugin = new Foundation.Toggler($html, {}); - $triggers.find('[data-open]').should.have.attr('aria-expanded', 'false'); - $triggers.find('[data-close]').should.have.attr('aria-expanded', 'false'); - $triggers.find('[data-open]').should.have.attr('aria-expanded', 'false'); + $triggers.find('[data-open], [data-close], [data-toggle]').should.have.attr('aria-expanded', 'false'); $css.remove(); }); }); @@ -106,22 +96,14 @@ describe('Toggler', function() { it('updates aria-expanded after the class is toggled', function() { $html = $('
').appendTo('body'); - var $triggers = $(`
- Open - Close - Toggle -
`).appendTo('body'); + var $triggers = appendTriggers(); plugin = new Foundation.Toggler($html, {}); plugin._toggleClass(); - $triggers.find('[data-open]').should.have.attr('aria-expanded', 'true'); - $triggers.find('[data-close]').should.have.attr('aria-expanded', 'true'); - $triggers.find('[data-open]').should.have.attr('aria-expanded', 'true'); + $triggers.find('[data-open], [data-close], [data-toggle]').should.have.attr('aria-expanded', 'true'); plugin._toggleClass(); - $triggers.find('[data-open]').should.have.attr('aria-expanded', 'false'); - $triggers.find('[data-close]').should.have.attr('aria-expanded', 'false'); - $triggers.find('[data-open]').should.have.attr('aria-expanded', 'false'); + $triggers.find('[data-open], [data-close], [data-toggle]').should.have.attr('aria-expanded', 'false'); }); }); @@ -130,19 +112,11 @@ describe('Toggler', function() { it('animates an invisible element in', function(done) { var $css = $('').appendTo('body'); $html = $('
').appendTo('body'); - var $triggers = $(`
- Open - Close - Toggle -
`).appendTo('body'); plugin = new Foundation.Toggler($html, {}); $html.on('on.zf.toggler', function() { $('#toggler').should.be.visible; - $triggers.find('[data-open]').should.have.attr('aria-expanded', 'true'); - $triggers.find('[data-close]').should.have.attr('aria-expanded', 'true'); - $triggers.find('[data-open]').should.have.attr('aria-expanded', 'true'); $css.remove(); done(); }); @@ -150,21 +124,13 @@ describe('Toggler', function() { plugin._toggleAnimate(); }); - it('animates an visible element out', function(done) { + it('animates a visible element out', function(done) { $html = $('
').appendTo('body'); - var $triggers = $(`
- Open - Close - Toggle -
`).appendTo('body'); plugin = new Foundation.Toggler($html, {}); $html.on('off.zf.toggler', function() { $('#toggler').should.be.hidden; - $triggers.find('[data-open]').should.have.attr('aria-expanded', 'false'); - $triggers.find('[data-close]').should.have.attr('aria-expanded', 'false'); - $triggers.find('[data-open]').should.have.attr('aria-expanded', 'false'); done(); }); -- 2.47.2