Initial commit
[yaffs-website] / node_modules / node-gyp / test / test-configure-python.js
1 'use strict'
2
3 var test = require('tape')
4 var path = require('path')
5 var gyp = require('../lib/node-gyp')
6 var requireInject = require('require-inject')
7 var configure = requireInject('../lib/configure', {
8   'graceful-fs': {
9     'writeFile': function (file, data, cb) { cb() },
10     'stat': function (file, cb) { cb(null, {}) }
11   }
12 })
13
14 var EXPECTED_PYPATH = path.join(__dirname, '..', 'gyp', 'pylib')
15 var SEPARATOR = process.platform == 'win32' ? ';' : ':'
16 var SPAWN_RESULT = { on: function () { } }
17
18 test('configure PYTHONPATH with no existing env', function (t) {
19   t.plan(1)
20
21   delete process.env.PYTHONPATH
22
23   var prog = gyp()
24   prog.parseArgv([])
25   prog.spawn = function () {
26     t.equal(process.env.PYTHONPATH, EXPECTED_PYPATH)
27     return SPAWN_RESULT
28   }
29   configure(prog, [])
30 })
31
32 test('configure PYTHONPATH with existing env of one dir', function (t) {
33   t.plan(2)
34
35   var existingPath = path.join('a', 'b')
36   process.env.PYTHONPATH = existingPath
37
38   var prog = gyp()
39   prog.parseArgv([])
40   prog.spawn = function () {
41
42     t.equal(process.env.PYTHONPATH, [EXPECTED_PYPATH, existingPath].join(SEPARATOR))
43
44     var dirs = process.env.PYTHONPATH.split(SEPARATOR)
45     t.deepEqual(dirs, [EXPECTED_PYPATH, existingPath])
46
47     return SPAWN_RESULT
48   }
49   configure(prog, [])
50 })
51
52 test('configure PYTHONPATH with existing env of multiple dirs', function (t) {
53   t.plan(2)
54
55   var pythonDir1 = path.join('a', 'b')
56   var pythonDir2 = path.join('b', 'c')
57   var existingPath = [pythonDir1, pythonDir2].join(SEPARATOR)
58   process.env.PYTHONPATH = existingPath
59
60   var prog = gyp()
61   prog.parseArgv([])
62   prog.spawn = function () {
63
64     t.equal(process.env.PYTHONPATH, [EXPECTED_PYPATH, existingPath].join(SEPARATOR))
65
66     var dirs = process.env.PYTHONPATH.split(SEPARATOR)
67     t.deepEqual(dirs, [EXPECTED_PYPATH, pythonDir1, pythonDir2])
68
69     return SPAWN_RESULT
70   }
71   configure(prog, [])
72 })