UNPKG

cfx.simple-build-tool

Version:

90 lines (76 loc) 1.75 kB
const lex = require('pug-lexer'); const parse = require('pug-parser'); const handleFilters = require('../').handleFilters; const customFilters = {}; test('filters can be aliased', () => { const source = ` script :cdata:minify function myFunc(foo) { return foo; } `; const ast = parse( lex(source, {filename: __filename}), {filename: __filename, src: source} ); const options = {}; const aliases = { 'minify': 'uglify-js', }; const output = handleFilters(ast, customFilters, options, aliases); expect(output).toMatchSnapshot(); }); test('we do not support chains of aliases', () => { const source = ` script :cdata:minify-js function myFunc(foo) { return foo; } `; const ast = parse( lex(source, {filename: __filename}), {filename: __filename, src: source} ); const options = {}; const aliases = { 'minify-js': 'minify', 'minify': 'uglify-js', }; try { const output = handleFilters(ast, customFilters, options, aliases); } catch (ex) { expect({ code: ex.code, message: ex.message, }).toMatchSnapshot(); return; } throw new Error('Expected an exception'); }); test('options are applied before aliases', () => { const source = ` script :cdata:minify function myFunc(foo) { return foo; } :cdata:uglify-js function myFunc(foo) { return foo; } `; const ast = parse( lex(source, {filename: __filename}), {filename: __filename, src: source} ); const options = { 'minify': {output: {beautify: true}}, }; const aliases = { 'minify': 'uglify-js', }; const output = handleFilters(ast, customFilters, options, aliases); expect(output).toMatchSnapshot(); });