Sha256: a2bb9db6f223a1cb8916f14ea91e89fe7c306dea1f88db08a528ac7fe90fa2f5

Contents?: true

Size: 1.46 KB

Versions: 76

Compression:

Stored size: 1.46 KB

Contents

var test = require('tape');
var parse = require('../').parse;

test('expand environment variables', function (t) {
    t.same(parse('a $XYZ c', { XYZ: 'b' }), [ 'a', 'b', 'c' ]);
    t.same(parse('a${XYZ}c', { XYZ: 'b' }), [ 'abc' ]);
    t.same(parse('a${XYZ}c $XYZ', { XYZ: 'b' }), [ 'abc', 'b' ]);
    t.same(parse('"-$X-$Y-"', { X: 'a', Y: 'b' }), [ '-a-b-' ]);
    t.same(parse("'-$X-$Y-'", { X: 'a', Y: 'b' }), [ '-$X-$Y-' ]);
    t.same(parse('qrs"$zzz"wxy', { zzz: 'tuv' }), [ 'qrstuvwxy' ]);
    t.same(parse("qrs'$zzz'wxy", { zzz: 'tuv' }), [ 'qrs$zzzwxy' ]);
    t.same(parse("qrs${zzz}wxy"), [ 'qrswxy' ]);
    t.same(parse("ab$x", { x: 'c' }), [ 'abc' ]);
    t.same(parse("ab\\$x", { x: 'c' }), [ 'ab$x' ]);
    t.same(parse("ab${x}def", { x: 'c' }), [ 'abcdef' ]);
    t.same(parse("ab\\${x}def", { x: 'c' }), [ 'ab${x}def' ]);
    t.same(parse('"ab\\${x}def"', { x: 'c' }), [ 'ab${x}def' ]);
    
    t.end();
});

test('environment variables with metacharacters', function (t) {
    t.same(parse('a $XYZ c', { XYZ: '"b"' }), [ 'a', '"b"', 'c' ]);
    t.same(parse('a $XYZ c', { XYZ: '$X', X: 5 }), [ 'a', '$X', 'c' ]);
    t.same(parse('a"$XYZ"c', { XYZ: "'xyz'" }), [ "a'xyz'c" ]);
    
    t.end();
});

test('special shell parameters', function (t) {
    var chars = '*@#?-$!0_'.split('');
    t.plan(chars.length);
    
    chars.forEach(function (c) {
        var env = {};
        env[c] = 'xxx';
        t.same(parse('a $' + c + ' c', env), [ 'a', 'xxx', 'c' ]);
    });
});

Version data entries

76 entries across 76 versions & 4 rubygems

Version Path
trusty-festivity-extension-2.6.3 node_modules/bower/node_modules/shell-quote/test/env.js
trusty-festivity-extension-2.6.2 node_modules/bower/node_modules/shell-quote/test/env.js
trusty-festivity-extension-2.6.1 node_modules/bower/node_modules/shell-quote/test/env.js
trusty-festivity-extension-2.6 node_modules/bower/node_modules/shell-quote/test/env.js
trusty-festivity-extension-2.5.19 node_modules/bower/node_modules/shell-quote/test/env.js
trusty-festivity-extension-2.5.18 node_modules/bower/node_modules/shell-quote/test/env.js
trusty-festivity-extension-2.5.17 node_modules/bower/node_modules/shell-quote/test/env.js
trusty-festivity-extension-2.5.16 node_modules/bower/node_modules/shell-quote/test/env.js
trusty-festivity-extension-2.5.15 node_modules/bower/node_modules/shell-quote/test/env.js
trusty-festivity-extension-2.5.14 node_modules/bower/node_modules/shell-quote/test/env.js
trusty-festivity-extension-2.5.13 node_modules/bower/node_modules/shell-quote/test/env.js
trusty-festivity-extension-2.5.12 node_modules/bower/node_modules/shell-quote/test/env.js
trusty-festivity-extension-2.5.11 node_modules/bower/node_modules/shell-quote/test/env.js
trusty-festivity-extension-2.5.10 node_modules/bower/node_modules/shell-quote/test/env.js
trusty-festivity-extension-2.5.9 node_modules/bower/node_modules/shell-quote/test/env.js
trusty-festivity-extension-2.5.8 node_modules/bower/node_modules/shell-quote/test/env.js
trusty-festivity-extension-2.5.7 node_modules/bower/node_modules/shell-quote/test/env.js
minimum_viable_product-0.0.11 test/dummy/node_modules/shell-quote/test/env.js
brwy_rails-0.0.6 test/dummy/node_modules/shell-quote/test/env.js
brwy_rails-0.0.5 test/dummy/node_modules/shell-quote/test/env.js