shakespeare-data
Version:
A little JavaScript library you can import and use in your projects as an alternative to Lorem Ipsum style test data.
54 lines • 2.36 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var chai_1 = require("chai");
var _ = require("underscore");
var shakespeare_1 = require("./shakespeare");
describe('shakespeareData', function () {
describe('sonnets.all()', function () {
it('should contain an array of sonnet objects', function () {
var shakespeareData = new shakespeare_1.Shakespeare();
var sonnets = shakespeareData.sonnets.all();
chai_1.expect(sonnets instanceof Array).to.be.true;
for (var i = 1; i < sonnets.length + 1; i++) {
var sonnet = sonnets[i - 1];
chai_1.expect(sonnet instanceof Object).to.be.true;
chai_1.expect(sonnet.number).to.equal(i);
chai_1.expect(sonnet.lines instanceof Array).to.be.true;
sonnet.lines.every(function (line) {
return line instanceof String;
});
}
});
});
describe('sonnets.find(term)', function () {
it('should return an array of sonnets matching the term', function () {
var shakespeareData = new shakespeare_1.Shakespeare();
var sonnets = shakespeareData.sonnets.find('truth');
chai_1.expect(sonnets instanceof Array).to.be.true;
chai_1.expect(sonnets.length > 0).to.be.true;
_.each(sonnets, function (sonnet) {
var truthLine = _.find(sonnet.lines, function (line) {
var lowerLine = line.toLowerCase();
if (lowerLine.indexOf('truth') != -1) {
return true;
}
else {
return false;
}
});
chai_1.expect(truthLine).to.be.a('string');
});
});
});
describe('sonnets.random()', function () {
it('should return a single random sonnet', function () {
var shakespeareData = new shakespeare_1.Shakespeare();
var sonnet = shakespeareData.sonnets.random();
chai_1.expect(sonnet.number).to.be.a('number');
_.each(sonnet.lines, function (line) {
chai_1.expect(line).to.be.a('string');
});
});
});
});
//# sourceMappingURL=shakespeare.test.js.map
;