Skip to content

Commit a67d1e9

Browse files
committedFeb 28, 2017
hide all csstree methods behind syntax property and update tests
1 parent 9dbdfc8 commit a67d1e9

File tree

7 files changed

+38
-49
lines changed

7 files changed

+38
-49
lines changed
 

‎lib/index.js

+7-24
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
1-
var parse = require('css-tree').parse;
1+
var csstree = require('css-tree');
2+
var parse = csstree.parse;
23
var compress = require('./compressor');
3-
var translate = require('css-tree').translate;
4-
var translateWithSourceMap = require('css-tree').translateWithSourceMap;
5-
var walk = require('css-tree').walk;
6-
var walkUp = require('css-tree').walkUp;
7-
var walkRules = require('css-tree').walkRules;
8-
var walkRulesRight = require('css-tree').walkRulesRight;
9-
var clone = require('css-tree').clone;
10-
var List = require('css-tree').List;
4+
var translate = csstree.translate;
5+
var translateWithSourceMap = csstree.translateWithSourceMap;
116

127
function debugOutput(name, options, startTime, data) {
138
if (options.debug) {
@@ -136,25 +131,13 @@ function minifyBlock(source, options) {
136131
module.exports = {
137132
version: require('../package.json').version,
138133

139-
// classes
140-
List: List,
141-
142134
// main methods
143135
minify: minifyStylesheet,
144136
minifyBlock: minifyBlock,
145137

146-
// step by step
147-
parse: parse,
138+
// compress an AST
148139
compress: compress,
149-
translate: translate,
150-
translateWithSourceMap: translateWithSourceMap,
151-
152-
// walkers
153-
walk: walk,
154-
walkUp: walkUp,
155-
walkRules: walkRules,
156-
walkRulesRight: walkRulesRight,
157140

158-
// utils
159-
clone: clone
141+
// css syntax parser/walkers/generator/etc
142+
syntax: csstree
160143
};

‎test/clone.js

+12-9
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
11
var assert = require('assert');
2-
var csso = require('../lib/index.js');
2+
var csso = require('../lib');
3+
var parse = csso.syntax.parse;
4+
var compress = csso.compress;
5+
var translate = csso.syntax.translate;
36

47
describe('AST clone', function() {
58
it('compress(ast, { clone: false })', function() {
6-
var ast = csso.parse('.foo{color:red}.bar{color:#ff0000}');
7-
var compressedAst = csso.compress(ast, { clone: false }).ast;
9+
var ast = parse('.foo{color:red}.bar{color:#ff0000}');
10+
var compressedAst = compress(ast, { clone: false }).ast;
811

9-
assert.equal(csso.translate(compressedAst), '.bar,.foo{color:red}');
10-
assert.equal(csso.translate(ast), '.bar,.foo{color:red}');
12+
assert.equal(translate(compressedAst), '.bar,.foo{color:red}');
13+
assert.equal(translate(ast), '.bar,.foo{color:red}');
1114
});
1215

1316
it('compress(ast, { clone: true })', function() {
14-
var ast = csso.parse('.foo{color:red}.bar{color:#ff0000}');
15-
var compressedAst = csso.compress(ast, { clone: true }).ast;
17+
var ast = parse('.foo{color:red}.bar{color:#ff0000}');
18+
var compressedAst = compress(ast, { clone: true }).ast;
1619

17-
assert.equal(csso.translate(compressedAst), '.bar,.foo{color:red}');
18-
assert.equal(csso.translate(ast), '.foo{color:red}.bar{color:#ff0000}');
20+
assert.equal(translate(compressedAst), '.bar,.foo{color:red}');
21+
assert.equal(translate(ast), '.foo{color:red}.bar{color:#ff0000}');
1922
});
2023
});

‎test/compress.js

+11-9
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
var path = require('path');
22
var assert = require('assert');
3-
var csso = require('../lib/index.js');
4-
var translate = require('css-tree').translate;
3+
var csso = require('../lib');
4+
var parse = csso.syntax.parse;
5+
var compress = csso.compress;
6+
var translate = csso.syntax.translate;
57
var tests = require('./fixture/compress');
68

79
function normalize(str) {
@@ -14,8 +16,8 @@ function createCompressTest(name, test) {
1416

1517
assert.equal(normalize(compressed.css), normalize(test.compressed), 'compress by minify()');
1618

17-
var ast = csso.parse(test.source);
18-
var compressedAst = csso.compress(ast).ast;
19+
var ast = parse(test.source);
20+
var compressedAst = compress(ast).ast;
1921
var css = translate(compressedAst);
2022

2123
assert.equal(normalize(css), normalize(test.compressed), 'compress step by step');
@@ -35,15 +37,15 @@ describe('compress', function() {
3537

3638
describe('should return the same ast as input by default', function() {
3739
it('compress stylesheet', function() {
38-
var ast = csso.parse('.test{color:red}');
39-
var resultAst = csso.compress(ast).ast;
40+
var ast = parse('.test{color:red}');
41+
var resultAst = compress(ast).ast;
4042

4143
assert(ast === resultAst);
4244
});
4345

4446
it('compress block', function() {
45-
var ast = csso.parse('color:#ff0000;width:1px', { context: 'declarationList' });
46-
var resultAst = csso.compress(ast).ast;
47+
var ast = parse('color:#ff0000;width:1px', { context: 'declarationList' });
48+
var resultAst = compress(ast).ast;
4749

4850
assert(ast === resultAst);
4951
assert.equal(translate(ast), 'color:red;width:1px');
@@ -171,6 +173,6 @@ describe('compress', function() {
171173
});
172174

173175
it('should not fail if no ast passed', function() {
174-
assert.equal(translate(csso.compress().ast, true), '');
176+
assert.equal(translate(compress().ast, true), '');
175177
});
176178
});

‎test/plugins.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
var assert = require('assert');
2-
var csso = require('../lib/index.js');
2+
var csso = require('../lib');
33
var css = '.test{color:red;}@media foo{div{color:green}}';
44

55
describe('plugins', function() {

‎test/sourceMaps.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
var fs = require('fs');
22
var assert = require('assert');
3-
var csso = require('../lib/index.js');
3+
var csso = require('../lib');
44
var SourceMapConsumer = require('source-map').SourceMapConsumer;
55
var css = '.a { color: #ff0000; }\n.b { display: block; float: left; }';
66
var minifiedCss = '.a{color:red}.b{display:block;float:left}';
@@ -46,7 +46,7 @@ function getGeneratedPosition(str, source) {
4646
}
4747

4848
function defineSourceMap(filename) {
49-
var string = '{"version":3,"sources":["' + filename + '"],"names":[],"mappings":"AAAA,E,CAAK,S,CACL,E,CAAK,a,CAAgB,U","file":"' + filename + '","sourcesContent":[' + JSON.stringify(css) + ']}';
49+
var string = '{"version":3,"sources":["' + filename + '"],"names":[],"mappings":"AAAA,E,CAAK,S,CACL,E,CAAK,cAAgB,U","file":"' + filename + '","sourcesContent":[' + JSON.stringify(css) + ']}';
5050
var base64 = new Buffer(string, 'utf8').toString('base64');
5151
var inline = '/*# sourceMappingURL=data:application/json;base64,' + base64 + ' */';
5252

@@ -76,6 +76,7 @@ describe('sourceMaps', function() {
7676
assert('map' in result, 'should has `map` property');
7777
assert.equal(result.css, minifiedCss);
7878
assert.equal(result.map.toString(), anonymousMap.string);
79+
7980
});
8081

8182
it('should use passed filename in map', function() {
@@ -99,7 +100,7 @@ describe('sourceMaps', function() {
99100
assert.equal(result.css,
100101
'/*! check location merge */\n.a{a:2;b:2}\n' +
101102
'/*! several exlamation comments */\n.foo{color:red}');
102-
assert.equal(result.map.toString(), '{"version":3,"sources":["<unknown>"],"names":[],"mappings":";AAA2B,E,CAAQ,G,CAAS,G;;AAAsC,I,CAAO,S","file":"<unknown>","sourcesContent":[' + JSON.stringify(css) + ']}');
103+
assert.equal(result.map.toString(), '{"version":3,"sources":["<unknown>"],"names":[],"mappings":";AAA2B,E,CAAQ,IAAS,G;;AAAsC,I,CAAO,S","file":"<unknown>","sourcesContent":[' + JSON.stringify(css) + ']}');
103104
});
104105

105106
describe('check positions', function() {

‎test/specificity.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
var fs = require('fs');
22
var assert = require('assert');
3-
var csso = require('../lib/index.js');
3+
var csso = require('../lib');
44
var specificity = require('../lib/compressor/restructure/prepare/specificity.js');
55

66
function createSpecificityTest(test) {
77
it(test.selector, function() {
8-
var ast = csso.parse(test.selector, {
8+
var ast = csso.syntax.parse(test.selector, {
99
context: 'selector'
1010
});
1111

‎test/usage.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
var assert = require('assert');
2-
var csso = require('../lib/index.js');
2+
var csso = require('../lib');
33
var tests = require('./fixture/usage');
44

55
function normalize(str) {

0 commit comments

Comments
 (0)
Please sign in to comment.