env_fn.js 483 Bytes
'use strict';

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

function getEnv() {
	return 'xxx';
}

function getEnvObj() {
	return { op: '@@' };
}

test('functional env expansion', function (t) {
	t.plan(4);

	t.same(parse('a $XYZ c', getEnv), ['a', 'xxx', 'c']);
	t.same(parse('a $XYZ c', getEnvObj), ['a', { op: '@@' }, 'c']);
	t.same(parse('a${XYZ}c', getEnvObj), ['a', { op: '@@' }, 'c']);
	t.same(parse('"a $XYZ c"', getEnvObj), ['a ', { op: '@@' }, ' c']);
});