diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2023-10-14 15:58:02 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2023-10-14 15:58:02 +0800 |
| commit | fee47f6414cc3ae9a88f3ee0ed20f1d6f2d9f556 (patch) | |
| tree | 2b99dd57fc676a3819ef3cc46ac43df0043c2bb3 /node_modules/rucksack-css/test/test.js | |
| parent | 0379526e20e1ff212df23e6326741aa9c06df204 (diff) | |
added plugin from postcss: postcss-fixes rucksack-css
Diffstat (limited to 'node_modules/rucksack-css/test/test.js')
| -rw-r--r-- | node_modules/rucksack-css/test/test.js | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/node_modules/rucksack-css/test/test.js b/node_modules/rucksack-css/test/test.js new file mode 100644 index 00000000..e9eca0fc --- /dev/null +++ b/node_modules/rucksack-css/test/test.js @@ -0,0 +1,86 @@ +/* eslint-disable */ + +'use strict'; + +const postcss = require('postcss'); +const expect = require('chai').expect; +const fs = require('fs'); +const path = require('path'); +const spawn = require('child_process').spawn; +const rucksack = require('../'); + +function test(fixture, opts, done) { + let input = fixture + '.css', + expected = fixture + '.expected.css'; + + input = fs.readFileSync(path.join(__dirname, 'fixtures', input), 'utf8'); + expected = fs.readFileSync(path.join(__dirname, 'fixtures', expected), 'utf8'); + + postcss([ rucksack(opts) ]) + .process(input) + .then(result => { + expect(result.css).to.eql(expected); + expect(result.warnings()).to.be.empty; + done(); + }).catch(error => { + done(error); + }); +}; + +function cli(cmd, callback) { + process.chdir(__dirname); + + let ps, + out = '', + err = ''; + + ps = spawn(process.execPath, [ + path.resolve(__dirname, '../bin/cmd.js') + ].concat(cmd)); + + ps.stdout.on('data', buffer => out += buffer); + ps.stderr.on('data', buffer => err += buffer); + ps.on('exit', function(code) { + callback.call(this, err, out, code); + }); +}; + +function cliTest(fixture, args, done) { + let input = fixture + '.css', + expected = fixture + '.expected.css'; + + input = path.join(__dirname, 'fixtures', input); + expected = path.join(__dirname, 'fixtures', expected); + + cli([input, args], (err, out, code) => { + expect(out).to.eql(fs.readFileSync(expected, 'utf8')); + expect(err).to.be.empty; + expect(code).to.eql(0); + done(); + }); +}; + +describe('Rucksack', () => { + + describe('core features', () => { + it('sets aliases', done => test('alias', {}, done)); + it('applies clear:fix', done => test('clearfix', {}, done)); + it('applies easings', done => test('easings', {}, done)); + it('sets font-path', done => test('fontpath', {}, done)); + it('expands rgba(hex,a)', done => test('hexrgba', {}, done)); + it('expands position shorthands', done => test('position', {}, done)); + it('applies quanity queries', done => test('quantity', {}, done)); + it('does responsive type', done => test('responsive-type', {}, done)); + it('adds new input pseudo-elements', done => test('input', {}, done)); + }); + + describe('addons', () => { + it('applies fallbacks', done => test('laggard', { fallbacks: true }, done)); + it('autoprefixes', done => test('autoprefixer', { autoprefixer: true }, done)); + }) + + describe('cli', () => { + it('processes css on the command line', done => cliTest('position', '', done)); + }); + +}); |
