UNPKG

svgo

Version:

Nodejs-based tool for optimizing SVG vector graphics files

77 lines (60 loc) 1.88 kB
var QFS = require('q-fs'), FS = require('fs'), PATH = require('path'), CONFIG = require('../../lib/config'), SVGO = require('../../lib/svgo'), regFilename = /^(.*)\.(\d+)\.orig\.svg$/; describe('plugins tests', function() { FS.readdirSync(__dirname).forEach(function(file) { var match, index, name, result; if (match = file.match(regFilename)) { name = match[1]; index = match[2]; before(function(done) { getResult(name, index).then(function(data) { result = data; done(); }) .end(); }); it(name + '.' + index, function() { result[0].should.be.equal(result[1]); }); } }); }); function getResult(name, index) { return prepareConfig(name) .then(function(config) { return readFile(name + '.' + index + '.orig.svg') .then(function(input) { return SVGO(input.toString(), config); }); }) .then(function(min) { return readFile(name + '.' + index +'.should.svg') .then(function(output) { return [min, output.toString()]; }); }); }; function prepareConfig(name) { return CONFIG() .then(function(config) { for (var type in config.plugins) { config.plugins[type].forEach(function(plugin) { if (plugin.name !== name) { plugin.active = false; } }); } config.js2svg.pretty = true; return config; }); }; function readFile(path) { return QFS.read(PATH.resolve(__dirname, path)); };