Clean up nodes shortcuts

This commit is contained in:
Andrey A.I. Sitnik
2013-12-16 14:09:48 +01:00
parent e3670589b7
commit 18c2ee5e02
2 changed files with 18 additions and 10 deletions
+11 -4
View File
@@ -1,5 +1,8 @@
generateMap = require('./generate-map')
Declaration = require('./declaration')
AtRule = require('./at-rule')
Result = require('./result')
Rule = require('./rule')
Root = require('./root')
# List of functions to process CSS
@@ -37,9 +40,13 @@ postcss = (processors...) ->
postcss.parse = require('./parse')
# Nodes shortcuts
postcss.Declaration = require('./declaration')
postcss.AtRule = require('./at-rule')
postcss.Rule = require('./rule')
postcss.Root = require('./root')
postcss.decl = (defaults) ->
new Declaration(defaults)
postcss.atRule = (defaults) ->
new AtRule(defaults)
postcss.rule = (defaults) ->
new Rule(defaults)
postcss.root = (defaults) ->
new Root(defaults)
module.exports = postcss
+7 -6
View File
@@ -1,13 +1,14 @@
SourceMap = require('source-map')
postcss = require('../lib/postcss')
Result = require('../lib/result')
Root = require('../lib/root')
describe 'postcss.Root', ->
describe 'postcss.root()', ->
it 'allows to build own CSS', ->
root = new postcss.Root()
rule = new postcss.Rule(selector: 'a')
rule.append( new postcss.Declaration(prop: 'color', value: 'black') )
root = postcss.root()
rule = postcss.rule(selector: 'a')
rule.append( postcss.decl(prop: 'color', value: 'black') )
root.append( rule )
root.toString().should.eql 'a {color: black}'
@@ -57,7 +58,7 @@ describe 'postcss()', ->
e.message.should.eql 'Can\'t parse CSS: Unclosed block at line 1:1 in A'
it 'allows to replace Root', ->
processor = postcss -> new postcss.Root()
processor = postcss -> new Root()
processor.process('a {}').css.should.eql('')
it 'returns Result object', ->
@@ -75,7 +76,7 @@ describe 'postcss()', ->
calls.should.eql 'ab'
it 'parses, convert and stringify CSS', ->
a = (css) -> css.should.be.an.instanceof(postcss.Root)
a = (css) -> css.should.be.an.instanceof(Root)
postcss(a).process('a {}').css.should.have.type('string')
it 'adds map field only on request', ->