50 lines
1.6 KiB
JavaScript
50 lines
1.6 KiB
JavaScript
var vows = require('vows'),
|
|
assert = require('assert'),
|
|
path = require('path'),
|
|
fs = require('fs'),
|
|
exists = fs.existsSync || path.existsSync,
|
|
base = path.join(__dirname, './files'),
|
|
cssmin = require('../cssmin').cssmin,
|
|
files = fs.readdirSync(base),
|
|
tests = {
|
|
'should be loaded': {
|
|
topic: function() {
|
|
return require('../cssmin').cssmin;
|
|
},
|
|
'should be a function': function(topic) {
|
|
assert.isFunction(topic);
|
|
}
|
|
}
|
|
};
|
|
|
|
files.forEach(function(file) {
|
|
if (path.extname(file) === '.css') {
|
|
var comp = path.join(base, file + '.min');
|
|
if (exists(comp)) {
|
|
tests['should be loaded'][file] = (function(file) {
|
|
var expected = (fs.readFileSync(path.join(base, file + '.min'), 'utf8')).trim(),
|
|
str = (fs.readFileSync(path.join(base, file), 'utf8')).trim();
|
|
return function(topic) {
|
|
var out = topic(str);
|
|
assert.equal(expected, out);
|
|
};
|
|
}(file));
|
|
}
|
|
}
|
|
});
|
|
|
|
//Line Break Test
|
|
(function() {
|
|
var file = 'linebreakpos.css';
|
|
tests['should be loaded']['and should handle linebreak'] = (function(file) {
|
|
var expected = (fs.readFileSync(path.join(base, 'special', file + '.min'), 'utf8')).trim(),
|
|
str = (fs.readFileSync(path.join(base, 'special', file), 'utf8')).trim();
|
|
return function(topic) {
|
|
var out = topic(str, 100);
|
|
assert.equal(expected, out);
|
|
};
|
|
}(file));
|
|
}());
|
|
|
|
vows.describe('cssmin tests').addBatch(tests).export(module);
|