@@ -18,12 +18,16 @@ nock("https://api.github.com")
18
18
body : "notes" ,
19
19
assets : [
20
20
{
21
- name : "mac.zip" ,
22
- browser_download_url : "mac.zip" ,
21
+ name : "app- mac.zip" ,
22
+ browser_download_url : "app- mac.zip" ,
23
23
} ,
24
24
{
25
- name : "mac-arm64.zip" ,
26
- browser_download_url : "mac-arm64.zip" ,
25
+ name : "app-mac-arm64.zip" ,
26
+ browser_download_url : "app-mac-arm64.zip" ,
27
+ } ,
28
+ {
29
+ name : "app-universal-mac.zip" ,
30
+ browser_download_url : "app-universal-mac.zip" ,
27
31
} ,
28
32
{
29
33
name : "electron-fiddle-1.0.0-win32-x64-setup.exe" ,
@@ -48,12 +52,12 @@ nock("https://api.github.com")
48
52
body : "notes" ,
49
53
assets : [
50
54
{
51
- name : "mac.zip" ,
52
- browser_download_url : "mac.zip" ,
55
+ name : "app- mac.zip" ,
56
+ browser_download_url : "app- mac.zip" ,
53
57
} ,
54
58
{
55
- name : "mac-arm64.zip" ,
56
- browser_download_url : "mac-arm64.zip" ,
59
+ name : "app- mac-arm64.zip" ,
60
+ browser_download_url : "app- mac-arm64.zip" ,
57
61
} ,
58
62
] ,
59
63
} ,
@@ -70,12 +74,49 @@ nock("https://api.github.com")
70
74
body : "notes" ,
71
75
assets : [
72
76
{
73
- name : "darwin.zip" ,
74
- browser_download_url : "darwin.zip" ,
77
+ name : "app-darwin.zip" ,
78
+ browser_download_url : "app-darwin.zip" ,
79
+ } ,
80
+ {
81
+ name : "app-darwin-arm64.zip" ,
82
+ browser_download_url : "app-darwin-arm64.zip" ,
75
83
} ,
76
84
{
77
- name : "darwin-arm64.zip" ,
78
- browser_download_url : "darwin-arm64.zip" ,
85
+ name : "app-universal-mac.zip" ,
86
+ browser_download_url : "app-universal-mac.zip" ,
87
+ } ,
88
+ ] ,
89
+ } ,
90
+ ] )
91
+ . get ( "/repos/owner/repo-universal/releases?per_page=100" )
92
+ . reply ( 200 , [
93
+ {
94
+ name : "name" ,
95
+ tag_name : "v2.0.0" ,
96
+ body : "notes" ,
97
+ assets : [
98
+ {
99
+ name : "app-universal-mac.zip" ,
100
+ browser_download_url : "app-universal-mac.zip" ,
101
+ } ,
102
+ {
103
+ name : "app-arm64-mac.zip" ,
104
+ browser_download_url : "app-arm64-mac.zip" ,
105
+ } ,
106
+ ] ,
107
+ } ,
108
+ {
109
+ name : "name" ,
110
+ tag_name : "v1.0.0" ,
111
+ body : "notes" ,
112
+ assets : [
113
+ {
114
+ name : "app-mac.zip" ,
115
+ browser_download_url : "app-mac.zip" ,
116
+ } ,
117
+ {
118
+ name : "app-arm64-mac.zip" ,
119
+ browser_download_url : "app-arm64-mac.zip" ,
79
120
} ,
80
121
] ,
81
122
} ,
@@ -154,12 +195,12 @@ nock("https://api.github.com")
154
195
body : "notes" ,
155
196
assets : [
156
197
{
157
- name : "mac.zip" ,
158
- browser_download_url : "mac.zip" ,
198
+ name : "app- mac.zip" ,
199
+ browser_download_url : "app- mac.zip" ,
159
200
} ,
160
201
{
161
- name : "mac-arm64.zip" ,
162
- browser_download_url : "mac-arm64.zip" ,
202
+ name : "app- mac-arm64.zip" ,
203
+ browser_download_url : "app- mac-arm64.zip" ,
163
204
} ,
164
205
{
165
206
name : "electron-fiddle-0.36.0-win32-x64-setup.exe" ,
@@ -184,12 +225,12 @@ nock("https://api.github.com")
184
225
body : "notes" ,
185
226
assets : [
186
227
{
187
- name : "mac.zip" ,
188
- browser_download_url : "mac.zip" ,
228
+ name : "app- mac.zip" ,
229
+ browser_download_url : "app- mac.zip" ,
189
230
} ,
190
231
{
191
- name : "mac-arm64.zip" ,
192
- browser_download_url : "mac-arm64.zip" ,
232
+ name : "app- mac-arm64.zip" ,
233
+ browser_download_url : "app- mac-arm64.zip" ,
193
234
} ,
194
235
{
195
236
name : "electron-fiddle-1.0.0-win32-x64-setup.exe" ,
@@ -243,7 +284,7 @@ test("Updates", async (t) => {
243
284
const body = await res . json ( ) ;
244
285
t . same ( body , {
245
286
name : "name" ,
246
- url : "mac.zip" ,
287
+ url : "app- mac.zip" ,
247
288
notes : "notes" ,
248
289
} ) ;
249
290
}
@@ -309,32 +350,44 @@ test("Updates", async (t) => {
309
350
let res = await fetch ( `${ address } /owner/repo/darwin-x64/0.0.0` ) ;
310
351
t . equal ( res . status , 200 ) ;
311
352
let body = await res . json ( ) ;
312
- t . equal ( body . url , "mac.zip" ) ;
353
+ t . equal ( body . url , "app- mac.zip" ) ;
313
354
314
355
res = await fetch ( `${ address } /owner/repo/darwin-arm64/0.0.0` ) ;
315
356
t . equal ( res . status , 200 ) ;
316
357
body = await res . json ( ) ;
317
- t . equal ( body . url , "mac-arm64.zip" ) ;
358
+ t . equal ( body . url , "app- mac-arm64.zip" ) ;
318
359
319
360
res = await fetch ( `${ address } /owner/repo/darwin/0.0.0` ) ;
320
361
t . equal ( res . status , 200 ) ;
321
362
body = await res . json ( ) ;
322
- t . equal ( body . url , "mac.zip" ) ;
363
+ t . equal ( body . url , "app-mac.zip" ) ;
364
+
365
+ res = await fetch ( `${ address } /owner/repo/darwin-universal/0.0.0` ) ;
366
+ t . equal ( res . status , 200 ) ;
367
+ body = await res . json ( ) ;
368
+ t . equal ( body . url , "app-universal-mac.zip" ) ;
323
369
324
370
res = await fetch ( `${ address } /owner/repo-darwin/darwin-x64/0.0.0` ) ;
325
371
t . equal ( res . status , 200 ) ;
326
372
body = await res . json ( ) ;
327
- t . match ( body . url , "darwin.zip" ) ;
373
+ t . match ( body . url , "app- darwin.zip" ) ;
328
374
329
375
res = await fetch ( `${ address } /owner/repo-darwin/darwin-arm64/0.0.0` ) ;
330
376
t . equal ( res . status , 200 ) ;
331
377
body = await res . json ( ) ;
332
- t . match ( body . url , "darwin-arm64.zip" ) ;
378
+ t . match ( body . url , "app- darwin-arm64.zip" ) ;
333
379
334
380
res = await fetch ( `${ address } /owner/repo-darwin/darwin/0.0.0` ) ;
335
381
t . equal ( res . status , 200 ) ;
336
382
body = await res . json ( ) ;
337
- t . match ( body . url , "darwin.zip" ) ;
383
+ t . match ( body . url , "app-darwin.zip" ) ;
384
+
385
+ res = await fetch (
386
+ `${ address } /owner/repo-darwin/darwin-universal/0.0.0`
387
+ ) ;
388
+ t . equal ( res . status , 200 ) ;
389
+ body = await res . json ( ) ;
390
+ t . match ( body . url , "app-universal-mac.zip" ) ;
338
391
}
339
392
} ) ;
340
393
@@ -346,15 +399,41 @@ test("Updates", async (t) => {
346
399
let body = await res . text ( ) ;
347
400
t . equal (
348
401
body ,
349
- "No updates found (needs asset matching * (mac|darwin|osx).*(-arm ).*.zip in public repository)"
402
+ "No updates found (needs asset matching .*- (mac|darwin|osx).*.zip in public repository)"
350
403
) ;
351
404
352
405
res = await fetch ( `${ address } /owner/repo-win32-zip/darwin/0.0.0` ) ;
353
406
t . equal ( res . status , 404 ) ;
354
407
body = await res . text ( ) ;
355
408
t . equal (
356
409
body ,
357
- "No updates found (needs asset matching *(mac|darwin|osx).*(-arm).*.zip in public repository)"
410
+ "No updates found (needs asset matching .*-(mac|darwin|osx).*.zip in public repository)"
411
+ ) ;
412
+ } ) ;
413
+
414
+ await t . test ( "darwin universal assets" , async ( t ) => {
415
+ await t . test (
416
+ "use universal asset if platform-specific asset not available" ,
417
+ async ( t ) => {
418
+ let res = await fetch (
419
+ `${ address } /owner/repo-universal/darwin-x64/0.0.0`
420
+ ) ;
421
+ t . equal ( res . status , 200 ) ;
422
+ let body = await res . json ( ) ;
423
+ t . match ( body . url , "app-universal-mac.zip" ) ;
424
+ }
425
+ ) ;
426
+
427
+ await t . test (
428
+ "skip universal asset if platform-specific asset available" ,
429
+ async ( t ) => {
430
+ let res = await fetch (
431
+ `${ address } /owner/repo-universal/darwin-arm64/0.0.0`
432
+ ) ;
433
+ t . equal ( res . status , 200 ) ;
434
+ let body = await res . json ( ) ;
435
+ t . match ( body . url , "app-arm64-mac.zip" ) ;
436
+ }
358
437
) ;
359
438
} ) ;
360
439
} ) ;
@@ -491,7 +570,7 @@ test("Updates", async (t) => {
491
570
const body = await res . text ( ) ;
492
571
t . equal (
493
572
body ,
494
- 'Unsupported platform: "linux". Supported: darwin-x64, darwin-arm64, win32-x64, win32-ia32, win32-arm64.'
573
+ 'Unsupported platform: "linux". Supported: darwin-x64, darwin-arm64, darwin-universal, win32-x64, win32-ia32, win32-arm64.'
495
574
) ;
496
575
} ) ;
497
576
} ) ;
@@ -503,7 +582,7 @@ test("Updates", async (t) => {
503
582
const body = await res . text ( ) ;
504
583
t . equal (
505
584
body ,
506
- 'Unsupported platform: "os". Supported: darwin-x64, darwin-arm64, win32-x64, win32-ia32, win32-arm64.'
585
+ 'Unsupported platform: "os". Supported: darwin-x64, darwin-arm64, darwin-universal, win32-x64, win32-ia32, win32-arm64.'
507
586
) ;
508
587
} ) ;
509
588
} ) ;
0 commit comments