UNPKG

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
"use strict"; 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