mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-28 05:37:34 +03:00
Added simple unit tests for ghostdown extensions
(RE: discussion in pull #317) - Unit tests enforce well formedness of ghostdown processor function and what it returns. - Ensures image markup is recognised and replaced accurately.
This commit is contained in:
parent
09ada68d9b
commit
d72dab071c
38
core/test/unit/frontend_ghostdown_spec.js
Normal file
38
core/test/unit/frontend_ghostdown_spec.js
Normal file
@ -0,0 +1,38 @@
|
||||
/*globals describe, it */
|
||||
var gdPath = "../../client/assets/vendor/showdown/extensions/ghostdown.js",
|
||||
should = require('should'),
|
||||
ghostdown = require(gdPath);
|
||||
|
||||
describe("Ghostdown showdown extensions", function () {
|
||||
|
||||
it("should export an array of methods for processing", function () {
|
||||
|
||||
ghostdown.should.be.a("function");
|
||||
ghostdown().should.be.an.instanceof(Array);
|
||||
|
||||
ghostdown().forEach(function (processor) {
|
||||
processor.should.be.a("object");
|
||||
processor.should.have.property("type");
|
||||
processor.should.have.property("filter");
|
||||
processor.type.should.be.a("string");
|
||||
processor.filter.should.be.a("function");
|
||||
});
|
||||
});
|
||||
|
||||
it("should accurately detect images in markdown", function () {
|
||||
|
||||
[ "!image[image and another,/ image](http://dsurl stuff)",
|
||||
"![image and another,/ image]",
|
||||
"![]()",
|
||||
"![]" ]
|
||||
.forEach(function (imageMarkup) {
|
||||
var processedMarkup =
|
||||
ghostdown().reduce(function(prev,processor) {
|
||||
return processor.filter(prev);
|
||||
},imageMarkup);
|
||||
|
||||
// The image is the entire markup, so the image box should be too
|
||||
processedMarkup.should.match(/^<section.*?section>\n*$/);
|
||||
});
|
||||
});
|
||||
});
|
Loading…
Reference in New Issue
Block a user