From: Daniel Ruf Date: Sat, 17 Mar 2018 19:29:33 +0000 (+0100) Subject: tests: replace duplicate code in the toggler test X-Git-Tag: v6.6.0~3^2~277^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dd96a42adf5d11dd744b97b854e89a8d3a832ce8;p=thirdparty%2Ffoundation%2Ffoundation-sites.git tests: replace duplicate code in the toggler test --- 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(); });