UNPKG

bevis

Version:

BEViS css class naming tool

130 lines (96 loc) 4.59 kB
var expect = require('chai').expect; var Block = require('../index.js'); describe('Given we have block with name butthead', function() { var b = new Block('butthead'); var className = ''; describe('When we call name without arguments', function() { beforeEach(function() { className = b.name(); }); it('Then className should be "butthead"', function() { expect(className).to.be.eql('butthead'); }); }); describe('When we call name with arguments', function() { beforeEach(function() { className = b.name('drunk', 'fallen'); }); it('Then className should be "butthead _drunk _fallen"', function() { expect(className).to.be.eql('butthead _drunk _fallen'); }); }); describe('When we call name and one of arguments is undefined', function() { beforeEach(function() { className = b.name(undefined, 'drunk'); }); it('Then className should be "butthead _drunk"', function() { expect(className).to.be.eql('butthead _drunk'); }); }); describe('When we call name and one of arguments is null', function() { beforeEach(function() { className = b.name(null, 'drunk'); }); it('Then className should be "butthead _drunk"', function() { expect(className).to.be.eql('butthead _drunk'); }); }); describe('When we call name and one of arguments is empty string', function() { beforeEach(function() { className = b.name('', 'drunk'); }); it('Then className should be "butthead _drunk"', function() { expect(className).to.be.eql('butthead _drunk'); }); }); describe('When we call elem with one argument', function() { beforeEach(function() { className = b.elem('hair'); }); it('Then className should be "butthead__hair"', function() { expect(className).to.be.eql('butthead__hair'); }); }); describe('When we call elem with two and more arguments', function() { beforeEach(function() { className = b.elem('hair', 'disheveled', 'seared'); }); it('Then className should be "butthead__hair _disheveled _seared"', function() { expect(className).to.be.eql('butthead__hair _disheveled _seared'); }); }); describe('When we call elem and one of arguments is undefined', function() { beforeEach(function() { className = b.elem('hair', undefined, 'disheveled'); }); it('Then className should be "butthead__hair _disheveled"', function() { expect(className).to.be.eql('butthead__hair _disheveled'); }); }); describe('When we call elem and one of arguments is null', function() { beforeEach(function() { className = b.elem('hair', null, 'disheveled'); }); it('Then className should be "butthead__hair _disheveled"', function() { expect(className).to.be.eql('butthead__hair _disheveled'); }); }); describe('When we call name and one of arguments is empty string', function() { beforeEach(function() { className = b.elem('hair', '', 'disheveled'); }); it('Then className should be "butthead__hair _disheveled"', function() { expect(className).to.be.eql('butthead__hair _disheveled'); }); }); }); describe('Given we have block beavis with view great-cornholio', function() { var b = new Block('beavis', 'great-cornholio'); var className = ''; describe('When we call name without arguments', function() { beforeEach(function() { className = b.name(); }); it('Then className should be "beavis_great-cornholio"', function() { expect(className).to.be.eql('beavis_great-cornholio') }); }); }); describe('Given we have block beavis with null view name', function() { var b = new Block('beavis', null); var className = ''; describe('When we call name without arguments', function() { beforeEach(function() { className = b.name(); }); it('Then className should be "beavis"', function() { expect(className).to.be.eql('beavis') }); }); }); describe('Given we have block beavis with empty string view name', function() { var b = new Block('beavis', ''); var className = ''; describe('When we call name without arguments', function() { beforeEach(function() { className = b.name(); }); it('Then className should be "beavis"', function() { expect(className).to.be.eql('beavis') }); }); });