mirror of
https://github.com/hanzoai/postcss.git
synced 2026-09-24 17:01:56 +00:00
86 lines
2.4 KiB
JavaScript
86 lines
2.4 KiB
JavaScript
var Root = require('../lib/root');
|
|
var Rule = require('../lib/rule');
|
|
var parse = require('../lib/parse');
|
|
var Result = require('../lib/result');
|
|
|
|
var fs = require('fs');
|
|
|
|
describe('Root', () => {
|
|
|
|
describe('toString()', () => {
|
|
|
|
fs.readdirSync(__dirname + '/cases/parse/').forEach( file => {
|
|
if ( !file.match(/\.css$/) ) return;
|
|
|
|
it('stringify ' + file, () => {
|
|
var path = __dirname + '/cases/parse/' + file;
|
|
var css = fs.readFileSync(path).toString();
|
|
parse(css).toString().should.eql(css);
|
|
});
|
|
});
|
|
|
|
it('saves one line on insert', () => {
|
|
var css = parse("a {}");
|
|
css.prepend( new Rule({ selector: 'em' }) );
|
|
|
|
css.toString().should.eql("em {}a {}");
|
|
});
|
|
|
|
it('fixes spaces on insert before first', () => {
|
|
var css = parse("a {}\nb {}");
|
|
css.prepend( new Rule({ selector: 'em' }) );
|
|
|
|
css.toString().should.eql("em {}\na {}\nb {}");
|
|
});
|
|
|
|
it('fixes spaces on insert before only one fule', () => {
|
|
var css = parse("a {}\n");
|
|
css.insertBefore(css.rules[0], new Rule({ selector: 'em' }) );
|
|
|
|
css.toString().should.eql("em {}\na {}\n");
|
|
});
|
|
|
|
});
|
|
|
|
describe('append()', () => {
|
|
|
|
it('sets new line between rules in multiline files', () => {
|
|
var a = parse('a {}\n\na {}\n');
|
|
var b = parse('b {}\n');
|
|
|
|
a.append(b).toString().should.eql('a {}\n\na {}\n\nb {}\n');
|
|
});
|
|
|
|
it('sets new line between rules on last newline', () => {
|
|
var a = parse('a {}\n');
|
|
var b = parse('b {}\n');
|
|
|
|
a.append(b).toString().should.eql('a {}\nb {}\n');
|
|
});
|
|
|
|
it('saves compressed style', () => {
|
|
var a1 = parse('a{}');
|
|
var a2 = parse('a{}a{}');
|
|
var b = parse('b{}\n');
|
|
|
|
a1.append(b).toString().should.eql('a{}b{}');
|
|
a2.append(b).toString().should.eql('a{}a{}b{}');
|
|
});
|
|
|
|
});
|
|
|
|
describe('toResult()', () => {
|
|
|
|
it('generates result with map', () => {
|
|
var root = parse('a {}');
|
|
var result = root.toResult({ map: true });
|
|
|
|
result.should.be.a.instanceOf(Result);
|
|
result.css.should.eql("a {}\n/*# sourceMappingURL=to.css.map */");
|
|
result.should.have.property('map');
|
|
});
|
|
|
|
});
|
|
|
|
});
|