1 |
|
2 | 'use strict';
|
3 |
|
4 | var fs = require('fs');
|
5 | var path = require('path');
|
6 | var postcss = require('postcss');
|
7 |
|
8 | var mqpacker = require('../index');
|
9 |
|
10 | var dirFixtures = path.join(__dirname, 'fixtures');
|
11 | var dirExpected = path.join(__dirname, 'expected');
|
12 | var input = '';
|
13 | var expected = '';
|
14 | var opts = {};
|
15 | var loadInput = function (name) {
|
16 | return fs.readFileSync(path.join(dirFixtures, name + '.css'), {
|
17 | encoding: 'utf8'
|
18 | });
|
19 | };
|
20 | var loadExpected = function (name) {
|
21 | return fs.readFileSync(path.join(dirExpected, name + '.css'), {
|
22 | encoding: 'utf8'
|
23 | });
|
24 | };
|
25 |
|
26 | exports.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 |
|
47 | exports.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 | };
|