]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/node-gyp/node_modules/path-array/test/test.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / node_modules / node-gyp / node_modules / path-array / test / test.js
1
2 /**
3  * Module dependencies.
4  */
5
6 var assert = require('assert');
7 var PathArray = require('../');
8 var delimiter = require('path').delimiter || ':';
9
10 describe('PathArray', function () {
11   it('should use `process.env` by default', function () {
12     var p = new PathArray();
13     assert.equal(p._env, process.env);
14   });
15   it('should return the $PATH string for .toString()', function () {
16     var p = new PathArray();
17     assert.equal(p.toString(), process.env.PATH);
18   });
19   it('should accept an arbitrary `env` object', function () {
20     var env = { PATH: '/foo' + delimiter + '/bar' };
21     var p = new PathArray(env);
22     assert.equal(p.toString(), env.PATH);
23   });
24   it('should work for [n] getter syntax', function () {
25     var env = { PATH: '/foo' + delimiter + '/bar' };
26     var p = new PathArray(env);
27     assert.equal('/foo', p[0]);
28     assert.equal('/bar', p[1]);
29   });
30   it('should work for [n]= setter syntax', function () {
31     var env = { PATH: '/foo' + delimiter + '/bar' };
32     var p = new PathArray(env);
33     p[0] = '/baz';
34     assert.equal('/baz' + delimiter + '/bar', env.PATH);
35   });
36   it('should work with .push()', function () {
37     var env = { PATH: '/foo' + delimiter + '/bar' };
38     var p = new PathArray(env);
39     p.push('/baz');
40     assert.equal('/foo' + delimiter + '/bar' + delimiter + '/baz', env.PATH);
41   });
42   it('should work with .shift()', function () {
43     var env = { PATH: '/foo' + delimiter + '/bar' };
44     var p = new PathArray(env);
45     assert.equal('/foo', p.shift());
46     assert.equal('/bar', env.PATH);
47   });
48   it('should work with .pop()', function () {
49     var env = { PATH: '/foo' + delimiter + '/bar' };
50     var p = new PathArray(env);
51     assert.equal('/bar', p.pop());
52     assert.equal('/foo', env.PATH);
53   });
54   it('should work with .unshift()', function () {
55     var env = { PATH: '/foo' + delimiter + '/bar' };
56     var p = new PathArray(env);
57     p.unshift('/baz');
58     assert.equal('/baz' + delimiter + '/foo' + delimiter + '/bar', env.PATH);
59   });
60   it('should be able to specify property name to use with second argument', function () {
61     var env = { PYTHONPATH: '/foo' };
62     var p = new PathArray(env, 'PYTHONPATH');
63     assert.equal(1, p.length);
64     p.push('/baz');
65     assert.equal(2, p.length);
66     assert.equal('/foo' + delimiter + '/baz', env.PYTHONPATH);
67   });
68 });