deps: upgrade to npm 2.14.4
[platform/upstream/nodejs.git] / deps / npm / 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 test('test process release - process.version = 0.12.22', function (t) {
49   t.plan(2)
50
51   var release = processRelease([], { opts: {} }, 'v0.12.22', null)
52
53   t.equal(release.semver.version, '0.12.22')
54   delete release.semver
55
56   t.deepEqual(release, {
57     version: '0.12.22',
58     name: 'node',
59     baseUrl: 'https://nodejs.org/dist/v0.12.22/',
60     tarballUrl: 'https://nodejs.org/dist/v0.12.22/node-v0.12.22.tar.gz',
61     shasumsUrl: 'https://nodejs.org/dist/v0.12.22/SHASUMS256.txt',
62     versionDir: '0.12.22',
63     libUrl32: 'https://nodejs.org/dist/v0.12.22/node.lib',
64     libUrl64: 'https://nodejs.org/dist/v0.12.22/x64/node.lib',
65     libPath32: 'node.lib',
66     libPath64: 'x64/node.lib'
67   })
68 })
69
70 test('test process release - process.release ~ node@4.1.23', function (t) {
71   t.plan(2)
72
73   var release = processRelease([], { opts: {} }, 'v4.1.23', {
74     name: 'node',
75     headersUrl: 'https://nodejs.org/dist/v4.1.23/node-v4.1.23-headers.tar.gz'
76   })
77
78   t.equal(release.semver.version, '4.1.23')
79   delete release.semver
80
81   t.deepEqual(release, {
82     version: '4.1.23',
83     name: 'node',
84     baseUrl: 'https://nodejs.org/dist/v4.1.23/',
85     tarballUrl: 'https://nodejs.org/dist/v4.1.23/node-v4.1.23-headers.tar.gz',
86     shasumsUrl: 'https://nodejs.org/dist/v4.1.23/SHASUMS256.txt',
87     versionDir: '4.1.23',
88     libUrl32: 'https://nodejs.org/dist/v4.1.23/win-x86/node.lib',
89     libUrl64: 'https://nodejs.org/dist/v4.1.23/win-x64/node.lib',
90     libPath32: 'win-x86/node.lib',
91     libPath64: 'win-x64/node.lib'
92   })
93 })
94
95 test('test process release - process.release ~ node@4.1.23 / corp build', function (t) {
96   t.plan(2)
97
98   var release = processRelease([], { opts: {} }, 'v4.1.23', {
99     name: 'node',
100     headersUrl: 'https://some.custom.location/node-v4.1.23-headers.tar.gz'
101   })
102
103   t.equal(release.semver.version, '4.1.23')
104   delete release.semver
105
106   t.deepEqual(release, {
107     version: '4.1.23',
108     name: 'node',
109     baseUrl: 'https://some.custom.location/',
110     tarballUrl: 'https://some.custom.location/node-v4.1.23-headers.tar.gz',
111     shasumsUrl: 'https://some.custom.location/SHASUMS256.txt',
112     versionDir: '4.1.23',
113     libUrl32: 'https://some.custom.location/win-x86/node.lib',
114     libUrl64: 'https://some.custom.location/win-x64/node.lib',
115     libPath32: 'win-x86/node.lib',
116     libPath64: 'win-x64/node.lib'
117   })
118 })
119
120 test('test process release - process.version = 1.8.4', function (t) {
121   t.plan(2)
122
123   var release = processRelease([], { opts: {} }, 'v1.8.4', null)
124
125   t.equal(release.semver.version, '1.8.4')
126   delete release.semver
127
128   t.deepEqual(release, {
129     version: '1.8.4',
130     name: 'iojs',
131     baseUrl: 'https://iojs.org/download/release/v1.8.4/',
132     tarballUrl: 'https://iojs.org/download/release/v1.8.4/iojs-v1.8.4.tar.gz',
133     shasumsUrl: 'https://iojs.org/download/release/v1.8.4/SHASUMS256.txt',
134     versionDir: 'iojs-1.8.4',
135     libUrl32: 'https://iojs.org/download/release/v1.8.4/win-x86/iojs.lib',
136     libUrl64: 'https://iojs.org/download/release/v1.8.4/win-x64/iojs.lib',
137     libPath32: 'win-x86/iojs.lib',
138     libPath64: 'win-x64/iojs.lib'
139   })
140 })
141
142 test('test process release - process.release ~ iojs@3.2.24', function (t) {
143   t.plan(2)
144
145   var release = processRelease([], { opts: {} }, 'v3.2.24', {
146     name: 'io.js',
147     headersUrl: 'https://iojs.org/download/release/v3.2.24/iojs-v3.2.24-headers.tar.gz'
148   })
149
150   t.equal(release.semver.version, '3.2.24')
151   delete release.semver
152
153   t.deepEqual(release, {
154     version: '3.2.24',
155     name: 'iojs',
156     baseUrl: 'https://iojs.org/download/release/v3.2.24/',
157     tarballUrl: 'https://iojs.org/download/release/v3.2.24/iojs-v3.2.24-headers.tar.gz',
158     shasumsUrl: 'https://iojs.org/download/release/v3.2.24/SHASUMS256.txt',
159     versionDir: 'iojs-3.2.24',
160     libUrl32: 'https://iojs.org/download/release/v3.2.24/win-x86/iojs.lib',
161     libUrl64: 'https://iojs.org/download/release/v3.2.24/win-x64/iojs.lib',
162     libPath32: 'win-x86/iojs.lib',
163     libPath64: 'win-x64/iojs.lib'
164   })
165 })
166
167 test('test process release - process.release ~ iojs@3.2.11 +libUrl32', function (t) {
168   t.plan(2)
169
170   var release = processRelease([], { opts: {} }, 'v3.2.11', {
171     name: 'io.js',
172     headersUrl: 'https://iojs.org/download/release/v3.2.11/iojs-v3.2.11-headers.tar.gz',
173     libUrl: 'https://iojs.org/download/release/v3.2.11/win-x86/iojs.lib' // custom
174   })
175
176   t.equal(release.semver.version, '3.2.11')
177   delete release.semver
178
179   t.deepEqual(release, {
180     version: '3.2.11',
181     name: 'iojs',
182     baseUrl: 'https://iojs.org/download/release/v3.2.11/',
183     tarballUrl: 'https://iojs.org/download/release/v3.2.11/iojs-v3.2.11-headers.tar.gz',
184     shasumsUrl: 'https://iojs.org/download/release/v3.2.11/SHASUMS256.txt',
185     versionDir: 'iojs-3.2.11',
186     libUrl32: 'https://iojs.org/download/release/v3.2.11/win-x86/iojs.lib',
187     libUrl64: 'https://iojs.org/download/release/v3.2.11/win-x64/iojs.lib',
188     libPath32: 'win-x86/iojs.lib',
189     libPath64: 'win-x64/iojs.lib'
190   })
191 })
192
193 test('test process release - process.release ~ iojs@3.2.101 +libUrl64', function (t) {
194   t.plan(2)
195
196   var release = processRelease([], { opts: {} }, 'v3.2.101', {
197     name: 'io.js',
198     headersUrl: 'https://iojs.org/download/release/v3.2.101/iojs-v3.2.101-headers.tar.gz',
199     libUrl: 'https://iojs.org/download/release/v3.2.101/win-x64/iojs.lib' // custom
200   })
201
202   t.equal(release.semver.version, '3.2.101')
203   delete release.semver
204
205   t.deepEqual(release, {
206     version: '3.2.101',
207     name: 'iojs',
208     baseUrl: 'https://iojs.org/download/release/v3.2.101/',
209     tarballUrl: 'https://iojs.org/download/release/v3.2.101/iojs-v3.2.101-headers.tar.gz',
210     shasumsUrl: 'https://iojs.org/download/release/v3.2.101/SHASUMS256.txt',
211     versionDir: 'iojs-3.2.101',
212     libUrl32: 'https://iojs.org/download/release/v3.2.101/win-x86/iojs.lib',
213     libUrl64: 'https://iojs.org/download/release/v3.2.101/win-x64/iojs.lib',
214     libPath32: 'win-x86/iojs.lib',
215     libPath64: 'win-x64/iojs.lib'
216   })
217 })
218
219 test('test process release - process.release ~ iojs@3.3.0 - borked win-ia32', function (t) {
220   t.plan(2)
221
222   var release = processRelease([], { opts: {} }, 'v3.2.101', {
223     name: 'io.js',
224     headersUrl: 'https://iojs.org/download/release/v3.2.101/iojs-v3.2.101-headers.tar.gz',
225     libUrl: 'https://iojs.org/download/release/v3.2.101/win-ia32/iojs.lib' // custom
226   })
227
228   t.equal(release.semver.version, '3.2.101')
229   delete release.semver
230
231   t.deepEqual(release, {
232     version: '3.2.101',
233     name: 'iojs',
234     baseUrl: 'https://iojs.org/download/release/v3.2.101/',
235     tarballUrl: 'https://iojs.org/download/release/v3.2.101/iojs-v3.2.101-headers.tar.gz',
236     shasumsUrl: 'https://iojs.org/download/release/v3.2.101/SHASUMS256.txt',
237     versionDir: 'iojs-3.2.101',
238     libUrl32: 'https://iojs.org/download/release/v3.2.101/win-x86/iojs.lib',
239     libUrl64: 'https://iojs.org/download/release/v3.2.101/win-x64/iojs.lib',
240     libPath32: 'win-x86/iojs.lib',
241     libPath64: 'win-x64/iojs.lib'
242   })
243 })
244
245 test('test process release - process.release ~ node@4.1.23 --target=0.10.40', function (t) {
246   t.plan(2)
247
248   var release = processRelease([], { opts: { target: '0.10.40' } }, 'v4.1.23', {
249     name: 'node',
250     headersUrl: 'https://nodejs.org/dist/v4.1.23/node-v4.1.23-headers.tar.gz'
251   })
252
253   t.equal(release.semver.version, '0.10.40')
254   delete release.semver
255
256   t.deepEqual(release, {
257     version: '0.10.40',
258     name: 'node',
259     baseUrl: 'https://nodejs.org/dist/v0.10.40/',
260     tarballUrl: 'https://nodejs.org/dist/v0.10.40/node-v0.10.40.tar.gz',
261     shasumsUrl: 'https://nodejs.org/dist/v0.10.40/SHASUMS256.txt',
262     versionDir: '0.10.40',
263     libUrl32: 'https://nodejs.org/dist/v0.10.40/node.lib',
264     libUrl64: 'https://nodejs.org/dist/v0.10.40/x64/node.lib',
265     libPath32: 'node.lib',
266     libPath64: 'x64/node.lib'
267   })
268 })
269
270 test('test process release - process.release ~ node@4.1.23 --target=1.8.4', function (t) {
271   t.plan(2)
272
273   var release = processRelease([], { opts: { target: '1.8.4' } }, 'v4.1.23', {
274     name: 'node',
275     headersUrl: 'https://nodejs.org/dist/v4.1.23/node-v4.1.23-headers.tar.gz'
276   })
277
278   t.equal(release.semver.version, '1.8.4')
279   delete release.semver
280
281   t.deepEqual(release, {
282     version: '1.8.4',
283     name: 'iojs',
284     baseUrl: 'https://iojs.org/download/release/v1.8.4/',
285     tarballUrl: 'https://iojs.org/download/release/v1.8.4/iojs-v1.8.4.tar.gz',
286     shasumsUrl: 'https://iojs.org/download/release/v1.8.4/SHASUMS256.txt',
287     versionDir: 'iojs-1.8.4',
288     libUrl32: 'https://iojs.org/download/release/v1.8.4/win-x86/iojs.lib',
289     libUrl64: 'https://iojs.org/download/release/v1.8.4/win-x64/iojs.lib',
290     libPath32: 'win-x86/iojs.lib',
291     libPath64: 'win-x64/iojs.lib'
292   })
293 })
294
295 test('test process release - process.release ~ node@4.1.23 --dist-url=https://foo.bar/baz', function (t) {
296   t.plan(2)
297
298   var release = processRelease([], { opts: { 'dist-url': 'https://foo.bar/baz' } }, 'v4.1.23', {
299     name: 'node',
300     headersUrl: 'https://nodejs.org/dist/v4.1.23/node-v4.1.23-headers.tar.gz'
301   })
302
303   t.equal(release.semver.version, '4.1.23')
304   delete release.semver
305
306   t.deepEqual(release, {
307     version: '4.1.23',
308     name: 'node',
309     baseUrl: 'https://foo.bar/baz/v4.1.23/',
310     tarballUrl: 'https://foo.bar/baz/v4.1.23/node-v4.1.23-headers.tar.gz',
311     shasumsUrl: 'https://foo.bar/baz/v4.1.23/SHASUMS256.txt',
312     versionDir: '4.1.23',
313     libUrl32: 'https://foo.bar/baz/v4.1.23/win-x86/node.lib',
314     libUrl64: 'https://foo.bar/baz/v4.1.23/win-x64/node.lib',
315     libPath32: 'win-x86/node.lib',
316     libPath64: 'win-x64/node.lib'
317   })
318 })
319
320 test('test process release - process.release ~ frankenstein@4.1.23', function (t) {
321   t.plan(2)
322
323   var release = processRelease([], { opts: {} }, 'v4.1.23', {
324     name: 'frankenstein',
325     headersUrl: 'https://frankensteinjs.org/dist/v4.1.23/frankenstein-v4.1.23-headers.tar.gz'
326   })
327
328   t.equal(release.semver.version, '4.1.23')
329   delete release.semver
330
331   t.deepEqual(release, {
332     version: '4.1.23',
333     name: 'frankenstein',
334     baseUrl: 'https://frankensteinjs.org/dist/v4.1.23/',
335     tarballUrl: 'https://frankensteinjs.org/dist/v4.1.23/frankenstein-v4.1.23-headers.tar.gz',
336     shasumsUrl: 'https://frankensteinjs.org/dist/v4.1.23/SHASUMS256.txt',
337     versionDir: 'frankenstein-4.1.23',
338     libUrl32: 'https://frankensteinjs.org/dist/v4.1.23/win-x86/frankenstein.lib',
339     libUrl64: 'https://frankensteinjs.org/dist/v4.1.23/win-x64/frankenstein.lib',
340     libPath32: 'win-x86/frankenstein.lib',
341     libPath64: 'win-x64/frankenstein.lib'
342   })
343 })
344
345
346 test('test process release - process.release ~ frankenstein@4.1.23 --dist-url=http://foo.bar/baz/', function (t) {
347   t.plan(2)
348
349   var release = processRelease([], { opts: { 'dist-url': 'http://foo.bar/baz/' } }, 'v4.1.23', {
350     name: 'frankenstein',
351     headersUrl: 'https://frankensteinjs.org/dist/v4.1.23/frankenstein-v4.1.23.tar.gz'
352   })
353
354   t.equal(release.semver.version, '4.1.23')
355   delete release.semver
356
357   t.deepEqual(release, {
358     version: '4.1.23',
359     name: 'frankenstein',
360     baseUrl: 'http://foo.bar/baz/v4.1.23/',
361     tarballUrl: 'http://foo.bar/baz/v4.1.23/frankenstein-v4.1.23-headers.tar.gz',
362     shasumsUrl: 'http://foo.bar/baz/v4.1.23/SHASUMS256.txt',
363     versionDir: 'frankenstein-4.1.23',
364     libUrl32: 'http://foo.bar/baz/v4.1.23/win-x86/frankenstein.lib',
365     libUrl64: 'http://foo.bar/baz/v4.1.23/win-x64/frankenstein.lib',
366     libPath32: 'win-x86/frankenstein.lib',
367     libPath64: 'win-x64/frankenstein.lib'
368   })
369 })
370
371 test('test process release - process.release ~ node@4.0.0-rc.4', function (t) {
372   t.plan(2)
373
374   var release = processRelease([], { opts: {} }, 'v4.0.0-rc.4', {
375     name: 'node',
376     headersUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/node-v4.0.0-rc.4-headers.tar.gz'
377   })
378
379   t.equal(release.semver.version, '4.0.0-rc.4')
380   delete release.semver
381
382   t.deepEqual(release, {
383     version: '4.0.0-rc.4',
384     name: 'node',
385     baseUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/',
386     tarballUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/node-v4.0.0-rc.4-headers.tar.gz',
387     shasumsUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/SHASUMS256.txt',
388     versionDir: '4.0.0-rc.4',
389     libUrl32: 'https://nodejs.org/download/rc/v4.0.0-rc.4/win-x86/node.lib',
390     libUrl64: 'https://nodejs.org/download/rc/v4.0.0-rc.4/win-x64/node.lib',
391     libPath32: 'win-x86/node.lib',
392     libPath64: 'win-x64/node.lib'
393   })
394 })
395
396
397 test('test process release - process.release ~ node@4.0.0-rc.4 passed as argv[0]', function (t) {
398   t.plan(2)
399
400   // note the missing 'v' on the arg, it should normalise when checking
401   // whether we're on the default or not
402   var release = processRelease([ '4.0.0-rc.4' ], { opts: {} }, 'v4.0.0-rc.4', {
403     name: 'node',
404     headersUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/node-v4.0.0-rc.4-headers.tar.gz'
405   })
406
407   t.equal(release.semver.version, '4.0.0-rc.4')
408   delete release.semver
409
410   t.deepEqual(release, {
411     version: '4.0.0-rc.4',
412     name: 'node',
413     baseUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/',
414     tarballUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/node-v4.0.0-rc.4-headers.tar.gz',
415     shasumsUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/SHASUMS256.txt',
416     versionDir: '4.0.0-rc.4',
417     libUrl32: 'https://nodejs.org/download/rc/v4.0.0-rc.4/win-x86/node.lib',
418     libUrl64: 'https://nodejs.org/download/rc/v4.0.0-rc.4/win-x64/node.lib',
419     libPath32: 'win-x86/node.lib',
420     libPath64: 'win-x64/node.lib'
421   })
422 })
423