diff options
author | Samy Pessé <samypesse@gmail.com> | 2015-03-24 11:27:37 +0100 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2015-03-24 11:27:37 +0100 |
commit | b61371942b0b29df418a1d7fda4fbec82afb534f (patch) | |
tree | b447344846fbb41c6ed58f72f4e8c7ba15124513 /test/assertions.js | |
parent | 61c07e8876e1187b787dec412a496465a7f3bac0 (diff) | |
download | gitbook-b61371942b0b29df418a1d7fda4fbec82afb534f.zip gitbook-b61371942b0b29df418a1d7fda4fbec82afb534f.tar.gz gitbook-b61371942b0b29df418a1d7fda4fbec82afb534f.tar.bz2 |
Add test for glossary replacements
Diffstat (limited to 'test/assertions.js')
-rw-r--r-- | test/assertions.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/assertions.js b/test/assertions.js index a1c2eb9..23feaf6 100644 --- a/test/assertions.js +++ b/test/assertions.js @@ -1,6 +1,8 @@ +var _ = require('lodash'); var fs = require('fs'); var path = require('path'); var should = require('should'); +var cheerio = require('cheerio'); should.Assertion.add('file', function(file, description) { this.params = { operator: 'have file ' + file, message: description }; @@ -17,3 +19,27 @@ should.Assertion.add('jsonfile', function(file, description) { this.obj.options.should.have.property('output').which.is.a.String; this.assert(JSON.parse(fs.readFileSync(path.resolve(this.obj.options.output, file), { encoding: "utf-8" }))); }); + +should.Assertion.add('html', function(query, validations, description) { + validations = _.defaults(validations || {}, { + count: 1, + attributes: {} + }); + + + this.params = { actual: "HTML string", operator: 'valid html', message: description }; + + var $ = cheerio.load(this.obj); + var $el = $(query); + + // Test number of elements + $el.should.have.lengthOf(validations.count); + + // Test text + if (validations.text !== undefined) $el.text().should.be.equal(validations.text); + + // Test attributes + _.each(validations.attributes, function(value, name) { + $el.attr(name).should.be.equal(value); + }); +}); |