Initial commit
[yaffs-website] / node_modules / node-gyp / test / test-process-release.js
1 var test = require('tape')
2 var processRelease = require('../lib/process-release')
3
4 test('test process release - process.version = 0.8.20', function (t) {
5   t.plan(2)
6
7   var release = processRelease([], { opts: {} }, 'v0.8.20', null)
8
9   t.equal(release.semver.version, '0.8.20')
10   delete release.semver
11
12   t.deepEqual(release, {
13     version: '0.8.20',
14     name: 'node',
15     baseUrl: 'https://nodejs.org/dist/v0.8.20/',
16     tarballUrl: 'https://nodejs.org/dist/v0.8.20/node-v0.8.20.tar.gz',
17     shasumsUrl: 'https://nodejs.org/dist/v0.8.20/SHASUMS256.txt',
18     versionDir: '0.8.20',
19     libUrl32: 'https://nodejs.org/dist/v0.8.20/node.lib',
20     libUrl64: 'https://nodejs.org/dist/v0.8.20/x64/node.lib',
21     libPath32: 'node.lib',
22     libPath64: 'x64/node.lib'
23   })
24 })
25
26 test('test process release - process.version = 0.10.21', function (t) {
27   t.plan(2)
28
29   var release = processRelease([], { opts: {} }, 'v0.10.21', null)
30
31   t.equal(release.semver.version, '0.10.21')
32   delete release.semver
33
34   t.deepEqual(release, {
35     version: '0.10.21',
36     name: 'node',
37     baseUrl: 'https://nodejs.org/dist/v0.10.21/',
38     tarballUrl: 'https://nodejs.org/dist/v0.10.21/node-v0.10.21.tar.gz',
39     shasumsUrl: 'https://nodejs.org/dist/v0.10.21/SHASUMS256.txt',
40     versionDir: '0.10.21',
41     libUrl32: 'https://nodejs.org/dist/v0.10.21/node.lib',
42     libUrl64: 'https://nodejs.org/dist/v0.10.21/x64/node.lib',
43     libPath32: 'node.lib',
44     libPath64: 'x64/node.lib'
45   })
46 })
47
48 // prior to -headers.tar.gz
49 test('test process release - process.version = 0.12.9', function (t) {
50   t.plan(2)
51
52   var release = processRelease([], { opts: {} }, 'v0.12.9', null)
53
54   t.equal(release.semver.version, '0.12.9')
55   delete release.semver
56
57   t.deepEqual(release, {
58     version: '0.12.9',
59     name: 'node',
60     baseUrl: 'https://nodejs.org/dist/v0.12.9/',
61     tarballUrl: 'https://nodejs.org/dist/v0.12.9/node-v0.12.9.tar.gz',
62     shasumsUrl: 'https://nodejs.org/dist/v0.12.9/SHASUMS256.txt',
63     versionDir: '0.12.9',
64     libUrl32: 'https://nodejs.org/dist/v0.12.9/node.lib',
65     libUrl64: 'https://nodejs.org/dist/v0.12.9/x64/node.lib',
66     libPath32: 'node.lib',
67     libPath64: 'x64/node.lib'
68   })
69 })
70
71 // prior to -headers.tar.gz
72 test('test process release - process.version = 0.10.41', function (t) {
73   t.plan(2)
74
75   var release = processRelease([], { opts: {} }, 'v0.10.41', null)
76
77   t.equal(release.semver.version, '0.10.41')
78   delete release.semver
79
80   t.deepEqual(release, {
81     version: '0.10.41',
82     name: 'node',
83     baseUrl: 'https://nodejs.org/dist/v0.10.41/',
84     tarballUrl: 'https://nodejs.org/dist/v0.10.41/node-v0.10.41.tar.gz',
85     shasumsUrl: 'https://nodejs.org/dist/v0.10.41/SHASUMS256.txt',
86     versionDir: '0.10.41',
87     libUrl32: 'https://nodejs.org/dist/v0.10.41/node.lib',
88     libUrl64: 'https://nodejs.org/dist/v0.10.41/x64/node.lib',
89     libPath32: 'node.lib',
90     libPath64: 'x64/node.lib'
91   })
92 })
93
94 // has -headers.tar.gz
95 test('test process release - process.release ~ node@0.10.42', function (t) {
96   t.plan(2)
97
98   var release = processRelease([], { opts: {} }, 'v0.10.42', null)
99
100   t.equal(release.semver.version, '0.10.42')
101   delete release.semver
102
103   t.deepEqual(release, {
104     version: '0.10.42',
105     name: 'node',
106     baseUrl: 'https://nodejs.org/dist/v0.10.42/',
107     tarballUrl: 'https://nodejs.org/dist/v0.10.42/node-v0.10.42-headers.tar.gz',
108     shasumsUrl: 'https://nodejs.org/dist/v0.10.42/SHASUMS256.txt',
109     versionDir: '0.10.42',
110     libUrl32: 'https://nodejs.org/dist/v0.10.42/node.lib',
111     libUrl64: 'https://nodejs.org/dist/v0.10.42/x64/node.lib',
112     libPath32: 'node.lib',
113     libPath64: 'x64/node.lib'
114   })
115 })
116
117 // has -headers.tar.gz
118 test('test process release - process.release ~ node@0.12.10', function (t) {
119   t.plan(2)
120
121   var release = processRelease([], { opts: {} }, 'v0.12.10', null)
122
123   t.equal(release.semver.version, '0.12.10')
124   delete release.semver
125
126   t.deepEqual(release, {
127     version: '0.12.10',
128     name: 'node',
129     baseUrl: 'https://nodejs.org/dist/v0.12.10/',
130     tarballUrl: 'https://nodejs.org/dist/v0.12.10/node-v0.12.10-headers.tar.gz',
131     shasumsUrl: 'https://nodejs.org/dist/v0.12.10/SHASUMS256.txt',
132     versionDir: '0.12.10',
133     libUrl32: 'https://nodejs.org/dist/v0.12.10/node.lib',
134     libUrl64: 'https://nodejs.org/dist/v0.12.10/x64/node.lib',
135     libPath32: 'node.lib',
136     libPath64: 'x64/node.lib'
137   })
138 })
139
140 test('test process release - process.release ~ node@4.1.23', function (t) {
141   t.plan(2)
142
143   var release = processRelease([], { opts: {} }, 'v4.1.23', {
144     name: 'node',
145     headersUrl: 'https://nodejs.org/dist/v4.1.23/node-v4.1.23-headers.tar.gz'
146   })
147
148   t.equal(release.semver.version, '4.1.23')
149   delete release.semver
150
151   t.deepEqual(release, {
152     version: '4.1.23',
153     name: 'node',
154     baseUrl: 'https://nodejs.org/dist/v4.1.23/',
155     tarballUrl: 'https://nodejs.org/dist/v4.1.23/node-v4.1.23-headers.tar.gz',
156     shasumsUrl: 'https://nodejs.org/dist/v4.1.23/SHASUMS256.txt',
157     versionDir: '4.1.23',
158     libUrl32: 'https://nodejs.org/dist/v4.1.23/win-x86/node.lib',
159     libUrl64: 'https://nodejs.org/dist/v4.1.23/win-x64/node.lib',
160     libPath32: 'win-x86/node.lib',
161     libPath64: 'win-x64/node.lib'
162   })
163 })
164
165 test('test process release - process.release ~ node@4.1.23 / corp build', function (t) {
166   t.plan(2)
167
168   var release = processRelease([], { opts: {} }, 'v4.1.23', {
169     name: 'node',
170     headersUrl: 'https://some.custom.location/node-v4.1.23-headers.tar.gz'
171   })
172
173   t.equal(release.semver.version, '4.1.23')
174   delete release.semver
175
176   t.deepEqual(release, {
177     version: '4.1.23',
178     name: 'node',
179     baseUrl: 'https://some.custom.location/',
180     tarballUrl: 'https://some.custom.location/node-v4.1.23-headers.tar.gz',
181     shasumsUrl: 'https://some.custom.location/SHASUMS256.txt',
182     versionDir: '4.1.23',
183     libUrl32: 'https://some.custom.location/win-x86/node.lib',
184     libUrl64: 'https://some.custom.location/win-x64/node.lib',
185     libPath32: 'win-x86/node.lib',
186     libPath64: 'win-x64/node.lib'
187   })
188 })
189
190 test('test process release - process.version = 1.8.4', function (t) {
191   t.plan(2)
192
193   var release = processRelease([], { opts: {} }, 'v1.8.4', null)
194
195   t.equal(release.semver.version, '1.8.4')
196   delete release.semver
197
198   t.deepEqual(release, {
199     version: '1.8.4',
200     name: 'iojs',
201     baseUrl: 'https://iojs.org/download/release/v1.8.4/',
202     tarballUrl: 'https://iojs.org/download/release/v1.8.4/iojs-v1.8.4.tar.gz',
203     shasumsUrl: 'https://iojs.org/download/release/v1.8.4/SHASUMS256.txt',
204     versionDir: 'iojs-1.8.4',
205     libUrl32: 'https://iojs.org/download/release/v1.8.4/win-x86/iojs.lib',
206     libUrl64: 'https://iojs.org/download/release/v1.8.4/win-x64/iojs.lib',
207     libPath32: 'win-x86/iojs.lib',
208     libPath64: 'win-x64/iojs.lib'
209   })
210 })
211
212 test('test process release - process.release ~ iojs@3.2.24', function (t) {
213   t.plan(2)
214
215   var release = processRelease([], { opts: {} }, 'v3.2.24', {
216     name: 'io.js',
217     headersUrl: 'https://iojs.org/download/release/v3.2.24/iojs-v3.2.24-headers.tar.gz'
218   })
219
220   t.equal(release.semver.version, '3.2.24')
221   delete release.semver
222
223   t.deepEqual(release, {
224     version: '3.2.24',
225     name: 'iojs',
226     baseUrl: 'https://iojs.org/download/release/v3.2.24/',
227     tarballUrl: 'https://iojs.org/download/release/v3.2.24/iojs-v3.2.24-headers.tar.gz',
228     shasumsUrl: 'https://iojs.org/download/release/v3.2.24/SHASUMS256.txt',
229     versionDir: 'iojs-3.2.24',
230     libUrl32: 'https://iojs.org/download/release/v3.2.24/win-x86/iojs.lib',
231     libUrl64: 'https://iojs.org/download/release/v3.2.24/win-x64/iojs.lib',
232     libPath32: 'win-x86/iojs.lib',
233     libPath64: 'win-x64/iojs.lib'
234   })
235 })
236
237 test('test process release - process.release ~ iojs@3.2.11 +libUrl32', function (t) {
238   t.plan(2)
239
240   var release = processRelease([], { opts: {} }, 'v3.2.11', {
241     name: 'io.js',
242     headersUrl: 'https://iojs.org/download/release/v3.2.11/iojs-v3.2.11-headers.tar.gz',
243     libUrl: 'https://iojs.org/download/release/v3.2.11/win-x86/iojs.lib' // custom
244   })
245
246   t.equal(release.semver.version, '3.2.11')
247   delete release.semver
248
249   t.deepEqual(release, {
250     version: '3.2.11',
251     name: 'iojs',
252     baseUrl: 'https://iojs.org/download/release/v3.2.11/',
253     tarballUrl: 'https://iojs.org/download/release/v3.2.11/iojs-v3.2.11-headers.tar.gz',
254     shasumsUrl: 'https://iojs.org/download/release/v3.2.11/SHASUMS256.txt',
255     versionDir: 'iojs-3.2.11',
256     libUrl32: 'https://iojs.org/download/release/v3.2.11/win-x86/iojs.lib',
257     libUrl64: 'https://iojs.org/download/release/v3.2.11/win-x64/iojs.lib',
258     libPath32: 'win-x86/iojs.lib',
259     libPath64: 'win-x64/iojs.lib'
260   })
261 })
262
263 test('test process release - process.release ~ iojs@3.2.101 +libUrl64', function (t) {
264   t.plan(2)
265
266   var release = processRelease([], { opts: {} }, 'v3.2.101', {
267     name: 'io.js',
268     headersUrl: 'https://iojs.org/download/release/v3.2.101/iojs-v3.2.101-headers.tar.gz',
269     libUrl: 'https://iojs.org/download/release/v3.2.101/win-x64/iojs.lib' // custom
270   })
271
272   t.equal(release.semver.version, '3.2.101')
273   delete release.semver
274
275   t.deepEqual(release, {
276     version: '3.2.101',
277     name: 'iojs',
278     baseUrl: 'https://iojs.org/download/release/v3.2.101/',
279     tarballUrl: 'https://iojs.org/download/release/v3.2.101/iojs-v3.2.101-headers.tar.gz',
280     shasumsUrl: 'https://iojs.org/download/release/v3.2.101/SHASUMS256.txt',
281     versionDir: 'iojs-3.2.101',
282     libUrl32: 'https://iojs.org/download/release/v3.2.101/win-x86/iojs.lib',
283     libUrl64: 'https://iojs.org/download/release/v3.2.101/win-x64/iojs.lib',
284     libPath32: 'win-x86/iojs.lib',
285     libPath64: 'win-x64/iojs.lib'
286   })
287 })
288
289 test('test process release - process.release ~ iojs@3.3.0 - borked win-ia32', function (t) {
290   t.plan(2)
291
292   var release = processRelease([], { opts: {} }, 'v3.2.101', {
293     name: 'io.js',
294     headersUrl: 'https://iojs.org/download/release/v3.2.101/iojs-v3.2.101-headers.tar.gz',
295     libUrl: 'https://iojs.org/download/release/v3.2.101/win-ia32/iojs.lib' // custom
296   })
297
298   t.equal(release.semver.version, '3.2.101')
299   delete release.semver
300
301   t.deepEqual(release, {
302     version: '3.2.101',
303     name: 'iojs',
304     baseUrl: 'https://iojs.org/download/release/v3.2.101/',
305     tarballUrl: 'https://iojs.org/download/release/v3.2.101/iojs-v3.2.101-headers.tar.gz',
306     shasumsUrl: 'https://iojs.org/download/release/v3.2.101/SHASUMS256.txt',
307     versionDir: 'iojs-3.2.101',
308     libUrl32: 'https://iojs.org/download/release/v3.2.101/win-x86/iojs.lib',
309     libUrl64: 'https://iojs.org/download/release/v3.2.101/win-x64/iojs.lib',
310     libPath32: 'win-x86/iojs.lib',
311     libPath64: 'win-x64/iojs.lib'
312   })
313 })
314
315 test('test process release - process.release ~ node@4.1.23 --target=0.10.40', function (t) {
316   t.plan(2)
317
318   var release = processRelease([], { opts: { target: '0.10.40' } }, 'v4.1.23', {
319     name: 'node',
320     headersUrl: 'https://nodejs.org/dist/v4.1.23/node-v4.1.23-headers.tar.gz'
321   })
322
323   t.equal(release.semver.version, '0.10.40')
324   delete release.semver
325
326   t.deepEqual(release, {
327     version: '0.10.40',
328     name: 'node',
329     baseUrl: 'https://nodejs.org/dist/v0.10.40/',
330     tarballUrl: 'https://nodejs.org/dist/v0.10.40/node-v0.10.40.tar.gz',
331     shasumsUrl: 'https://nodejs.org/dist/v0.10.40/SHASUMS256.txt',
332     versionDir: '0.10.40',
333     libUrl32: 'https://nodejs.org/dist/v0.10.40/node.lib',
334     libUrl64: 'https://nodejs.org/dist/v0.10.40/x64/node.lib',
335     libPath32: 'node.lib',
336     libPath64: 'x64/node.lib'
337   })
338 })
339
340 test('test process release - process.release ~ node@4.1.23 --target=1.8.4', function (t) {
341   t.plan(2)
342
343   var release = processRelease([], { opts: { target: '1.8.4' } }, 'v4.1.23', {
344     name: 'node',
345     headersUrl: 'https://nodejs.org/dist/v4.1.23/node-v4.1.23-headers.tar.gz'
346   })
347
348   t.equal(release.semver.version, '1.8.4')
349   delete release.semver
350
351   t.deepEqual(release, {
352     version: '1.8.4',
353     name: 'iojs',
354     baseUrl: 'https://iojs.org/download/release/v1.8.4/',
355     tarballUrl: 'https://iojs.org/download/release/v1.8.4/iojs-v1.8.4.tar.gz',
356     shasumsUrl: 'https://iojs.org/download/release/v1.8.4/SHASUMS256.txt',
357     versionDir: 'iojs-1.8.4',
358     libUrl32: 'https://iojs.org/download/release/v1.8.4/win-x86/iojs.lib',
359     libUrl64: 'https://iojs.org/download/release/v1.8.4/win-x64/iojs.lib',
360     libPath32: 'win-x86/iojs.lib',
361     libPath64: 'win-x64/iojs.lib'
362   })
363 })
364
365 test('test process release - process.release ~ node@4.1.23 --dist-url=https://foo.bar/baz', function (t) {
366   t.plan(2)
367
368   var release = processRelease([], { opts: { 'dist-url': 'https://foo.bar/baz' } }, 'v4.1.23', {
369     name: 'node',
370     headersUrl: 'https://nodejs.org/dist/v4.1.23/node-v4.1.23-headers.tar.gz'
371   })
372
373   t.equal(release.semver.version, '4.1.23')
374   delete release.semver
375
376   t.deepEqual(release, {
377     version: '4.1.23',
378     name: 'node',
379     baseUrl: 'https://foo.bar/baz/v4.1.23/',
380     tarballUrl: 'https://foo.bar/baz/v4.1.23/node-v4.1.23-headers.tar.gz',
381     shasumsUrl: 'https://foo.bar/baz/v4.1.23/SHASUMS256.txt',
382     versionDir: '4.1.23',
383     libUrl32: 'https://foo.bar/baz/v4.1.23/win-x86/node.lib',
384     libUrl64: 'https://foo.bar/baz/v4.1.23/win-x64/node.lib',
385     libPath32: 'win-x86/node.lib',
386     libPath64: 'win-x64/node.lib'
387   })
388 })
389
390 test('test process release - process.release ~ frankenstein@4.1.23', function (t) {
391   t.plan(2)
392
393   var release = processRelease([], { opts: {} }, 'v4.1.23', {
394     name: 'frankenstein',
395     headersUrl: 'https://frankensteinjs.org/dist/v4.1.23/frankenstein-v4.1.23-headers.tar.gz'
396   })
397
398   t.equal(release.semver.version, '4.1.23')
399   delete release.semver
400
401   t.deepEqual(release, {
402     version: '4.1.23',
403     name: 'frankenstein',
404     baseUrl: 'https://frankensteinjs.org/dist/v4.1.23/',
405     tarballUrl: 'https://frankensteinjs.org/dist/v4.1.23/frankenstein-v4.1.23-headers.tar.gz',
406     shasumsUrl: 'https://frankensteinjs.org/dist/v4.1.23/SHASUMS256.txt',
407     versionDir: 'frankenstein-4.1.23',
408     libUrl32: 'https://frankensteinjs.org/dist/v4.1.23/win-x86/frankenstein.lib',
409     libUrl64: 'https://frankensteinjs.org/dist/v4.1.23/win-x64/frankenstein.lib',
410     libPath32: 'win-x86/frankenstein.lib',
411     libPath64: 'win-x64/frankenstein.lib'
412   })
413 })
414
415
416 test('test process release - process.release ~ frankenstein@4.1.23 --dist-url=http://foo.bar/baz/', function (t) {
417   t.plan(2)
418
419   var release = processRelease([], { opts: { 'dist-url': 'http://foo.bar/baz/' } }, 'v4.1.23', {
420     name: 'frankenstein',
421     headersUrl: 'https://frankensteinjs.org/dist/v4.1.23/frankenstein-v4.1.23.tar.gz'
422   })
423
424   t.equal(release.semver.version, '4.1.23')
425   delete release.semver
426
427   t.deepEqual(release, {
428     version: '4.1.23',
429     name: 'frankenstein',
430     baseUrl: 'http://foo.bar/baz/v4.1.23/',
431     tarballUrl: 'http://foo.bar/baz/v4.1.23/frankenstein-v4.1.23-headers.tar.gz',
432     shasumsUrl: 'http://foo.bar/baz/v4.1.23/SHASUMS256.txt',
433     versionDir: 'frankenstein-4.1.23',
434     libUrl32: 'http://foo.bar/baz/v4.1.23/win-x86/frankenstein.lib',
435     libUrl64: 'http://foo.bar/baz/v4.1.23/win-x64/frankenstein.lib',
436     libPath32: 'win-x86/frankenstein.lib',
437     libPath64: 'win-x64/frankenstein.lib'
438   })
439 })
440
441 test('test process release - process.release ~ node@4.0.0-rc.4', function (t) {
442   t.plan(2)
443
444   var release = processRelease([], { opts: {} }, 'v4.0.0-rc.4', {
445     name: 'node',
446     headersUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/node-v4.0.0-rc.4-headers.tar.gz'
447   })
448
449   t.equal(release.semver.version, '4.0.0-rc.4')
450   delete release.semver
451
452   t.deepEqual(release, {
453     version: '4.0.0-rc.4',
454     name: 'node',
455     baseUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/',
456     tarballUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/node-v4.0.0-rc.4-headers.tar.gz',
457     shasumsUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/SHASUMS256.txt',
458     versionDir: '4.0.0-rc.4',
459     libUrl32: 'https://nodejs.org/download/rc/v4.0.0-rc.4/win-x86/node.lib',
460     libUrl64: 'https://nodejs.org/download/rc/v4.0.0-rc.4/win-x64/node.lib',
461     libPath32: 'win-x86/node.lib',
462     libPath64: 'win-x64/node.lib'
463   })
464 })
465
466
467 test('test process release - process.release ~ node@4.0.0-rc.4 passed as argv[0]', function (t) {
468   t.plan(2)
469
470   // note the missing 'v' on the arg, it should normalise when checking
471   // whether we're on the default or not
472   var release = processRelease([ '4.0.0-rc.4' ], { opts: {} }, 'v4.0.0-rc.4', {
473     name: 'node',
474     headersUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/node-v4.0.0-rc.4-headers.tar.gz'
475   })
476
477   t.equal(release.semver.version, '4.0.0-rc.4')
478   delete release.semver
479
480   t.deepEqual(release, {
481     version: '4.0.0-rc.4',
482     name: 'node',
483     baseUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/',
484     tarballUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/node-v4.0.0-rc.4-headers.tar.gz',
485     shasumsUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/SHASUMS256.txt',
486     versionDir: '4.0.0-rc.4',
487     libUrl32: 'https://nodejs.org/download/rc/v4.0.0-rc.4/win-x86/node.lib',
488     libUrl64: 'https://nodejs.org/download/rc/v4.0.0-rc.4/win-x64/node.lib',
489     libPath32: 'win-x86/node.lib',
490     libPath64: 'win-x64/node.lib'
491   })
492 })
493
494
495 test('test process release - process.release ~ node@4.0.0-rc.4 - bogus string passed as argv[0]', function (t) {
496   t.plan(2)
497
498   // additional arguments can be passed in on the commandline that should be ignored if they
499   // are not specifying a valid version @ position 0
500   var release = processRelease([ 'this is no version!' ], { opts: {} }, 'v4.0.0-rc.4', {
501     name: 'node',
502     headersUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/node-v4.0.0-rc.4-headers.tar.gz'
503   })
504
505   t.equal(release.semver.version, '4.0.0-rc.4')
506   delete release.semver
507
508   t.deepEqual(release, {
509     version: '4.0.0-rc.4',
510     name: 'node',
511     baseUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/',
512     tarballUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/node-v4.0.0-rc.4-headers.tar.gz',
513     shasumsUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/SHASUMS256.txt',
514     versionDir: '4.0.0-rc.4',
515     libUrl32: 'https://nodejs.org/download/rc/v4.0.0-rc.4/win-x86/node.lib',
516     libUrl64: 'https://nodejs.org/download/rc/v4.0.0-rc.4/win-x64/node.lib',
517     libPath32: 'win-x86/node.lib',
518     libPath64: 'win-x64/node.lib'
519   })
520 })
521
522 test('test process release - NODEJS_ORG_MIRROR', function (t) {
523   t.plan(2)
524
525   process.env.NODEJS_ORG_MIRROR = 'http://foo.bar'
526
527   var release = processRelease([], { opts: {} }, 'v4.1.23', {
528     name: 'node',
529     headersUrl: 'https://nodejs.org/dist/v4.1.23/node-v4.1.23-headers.tar.gz'
530   })
531
532   t.equal(release.semver.version, '4.1.23')
533   delete release.semver
534
535   t.deepEqual(release, {
536     version: '4.1.23',
537     name: 'node',
538     baseUrl: 'http://foo.bar/v4.1.23/',
539     tarballUrl: 'http://foo.bar/v4.1.23/node-v4.1.23-headers.tar.gz',
540     shasumsUrl: 'http://foo.bar/v4.1.23/SHASUMS256.txt',
541     versionDir: '4.1.23',
542     libUrl32: 'http://foo.bar/v4.1.23/win-x86/node.lib',
543     libUrl64: 'http://foo.bar/v4.1.23/win-x64/node.lib',
544     libPath32: 'win-x86/node.lib',
545     libPath64: 'win-x64/node.lib'
546   })
547
548   delete process.env.NODEJS_ORG_MIRROR
549 })
550
551 test('test process release - NVM_NODEJS_ORG_MIRROR', function (t) {
552   t.plan(2)
553
554   process.env.NVM_NODEJS_ORG_MIRROR = 'http://foo.bar'
555
556   var release = processRelease([], { opts: {} }, 'v4.1.23', {
557     name: 'node',
558     headersUrl: 'https://nodejs.org/dist/v4.1.23/node-v4.1.23-headers.tar.gz'
559   })
560
561   t.equal(release.semver.version, '4.1.23')
562   delete release.semver
563
564   t.deepEqual(release, {
565     version: '4.1.23',
566     name: 'node',
567     baseUrl: 'http://foo.bar/v4.1.23/',
568     tarballUrl: 'http://foo.bar/v4.1.23/node-v4.1.23-headers.tar.gz',
569     shasumsUrl: 'http://foo.bar/v4.1.23/SHASUMS256.txt',
570     versionDir: '4.1.23',
571     libUrl32: 'http://foo.bar/v4.1.23/win-x86/node.lib',
572     libUrl64: 'http://foo.bar/v4.1.23/win-x64/node.lib',
573     libPath32: 'win-x86/node.lib',
574     libPath64: 'win-x64/node.lib'
575   })
576
577   delete process.env.NVM_NODEJS_ORG_MIRROR
578 })
579
580 test('test process release - IOJS_ORG_MIRROR', function (t) {
581   t.plan(2)
582
583   process.env.IOJS_ORG_MIRROR = 'http://foo.bar'
584
585   var release = processRelease([], { opts: {} }, 'v3.2.24', {
586     name: 'io.js',
587     headersUrl: 'https://iojs.org/download/release/v3.2.24/iojs-v3.2.24-headers.tar.gz'
588   })
589
590   t.equal(release.semver.version, '3.2.24')
591   delete release.semver
592
593   t.deepEqual(release, {
594     version: '3.2.24',
595     name: 'iojs',
596     baseUrl: 'http://foo.bar/v3.2.24/',
597     tarballUrl: 'http://foo.bar/v3.2.24/iojs-v3.2.24-headers.tar.gz',
598     shasumsUrl: 'http://foo.bar/v3.2.24/SHASUMS256.txt',
599     versionDir: 'iojs-3.2.24',
600     libUrl32: 'http://foo.bar/v3.2.24/win-x86/iojs.lib',
601     libUrl64: 'http://foo.bar/v3.2.24/win-x64/iojs.lib',
602     libPath32: 'win-x86/iojs.lib',
603     libPath64: 'win-x64/iojs.lib'
604   })
605
606   delete process.env.IOJS_ORG_MIRROR
607 })
608
609
610 test('test process release - NVM_IOJS_ORG_MIRROR', function (t) {
611   t.plan(2)
612
613   process.env.NVM_IOJS_ORG_MIRROR = 'http://foo.bar'
614
615   var release = processRelease([], { opts: {} }, 'v3.2.24', {
616     name: 'io.js',
617     headersUrl: 'https://iojs.org/download/release/v3.2.24/iojs-v3.2.24-headers.tar.gz'
618   })
619
620   t.equal(release.semver.version, '3.2.24')
621   delete release.semver
622
623   t.deepEqual(release, {
624     version: '3.2.24',
625     name: 'iojs',
626     baseUrl: 'http://foo.bar/v3.2.24/',
627     tarballUrl: 'http://foo.bar/v3.2.24/iojs-v3.2.24-headers.tar.gz',
628     shasumsUrl: 'http://foo.bar/v3.2.24/SHASUMS256.txt',
629     versionDir: 'iojs-3.2.24',
630     libUrl32: 'http://foo.bar/v3.2.24/win-x86/iojs.lib',
631     libUrl64: 'http://foo.bar/v3.2.24/win-x64/iojs.lib',
632     libPath32: 'win-x86/iojs.lib',
633     libPath64: 'win-x64/iojs.lib'
634   })
635
636   delete process.env.NVM_IOJS_ORG_MIRROR
637 })