shaman-website-compiler
Version:
Compile raw HTML, CSS and Javascript into the smallest possible, SEO friendly website.
48 lines • 2.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
require("mocha");
var chai_1 = require("chai");
var models_1 = require("../models");
var file_functions_1 = require("./file.functions");
describe('FileFunctions', function () {
it('ReduceFileData should return flattened array', function () {
var array = [
[new models_1.FileData("a.txt", "./a.txt")],
[new models_1.FileData("b.txt", "./b.txt")]
];
var result = (0, file_functions_1.ReduceFileData)(array);
(0, chai_1.expect)(result.length).to.equal(2);
});
it('GetFileExtension should return blank if no file extension', function () {
var result = (0, file_functions_1.GetFileExtension)('test');
(0, chai_1.expect)(result).to.equal('');
});
it('GetFileExtension should return html', function () {
var result = (0, file_functions_1.GetFileExtension)('test.html');
(0, chai_1.expect)(result).to.equal('html');
});
it('GetJsonExtensionFromHtml should change extension to .json', function () {
var result = (0, file_functions_1.GetJsonExtensionFromHtml)('test.html');
(0, chai_1.expect)(result).to.equal('test.json');
});
it('ChangeExtension should change extension to .json', function () {
var result = (0, file_functions_1.ChangeExtension)('test.html', 'html', 'json');
(0, chai_1.expect)(result).to.equal('test.json');
});
var mimeTypes = [
{ ext: 'png', mime: 'image/png' },
{ ext: 'jpg', mime: 'image/jpeg' },
{ ext: 'jpeg', mime: 'image/jpeg' },
{ ext: 'svg', mime: 'image/svg+xml' },
{ ext: 'json', mime: 'application/json' },
{ ext: 'xml', mime: 'application/xml' },
{ ext: 'ico', mime: 'image/ico' },
{ ext: 'na', mime: 'text/plain' }
];
mimeTypes.forEach(function (x) {
it("GetFileMimeType should return valid mime type (".concat(x.ext, ")"), function () {
(0, chai_1.expect)((0, file_functions_1.GetFileMimeType)(x.ext)).to.equal(x.mime);
});
});
});
//# sourceMappingURL=file.functions.spec.js.map