|
1 | 1 | const path = require("path"); |
2 | 2 | const mockSpawn = require("mock-spawn"); |
3 | 3 | const assert = require("assert"); |
4 | | -const child_process = require('child_process'); |
5 | | -const { detectVirtualEnv, sanitizeConfig, detectPipEnv, replacePipEnvPathVar } = require("../lib/utils"); |
| 4 | +const child_process = require("child_process"); |
| 5 | +const { |
| 6 | + detectVirtualEnv, |
| 7 | + sanitizeConfig, |
| 8 | + detectPipEnv, |
| 9 | + replacePipEnvPathVar |
| 10 | +} = require("../lib/utils"); |
6 | 11 |
|
7 | 12 | const venvFixturesDir = path.join(__dirname, "fixtures", "venv"); |
8 | 13 |
|
@@ -55,58 +60,78 @@ describe("detectVirtualEnv", () => { |
55 | 60 | }); |
56 | 61 |
|
57 | 62 | describe("detect PipEnv", () => { |
58 | | - const spawn = mockSpawn() |
59 | | - child_process.spawn = spawn |
60 | | - spawn.sequence.add(function (cb) { |
61 | | - this.emit('error', new Error('spawn ENOENT')); |
62 | | - setTimeout(function() { return cb(8); }, 10); |
| 63 | + const spawn = mockSpawn(); |
| 64 | + child_process.spawn = spawn; |
| 65 | + spawn.sequence.add(function(cb) { |
| 66 | + this.emit("error", new Error("spawn ENOENT")); |
| 67 | + setTimeout(function() { |
| 68 | + return cb(8); |
| 69 | + }, 10); |
63 | 70 | }); |
64 | 71 | it("with no pipenv", () => { |
65 | 72 | waitsForPromise(() => { |
66 | 73 | return detectPipEnv("/home/mock_pipenv").then(venv => { |
67 | 74 | expect(venv).toBeNull(); |
68 | | - assert.equal('pipenv', spawn.calls[0].command); |
69 | | - assert.deepEqual(['--venv'], spawn.calls[0].args); |
| 75 | + assert.equal("pipenv", spawn.calls[0].command); |
| 76 | + assert.deepEqual(["--venv"], spawn.calls[0].args); |
70 | 77 | }); |
71 | 78 | }); |
72 | 79 | }); |
73 | 80 |
|
74 | 81 | it("with Unix pipenv", () => { |
75 | | - spawn.sequence.add(spawn.simple(1, '/home/tvallois/.local/share/virtualenvs/unix-XZE001N_')); |
| 82 | + spawn.sequence.add( |
| 83 | + spawn.simple(1, "/home/tvallois/.local/share/virtualenvs/unix-XZE001N_") |
| 84 | + ); |
76 | 85 | waitsForPromise(() => { |
77 | 86 | return detectPipEnv("/home/mock_pipenv").then(venv => { |
78 | | - expect(venv).toBe('/home/tvallois/.local/share/virtualenvs/unix-XZE001N_'); |
79 | | - assert.equal('pipenv', spawn.calls[1].command); |
80 | | - assert.deepEqual(['--venv'], spawn.calls[1].args); |
| 87 | + expect(venv).toBe( |
| 88 | + "/home/tvallois/.local/share/virtualenvs/unix-XZE001N_" |
| 89 | + ); |
| 90 | + assert.equal("pipenv", spawn.calls[1].command); |
| 91 | + assert.deepEqual(["--venv"], spawn.calls[1].args); |
81 | 92 | }); |
82 | 93 | }); |
83 | 94 | }); |
84 | 95 |
|
85 | 96 | it("with Windows pipenv", () => { |
86 | | - spawn.sequence.add(spawn.simple(1, 'C:\\Program Files\\tvallois\\virtualenvs\\windows-XZE001N_')); |
| 97 | + spawn.sequence.add( |
| 98 | + spawn.simple( |
| 99 | + 1, |
| 100 | + "C:\\Program Files\\tvallois\\virtualenvs\\windows-XZE001N_" |
| 101 | + ) |
| 102 | + ); |
87 | 103 | waitsForPromise(() => { |
88 | 104 | return detectPipEnv("C:\\Program Files\\mock_pipenv").then(venv => { |
89 | | - expect(venv).toBe('C:\\Program Files\\tvallois\\virtualenvs\\windows-XZE001N_'); |
90 | | - assert.equal('pipenv', spawn.calls[2].command); |
91 | | - assert.deepEqual(['--venv'], spawn.calls[2].args); |
| 105 | + expect(venv).toBe( |
| 106 | + "C:\\Program Files\\tvallois\\virtualenvs\\windows-XZE001N_" |
| 107 | + ); |
| 108 | + assert.equal("pipenv", spawn.calls[2].command); |
| 109 | + assert.deepEqual(["--venv"], spawn.calls[2].args); |
92 | 110 | }); |
93 | 111 | }); |
94 | 112 | }); |
95 | 113 | }); |
96 | 114 |
|
97 | 115 | describe("replacePipEnvPathVar", () => { |
98 | 116 | it("replace $PIPENV_PATH", () => { |
99 | | - expect(replacePipEnvPathVar("$PIPENV_PATH/bin/python", |
100 | | - "/home/tvallois/.local/share/virtualenvs/unix-XZE001N_")) |
101 | | - .toEqual("/home/tvallois/.local/share/virtualenvs/unix-XZE001N_/bin/python"); |
| 117 | + expect( |
| 118 | + replacePipEnvPathVar( |
| 119 | + "$PIPENV_PATH/bin/python", |
| 120 | + "/home/tvallois/.local/share/virtualenvs/unix-XZE001N_" |
| 121 | + ) |
| 122 | + ).toEqual( |
| 123 | + "/home/tvallois/.local/share/virtualenvs/unix-XZE001N_/bin/python" |
| 124 | + ); |
102 | 125 | }); |
103 | 126 |
|
104 | 127 | it("no $PIPENV_PATH", () => { |
105 | | - expect(replacePipEnvPathVar("python", |
106 | | - "/home/tvallois/.local/share/virtualenvs/unix-XZE001N_")) |
107 | | - .toEqual("python"); |
| 128 | + expect( |
| 129 | + replacePipEnvPathVar( |
| 130 | + "python", |
| 131 | + "/home/tvallois/.local/share/virtualenvs/unix-XZE001N_" |
| 132 | + ) |
| 133 | + ).toEqual("python"); |
108 | 134 | }); |
109 | | - |
110 | 135 | }); |
111 | 136 |
|
112 | 137 | describe("sanitizeConfig", () => { |
|
0 commit comments