Skip to content
This repository has been archived by the owner on Dec 2, 2023. It is now read-only.

Commit

Permalink
update conditions tests
Browse files Browse the repository at this point in the history
  • Loading branch information
sixertoy committed Aug 17, 2015
1 parent 74e05ff commit 76b94a3
Show file tree
Hide file tree
Showing 12 changed files with 253 additions and 3 deletions.
1 change: 0 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
language: node_js
node_js:
- "0.12"
- "0.10"
before_install:
- npm install -g istanbul coveralls mocha
script:
Expand Down
104 changes: 104 additions & 0 deletions spec/src/helpers/conditions.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
/*jshint unused: false */
/*jslint indent: 4, nomen: true */
/*global __dirname, jasmine, process, require, define, describe, xdescribe, it, xit, expect, beforeEach, afterEach, afterLast, console */
(function () {
'use strict';
var //variables
helper, result,
cwd = process.cwd(),
handlebarsOptions = {
inverse: function (args) {
return false;
},
fn: function (args) {
return true;
},
name: '',
data: {},
},
// requires
path = require('path'),
sinon = require('sinon'),
expect = require('chai').expect,
handlebars = require('handlebars'),
Conditions = require(path.join(cwd, 'src/helpers/conditions.js'));

describe('conditions', function () {

beforeEach(function () {
helper = new Conditions();
});

afterEach(function () {});

describe('register', function () {
it('handlebars registerHelper called twice', function () {
sinon.spy(handlebars, 'registerHelper');
helper.register();
expect(handlebars.registerHelper.callCount).to.equal(2);
handlebars.registerHelper.restore();
});
});
describe('render', function () {
it('throws missing arguments', function () {
expect(function () {
helper.render();
}).to.throw('missing arguments');
expect(function () {
helper.render(true);
}).to.throw('missing arguments');
expect(function () {
helper.render(true, false);
}).to.throw('missing arguments');
expect(function () {
helper.render(true, {
name: 'or'
});
}).to.throw('missing arguments');
});
it('not throws missing arguments', function () {
expect(function () {
helper.render(true, false, {
name: 'or'
});
}).not.to.throw('missing arguments');
});
it('handlebars createFrame called', function () {
handlebarsOptions.name = 'or';
sinon.spy(handlebars, 'createFrame');
helper.register();
helper.render(true, false, handlebarsOptions);
expect(handlebars.createFrame.callCount).to.equal(1);
handlebars.createFrame.restore();
});
});
describe('or', function () {
it('return true', function () {
handlebarsOptions.name = 'or';
helper.register();
result = helper.render(true, false, handlebarsOptions);
expect(result).to.equal(true);
});
it('return false', function () {
handlebarsOptions.name = 'or';
helper.register();
result = helper.render(false, false, handlebarsOptions);
expect(result).to.equal(false);
});
});
describe('and', function () {
it('return true', function () {
handlebarsOptions.name = 'and';
helper.register();
result = helper.render(true, true, handlebarsOptions);
expect(result).to.equal(true);
});
it('return false', function () {
handlebarsOptions.name = 'and';
helper.register();
result = helper.render(false, true, handlebarsOptions);
expect(result).to.equal(false);
});
});
});
}());
17 changes: 17 additions & 0 deletions spec/src/helpers/equal.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*jshint unused: false */
/*jslint indent: 4, nomen: true */
/*global __dirname, jasmine, process, require, define, describe, xdescribe, it, xit, expect, beforeEach, afterEach, afterLast, console */
(function() {
'use strict';
var //variables
cwd = process.cwd(),
// requires
path = require('path'),
sinon = require('sinon'),
expect = require('chai').expect,
equal = require(path.join(cwd, 'src/helpers/equal.js'));
describe('equal', function() {
beforeEach(function() {});
afterEach(function() {});
});
}());
17 changes: 17 additions & 0 deletions spec/src/helpers/image.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*jshint unused: false */
/*jslint indent: 4, nomen: true */
/*global __dirname, jasmine, process, require, define, describe, xdescribe, it, xit, expect, beforeEach, afterEach, afterLast, console */
(function() {
'use strict';
var //variables
cwd = process.cwd(),
// requires
path = require('path'),
sinon = require('sinon'),
expect = require('chai').expect,
image = require(path.join(cwd, 'src/helpers/image.js'));
describe('image', function() {
beforeEach(function() {});
afterEach(function() {});
});
}());
17 changes: 17 additions & 0 deletions spec/src/helpers/include.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*jshint unused: false */
/*jslint indent: 4, nomen: true */
/*global __dirname, jasmine, process, require, define, describe, xdescribe, it, xit, expect, beforeEach, afterEach, afterLast, console */
(function() {
'use strict';
var //variables
cwd = process.cwd(),
// requires
path = require('path'),
sinon = require('sinon'),
expect = require('chai').expect,
include = require(path.join(cwd, 'src/helpers/include.js'));
describe('include', function() {
beforeEach(function() {});
afterEach(function() {});
});
}());
17 changes: 17 additions & 0 deletions spec/src/helpers/literal.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*jshint unused: false */
/*jslint indent: 4, nomen: true */
/*global __dirname, jasmine, process, require, define, describe, xdescribe, it, xit, expect, beforeEach, afterEach, afterLast, console */
(function() {
'use strict';
var //variables
cwd = process.cwd(),
// requires
path = require('path'),
sinon = require('sinon'),
expect = require('chai').expect,
literal = require(path.join(cwd, 'src/helpers/literal.js'));
describe('literal', function() {
beforeEach(function() {});
afterEach(function() {});
});
}());
17 changes: 17 additions & 0 deletions spec/src/helpers/livereload.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*jshint unused: false */
/*jslint indent: 4, nomen: true */
/*global __dirname, jasmine, process, require, define, describe, xdescribe, it, xit, expect, beforeEach, afterEach, afterLast, console */
(function() {
'use strict';
var //variables
cwd = process.cwd(),
// requires
path = require('path'),
sinon = require('sinon'),
expect = require('chai').expect,
livereload = require(path.join(cwd, 'src/helpers/livereload.js'));
describe('livereload', function() {
beforeEach(function() {});
afterEach(function() {});
});
}());
17 changes: 17 additions & 0 deletions spec/src/helpers/random.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*jshint unused: false */
/*jslint indent: 4, nomen: true */
/*global __dirname, jasmine, process, require, define, describe, xdescribe, it, xit, expect, beforeEach, afterEach, afterLast, console */
(function() {
'use strict';
var //variables
cwd = process.cwd(),
// requires
path = require('path'),
sinon = require('sinon'),
expect = require('chai').expect,
random = require(path.join(cwd, 'src/helpers/random.js'));
describe('random', function() {
beforeEach(function() {});
afterEach(function() {});
});
}());
17 changes: 17 additions & 0 deletions spec/src/helpers/repeat.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*jshint unused: false */
/*jslint indent: 4, nomen: true */
/*global __dirname, jasmine, process, require, define, describe, xdescribe, it, xit, expect, beforeEach, afterEach, afterLast, console */
(function() {
'use strict';
var //variables
cwd = process.cwd(),
// requires
path = require('path'),
sinon = require('sinon'),
expect = require('chai').expect,
repeat = require(path.join(cwd, 'src/helpers/repeat.js'));
describe('repeat', function() {
beforeEach(function() {});
afterEach(function() {});
});
}());
17 changes: 17 additions & 0 deletions spec/src/helpers/timestamp.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*jshint unused: false */
/*jslint indent: 4, nomen: true */
/*global __dirname, jasmine, process, require, define, describe, xdescribe, it, xit, expect, beforeEach, afterEach, afterLast, console */
(function() {
'use strict';
var //variables
cwd = process.cwd(),
// requires
path = require('path'),
sinon = require('sinon'),
expect = require('chai').expect,
timestamp = require(path.join(cwd, 'src/helpers/timestamp.js'));
describe('timestamp', function() {
beforeEach(function() {});
afterEach(function() {});
});
}());
13 changes: 12 additions & 1 deletion spec/stories.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,23 @@ src/mustacher.js:
- returns options property 'name' is not defined
- expect to returns array of arguments
src/helpers/conditions.js:
register:
- handlebars registerHelper called twice
render:
- throws missing arguments
- not throws missing arguments
- handlebars createFrame called
or:
- return true
- return false
and:
- return true
- return false
src/helpers/equal.js:
src/helpers/image.js:
src/helpers/include.js:
src/helpers/literal.js:
src/helpers/livereload.js:
src/helpers/lorem.js:
src/helpers/random.js:
src/helpers/repeat.js:
src/helpers/timestamp.js:
2 changes: 1 addition & 1 deletion src/helpers/conditions.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
var result, data,
args = mustacher.hasOptions(arguments);
if (!args || args.length < 3) {
throw new Error('Conditions helper parameters is missing');
throw new Error('missing arguments');
}
options = args[args.length - 1];
data = Handlebars.createFrame(options.data || {});
Expand Down

0 comments on commit 76b94a3

Please sign in to comment.