mirror of
https://github.com/kemko/liquid.git
synced 2026-01-11 12:35:48 +03:00
Fixing up Grunt file to watch for directories Exclude node modules folder from Jekyll built site
154 lines
2.8 KiB
JavaScript
154 lines
2.8 KiB
JavaScript
'use strict';
|
|
|
|
var fs = require('fs');
|
|
var path = require('path');
|
|
var postcss = require('postcss');
|
|
|
|
var csswring = require('../index');
|
|
|
|
exports['Public API'] = function (test) {
|
|
var expected;
|
|
var input = '.foo{color:black}';
|
|
expected = postcss().process(input).css;
|
|
|
|
test.expect(4);
|
|
|
|
test.strictEqual(
|
|
csswring.wring(input).css,
|
|
expected
|
|
);
|
|
|
|
test.strictEqual(
|
|
csswring().wring(input).css,
|
|
expected
|
|
);
|
|
|
|
test.strictEqual(
|
|
postcss().use(csswring.postcss).process(input).css,
|
|
expected
|
|
);
|
|
|
|
test.strictEqual(
|
|
postcss().use(csswring().postcss).process(input).css,
|
|
expected
|
|
);
|
|
|
|
test.done();
|
|
};
|
|
|
|
exports['Option: PostCSS options'] = function (test) {
|
|
var expected;
|
|
var input = '.foo{color:black}';
|
|
var opts = {
|
|
from: 'from.css',
|
|
map: {
|
|
inline: false
|
|
}
|
|
};
|
|
var processed = csswring.wring(input, opts);
|
|
expected = postcss().process(input, opts);
|
|
|
|
test.expect(2);
|
|
|
|
test.strictEqual(
|
|
processed.css,
|
|
expected.css
|
|
);
|
|
|
|
test.deepEqual(
|
|
processed.map,
|
|
expected.map
|
|
);
|
|
|
|
test.done();
|
|
};
|
|
|
|
exports['Option: preserveHacks'] = function (test) {
|
|
var a;
|
|
var b = csswring();
|
|
var expected = '.hacks{*color:black;_background:white;font-size/**/:big}';
|
|
var input = '.hacks{*color:black;_background:white;font-size/**/:big}';
|
|
var opts = {
|
|
preserveHacks: true
|
|
};
|
|
a = csswring(opts);
|
|
|
|
test.expect(4);
|
|
|
|
test.notStrictEqual(
|
|
csswring.wring(input).css,
|
|
expected
|
|
);
|
|
|
|
test.strictEqual(
|
|
csswring(opts).wring(input).css,
|
|
expected
|
|
);
|
|
|
|
test.strictEqual(
|
|
csswring.wring(input, opts).css,
|
|
expected
|
|
);
|
|
|
|
test.notStrictEqual(
|
|
postcss().use(a.postcss).process(input).css,
|
|
postcss().use(b.postcss).process(input).css
|
|
);
|
|
|
|
test.done();
|
|
};
|
|
|
|
exports['Option: removeAllComments'] = function (test) {
|
|
var expected = '.foo{display:block}\n/*# sourceMappingURL=to.css.map */';
|
|
var input = '/*!comment*/.foo{display:block}\n/*# sourceMappingURL=to.css.map */';
|
|
var opts = {
|
|
map: {
|
|
inline: false
|
|
}
|
|
};
|
|
|
|
test.expect(2);
|
|
|
|
test.notStrictEqual(
|
|
csswring.wring(input, opts).css,
|
|
expected
|
|
);
|
|
|
|
test.strictEqual(
|
|
csswring({
|
|
removeAllComments: true
|
|
}).wring(input, opts).css,
|
|
expected
|
|
);
|
|
|
|
test.done();
|
|
};
|
|
|
|
exports['Real CSS'] = function (test) {
|
|
var testCases = fs.readdirSync(path.join(__dirname, 'fixtures'));
|
|
|
|
var loadExpected = function (file) {
|
|
file = path.join(__dirname, 'expected', file);
|
|
|
|
return fs.readFileSync(file, 'utf8').trim();
|
|
};
|
|
|
|
var loadInput = function (file) {
|
|
file = path.join(__dirname, 'fixtures', file);
|
|
|
|
return fs.readFileSync(file, 'utf8');
|
|
};
|
|
|
|
test.expect(testCases.length);
|
|
|
|
testCases.forEach(function (testCase) {
|
|
test.strictEqual(
|
|
csswring.wring(loadInput(testCase)).css,
|
|
loadExpected(testCase),
|
|
testCase
|
|
);
|
|
});
|
|
|
|
test.done();
|
|
};
|