UNPKG

istesequi

Version:

Lightweight and intuitive javascript library

99 lines (76 loc) 2.79 kB
// Testing the main file describe(".toggleClass(name1, name2, ...)", function() { beforeEach(function(){ base.addClass('blu'); expect(base.hasClass('bla')).to.equal(false); expect(base.hasClass('blu')).to.equal(true); }); afterEach(function(){ base.removeClass('bla'); base.addClass('blu'); }); it("should be defined", function() { expect(typeof base.toggleClass).to.equal('function'); }); it("can be called empty", function() { base.toggleClass(); base.toggleClass(""); base.toggleClass([]); base.toggleClass("",""); base.toggleClass(" "); }); it("adds a class by toggling", function() { base.toggleClass('bla'); expect(base.hasClass('bla')).to.equal(true); }); it("removes a class by toggling", function() { base.toggleClass('blu'); expect(base.hasClass('blu')).to.equal(false); }); it("can be concatenated", function() { base.toggleClass('bla').toggleClass('bla'); expect(base.hasClass('bla')).to.equal(false); }); it("can do double toggle and stays the same", function() { base.toggleClass('bla bla'); expect(base.hasClass('bla')).to.equal(false); }); it("toggles several classes separated by comma", function() { len = base.toggleClass('bla,blu').nodes.length; expect(len).to.equal(1); }); // Second Parameter it("can be called with a second parameter to force a addClass", function() { base.toggleClass('blu', true); expect(base.hasClass('blu')).to.equal(true); }); it("can be called with a second parameter to force a removeClass", function() { base.toggleClass('blu', false); expect(base.hasClass('blu')).to.equal(false); }); it("ignores the second parameter if string", function() { base.toggleClass('blu', 'peter'); expect(base.hasClass('blu')).to.equal(false); expect(base.hasClass('peter')).to.equal(false); base.toggleClass('blu', 'peter'); expect(base.hasClass('blu')).to.equal(true); }); it("ignores the second parameter if falsy but not false", function() { base.toggleClass('blu', null); expect(base.hasClass('blu')).to.equal(false); base.toggleClass('blu', null); expect(base.hasClass('blu')).to.equal(true); base.toggleClass('blu', undefined); expect(base.hasClass('blu')).to.equal(false); base.toggleClass('blu', undefined); expect(base.hasClass('blu')).to.equal(true); base.toggleClass('blu', 0); expect(base.hasClass('blu')).to.equal(false); base.toggleClass('blu', 0); expect(base.hasClass('blu')).to.equal(true); base.toggleClass('blu', ''); expect(base.hasClass('blu')).to.equal(false); base.toggleClass('blu', ''); expect(base.hasClass('blu')).to.equal(true); }); });