UNPKG

1.4 kBJavaScriptView Raw
1/* jshint node: true */
2'use strict';
3
4var fs = require('fs');
5var path = require('path');
6var postcss = require('postcss');
7
8var mqpacker = require('../index');
9
10var dirFixtures = path.join(__dirname, 'fixtures');
11var dirExpected = path.join(__dirname, 'expected');
12var input = '';
13var expected = '';
14var opts = {};
15var loadInput = function (name) {
16 return fs.readFileSync(path.join(dirFixtures, name + '.css'), {
17 encoding: 'utf8'
18 });
19};
20var loadExpected = function (name) {
21 return fs.readFileSync(path.join(dirExpected, name + '.css'), {
22 encoding: 'utf8'
23 });
24};
25
26exports.testPublicInterfaces = function (test) {
27 test.expect(3);
28
29 input = '.foo { color: black; }';
30 expected = postcss.parse(input);
31 test.strictEqual(mqpacker.pack(input).css, expected.toString());
32
33 opts.map = true;
34 test.deepEqual(
35 mqpacker.pack(input, opts).map,
36 expected.toResult(opts).map
37 );
38
39 test.strictEqual(
40 postcss().use(mqpacker.processor).process(input).css,
41 expected.toString()
42 );
43
44 test.done();
45};
46
47exports.testRealCSS = function (test) {
48 test.expect(3);
49
50 var testCases = [
51 'simple',
52 'multi',
53 'query-order'
54 ];
55
56 for (var i = 0, l = testCases.length; i < l; i++) {
57 var testCase = testCases[i];
58 input = loadInput(testCase);
59 expected = loadExpected(testCase);
60 test.strictEqual(mqpacker.pack(input).css, expected);
61 }
62
63 test.done();
64};