diff options
Diffstat (limited to 'tests/lib/mocha-3.1.0/test/suite.spec.js')
-rw-r--r-- | tests/lib/mocha-3.1.0/test/suite.spec.js | 439 |
1 files changed, 0 insertions, 439 deletions
diff --git a/tests/lib/mocha-3.1.0/test/suite.spec.js b/tests/lib/mocha-3.1.0/test/suite.spec.js deleted file mode 100644 index 54a1acd667..0000000000 --- a/tests/lib/mocha-3.1.0/test/suite.spec.js +++ /dev/null @@ -1,439 +0,0 @@ -var mocha = require('../') - , Context = mocha.Context - , Suite = mocha.Suite - , Test = mocha.Test; - -describe('Suite', function(){ - describe('.clone()', function(){ - beforeEach(function(){ - this.suite = new Suite('To be cloned'); - this.suite._timeout = 3043; - this.suite._slow = 101; - this.suite._bail = true; - this.suite.suites.push(1); - this.suite.tests.push('hello'); - this.suite._beforeEach.push(2); - this.suite._beforeAll.push(3); - this.suite._afterEach.push(4); - this.suite._afterAll.push(5); - }); - - it('should copy the title', function(){ - this.suite.clone().title.should.equal('To be cloned'); - }); - - it('should copy the timeout value', function(){ - this.suite.clone().timeout().should.equal(3043); - }); - - it('should copy the slow value', function(){ - this.suite.clone().slow().should.equal(101); - }); - - it('should copy the bail value', function(){ - this.suite.clone().bail().should.be.true(); - }); - - it('should not copy the values from the suites array', function(){ - this.suite.clone().suites.should.be.empty(); - }); - - it('should not copy the values from the tests array', function(){ - this.suite.clone().tests.should.be.empty(); - }); - - it('should not copy the values from the _beforeEach array', function(){ - this.suite.clone()._beforeEach.should.be.empty(); - }); - - it('should not copy the values from the _beforeAll array', function(){ - this.suite.clone()._beforeAll.should.be.empty(); - }); - - it('should not copy the values from the _afterEach array', function(){ - this.suite.clone()._afterEach.should.be.empty(); - }); - - it('should not copy the values from the _afterAll array', function(){ - this.suite.clone()._afterAll.should.be.empty(); - }); - }); - - describe('.timeout()', function(){ - beforeEach(function(){ - this.suite = new Suite('A Suite'); - }); - - describe('when no argument is passed', function(){ - it('should return the timeout value', function(){ - this.suite.timeout().should.equal(2000); - }); - }); - - describe('when argument is passed', function(){ - it('should return the Suite object', function(){ - var newSuite = this.suite.timeout(5000); - newSuite.timeout().should.equal(5000); - }); - }); - }); - - describe('.slow()', function(){ - beforeEach(function(){ - this.suite = new Suite('A Suite'); - }); - - describe('when given a string', function(){ - it('should parse it', function(){ - this.suite.slow('5 seconds'); - this.suite.slow().should.equal(5000); - }) - }) - - describe('when no argument is passed', function(){ - it('should return the slow value', function(){ - this.suite.slow().should.equal(75); - }); - }); - - describe('when argument is passed', function(){ - it('should return the Suite object', function(){ - var newSuite = this.suite.slow(5000); - newSuite.slow().should.equal(5000); - }); - }); - }); - - describe('.bail()', function(){ - beforeEach(function(){ - this.suite = new Suite('A Suite'); - this.suite._bail = true - }); - - describe('when no argument is passed', function(){ - it('should return the bail value', function(){ - this.suite.bail().should.be.true(); - }); - }); - - describe('when argument is passed', function(){ - it('should return the Suite object', function(){ - var newSuite = this.suite.bail(false); - newSuite.bail().should.be.false(); - }); - }); - }); - - describe('.beforeAll()', function(){ - beforeEach(function(){ - this.suite = new Suite('A Suite'); - }); - - describe('wraps the passed in function in a Hook', function(){ - it('adds it to _beforeAll', function(){ - var fn = function(){}; - this.suite.beforeAll(fn); - - this.suite._beforeAll.should.have.length(1); - var beforeAllItem = this.suite._beforeAll[0]; - beforeAllItem.title.should.match(/^"before all" hook/); - beforeAllItem.fn.should.equal(fn); - }); - - it('appends title to hook', function(){ - var fn = function(){}; - this.suite.beforeAll('test', fn); - - this.suite._beforeAll.should.have.length(1); - var beforeAllItem = this.suite._beforeAll[0]; - beforeAllItem.title.should.equal('"before all" hook: test'); - beforeAllItem.fn.should.equal(fn); - - function namedFn(){} - this.suite.beforeAll(namedFn); - this.suite._beforeAll.should.have.length(2); - beforeAllItem = this.suite._beforeAll[1]; - beforeAllItem.title.should.equal('"before all" hook: namedFn'); - beforeAllItem.fn.should.equal(namedFn); - }); - }); - }); - - describe('.afterAll()', function(){ - beforeEach(function(){ - this.suite = new Suite('A Suite'); - }); - - describe('wraps the passed in function in a Hook', function(){ - it('adds it to _afterAll', function(){ - var fn = function(){}; - this.suite.afterAll(fn); - - this.suite._afterAll.should.have.length(1); - var afterAllItem = this.suite._afterAll[0]; - afterAllItem.title.should.match(/^"after all" hook/); - afterAllItem.fn.should.equal(fn); - }); - it('appends title to hook', function(){ - var fn = function(){}; - this.suite.afterAll('test', fn); - - this.suite._afterAll.should.have.length(1); - var beforeAllItem = this.suite._afterAll[0]; - beforeAllItem.title.should.equal('"after all" hook: test'); - beforeAllItem.fn.should.equal(fn); - - function namedFn(){} - this.suite.afterAll(namedFn); - this.suite._afterAll.should.have.length(2); - beforeAllItem = this.suite._afterAll[1]; - beforeAllItem.title.should.equal('"after all" hook: namedFn'); - beforeAllItem.fn.should.equal(namedFn); - }); - }); - }); - - describe('.beforeEach()', function(){ - beforeEach(function(){ - this.suite = new Suite('A Suite'); - }); - - describe('wraps the passed in function in a Hook', function(){ - it('adds it to _beforeEach', function(){ - var fn = function(){}; - this.suite.beforeEach(fn); - - this.suite._beforeEach.should.have.length(1); - var beforeEachItem = this.suite._beforeEach[0]; - beforeEachItem.title.should.match(/^"before each" hook/); - beforeEachItem.fn.should.equal(fn); - }); - - it('appends title to hook', function(){ - var fn = function(){}; - this.suite.beforeEach('test', fn); - - this.suite._beforeEach.should.have.length(1); - var beforeAllItem = this.suite._beforeEach[0]; - beforeAllItem.title.should.equal('"before each" hook: test'); - beforeAllItem.fn.should.equal(fn); - - function namedFn(){} - this.suite.beforeEach(namedFn); - this.suite._beforeEach.should.have.length(2); - beforeAllItem = this.suite._beforeEach[1]; - beforeAllItem.title.should.equal('"before each" hook: namedFn'); - beforeAllItem.fn.should.equal(namedFn); - }); - }); - }); - - describe('.afterEach()', function(){ - beforeEach(function(){ - this.suite = new Suite('A Suite'); - }); - - describe('wraps the passed in function in a Hook', function(){ - it('adds it to _afterEach', function(){ - var fn = function(){}; - this.suite.afterEach(fn); - - this.suite._afterEach.should.have.length(1); - var afterEachItem = this.suite._afterEach[0]; - afterEachItem.title.should.match(/^"after each" hook/); - afterEachItem.fn.should.equal(fn); - }); - - it('appends title to hook', function(){ - var fn = function(){}; - this.suite.afterEach('test', fn); - - this.suite._afterEach.should.have.length(1); - var beforeAllItem = this.suite._afterEach[0]; - beforeAllItem.title.should.equal('"after each" hook: test'); - beforeAllItem.fn.should.equal(fn); - - function namedFn(){} - this.suite.afterEach(namedFn); - this.suite._afterEach.should.have.length(2); - beforeAllItem = this.suite._afterEach[1]; - beforeAllItem.title.should.equal('"after each" hook: namedFn'); - beforeAllItem.fn.should.equal(namedFn); - }); - }); - }); - - describe('.addSuite()', function(){ - beforeEach(function(){ - this.first = new Suite('First suite'); - this.first.timeout(4002); - this.first.slow(200); - this.second = new Suite('Second suite'); - this.first.addSuite(this.second); - }); - - it('sets the parent on the added Suite', function(){ - this.second.parent.should.equal(this.first); - }); - - it('copies the timeout value', function(){ - this.second.timeout().should.equal(4002); - }); - - it('copies the slow value', function(){ - this.second.slow().should.equal(200); - }); - - it('adds the suite to the suites collection', function(){ - this.first.suites.should.have.length(1); - this.first.suites[0].should.equal(this.second); - }); - - it('treats suite as pending if its parent is pending', function(){ - this.first.pending = true - this.second.isPending.should.be.true - }); - }); - - // describe('.addTest()', function(){ - // beforeEach(function(){ - // this.suite = new Suite('A Suite', new Context); - // this.suite.timeout(4002); - // this.test = new Test('test'); - // this.suite.addTest(this.test); - // }); - // - // it('sets the parent on the added test', function(){ - // this.test.parent.should.equal(this.suite); - // }); - // - // it('copies the timeout value', function(){ - // this.test.timeout().should.equal(4002); - // }); - // - // it('adds the test to the tests collection', function(){ - // this.suite.tests.should.have.length(1); - // this.suite.tests[0].should.equal(this.test); - // }); - // }); - - describe('.fullTitle()', function(){ - beforeEach(function(){ - this.suite = new Suite('A Suite'); - }); - - describe('when there is no parent', function(){ - it('returns the suite title', function(){ - this.suite.fullTitle().should.equal('A Suite'); - }); - }); - - describe('when there is a parent', function(){ - it('returns the combination of parent\'s and suite\'s title', function(){ - var parentSuite = new Suite('I am a parent'); - parentSuite.addSuite(this.suite); - this.suite.fullTitle().should.equal('I am a parent A Suite'); - }); - }); - }); - - describe('.total()', function(){ - beforeEach(function(){ - this.suite = new Suite('A Suite'); - }); - - describe('when there are no nested suites or tests', function(){ - it('should return 0', function(){ - this.suite.total().should.equal(0); - }); - }); - - describe('when there are several tests in the suite', function(){ - it('should return the number', function(){ - this.suite.addTest(new Test('a child test')); - this.suite.addTest(new Test('another child test')); - this.suite.total().should.equal(2); - }); - }); - }); - - describe('.eachTest(fn)', function(){ - beforeEach(function(){ - this.suite = new Suite('A Suite'); - }); - - describe('when there are no nested suites or tests', function(){ - it('should return 0', function(){ - var n = 0; - function fn(){ n++; } - this.suite.eachTest(fn); - n.should.equal(0); - }); - }); - - describe('when there are several tests in the suite', function(){ - it('should return the number', function(){ - this.suite.addTest(new Test('a child test')); - this.suite.addTest(new Test('another child test')); - - var n = 0; - function fn(){ n++; } - this.suite.eachTest(fn); - n.should.equal(2); - }); - }); - - describe('when there are several levels of nested suites', function(){ - it('should return the number', function(){ - this.suite.addTest(new Test('a child test')); - var suite = new Suite('a child suite'); - suite.addTest(new Test('a test in a child suite')); - this.suite.addSuite(suite); - - var n = 0; - function fn(){ n++; } - this.suite.eachTest(fn); - n.should.equal(2); - }); - }); - - }); - - describe('initialization', function() { - it('should throw an error if the title isn\'t a string', function() { - (function() { - new Suite(undefined, 'root'); - }).should.throw(); - - (function() { - new Suite(function(){}, 'root'); - }).should.throw(); - }); - - it('should not throw if the title is a string', function() { - (function() { - new Suite('Bdd suite', 'root'); - }).should.not.throw(); - }); - }); -}); - -describe('Test', function() { - describe('initialization', function() { - it('should throw an error if the title isn\'t a string', function() { - (function() { - new Test(function(){}); - }).should.throw(); - - (function() { - new Test(undefined, function(){}); - }).should.throw(); - }); - - it('should not throw if the title is a string', function() { - (function() { - new Test('test-case', function(){}); - }).should.not.throw(); - }); - }); -});
\ No newline at end of file |