cdnget 0.1.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGES.md +42 -0
- data/README.md +12 -4
- data/Rakefile +3 -3
- data/bin/cdnget +382 -120
- data/cdnget.gemspec +6 -6
- data/lib/cdnget.rb +382 -120
- data/test/cdnget_test.rb +667 -101
- metadata +9 -8
data/test/cdnget_test.rb
CHANGED
@@ -54,6 +54,7 @@ describe CDNGet do
|
|
54
54
|
expected = <<END
|
55
55
|
cdnjs # https://cdnjs.com/
|
56
56
|
jsdelivr # https://www.jsdelivr.com/
|
57
|
+
unpkg # https://unpkg.com/
|
57
58
|
google # https://developers.google.com/speed/libraries/
|
58
59
|
#jquery # https://code.jquery.com/
|
59
60
|
#aspnet # https://www.asp.net/ajax/cdn/
|
@@ -69,24 +70,31 @@ END
|
|
69
70
|
|
70
71
|
it "(cdnjs) lists librareis." do
|
71
72
|
actual = CDNGet::Main.new().run("cdnjs")
|
72
|
-
ok {actual} =~ /^jquery #
|
73
|
-
ok {actual} =~ /^angular\.js # framework
|
74
|
-
ok {actual} =~ /^
|
75
|
-
ok {actual} =~ /^ember\.js # ember, ember.js$/
|
73
|
+
ok {actual} =~ /^jquery # JavaScript library for DOM operations$/
|
74
|
+
ok {actual} =~ /^angular\.js # AngularJS is an MVC framework for building web applications\./
|
75
|
+
ok {actual} =~ /^ember\.js # Ember is a JavaScript framework for creating ambitious web applications that eliminates boilerplate and provides a standard application architecture\./
|
76
76
|
end
|
77
77
|
|
78
78
|
it "(google) lists librareis." do
|
79
79
|
actual = CDNGet::Main.new().run("google")
|
80
80
|
ok {actual} =~ /^jquery /
|
81
|
-
ok {actual} =~ /^angularjs /
|
81
|
+
#ok {actual} =~ /^angularjs /
|
82
|
+
ok {actual} =~ /^swfobject /
|
82
83
|
ok {actual} =~ /^webfont /
|
83
84
|
end
|
84
85
|
|
85
86
|
it "(jsdelivr) lists librareis." do
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
ok {
|
87
|
+
exc = assert_raises(CDNGet::CommandError) do
|
88
|
+
actual = CDNGet::Main.new().run("jsdelivr")
|
89
|
+
end
|
90
|
+
ok {exc.message} == "jsdelivr: cannot list libraries; please specify pattern such as 'jquery*'."
|
91
|
+
end
|
92
|
+
|
93
|
+
it "(unpkg) lists librareis." do
|
94
|
+
exc = assert_raises(CDNGet::CommandError) do
|
95
|
+
actual = CDNGet::Main.new().run("unpkg")
|
96
|
+
end
|
97
|
+
ok {exc.message} == "unpkg: cannot list libraries; please specify pattern such as 'jquery*'."
|
90
98
|
end
|
91
99
|
|
92
100
|
end
|
@@ -114,11 +122,19 @@ END
|
|
114
122
|
it "(jsdelivr) lists libraries starting to pattern." do
|
115
123
|
actual = CDNGet::Main.new().run("jsdelivr", "jquery*")
|
116
124
|
ok {actual} =~ /^jquery #/
|
117
|
-
ok {actual} =~ /^jquery
|
125
|
+
ok {actual} =~ /^jquery-datepicker #/ # match
|
118
126
|
ok {actual} !~ /^angularjs/
|
119
127
|
ok {actual} !~ /^bootstrap/
|
120
128
|
end
|
121
129
|
|
130
|
+
it "(unpkg) lists libraries starting to pattern." do
|
131
|
+
actual = CDNGet::Main.new().run("unpkg", "jquery*")
|
132
|
+
ok {actual} =~ /^jquery #/
|
133
|
+
ok {actual} =~ /^jquery-ui #/ # match
|
134
|
+
ok {actual} !~ /^jquery\.ui /
|
135
|
+
ok {actual} !~ /^bootstrap/
|
136
|
+
end
|
137
|
+
|
122
138
|
end
|
123
139
|
|
124
140
|
|
@@ -144,7 +160,15 @@ END
|
|
144
160
|
it "(jsdelivr) lists libraries ending to pattern." do
|
145
161
|
actual = CDNGet::Main.new().run("jsdelivr", "*jquery")
|
146
162
|
ok {actual} =~ /^jquery #/
|
147
|
-
ok {actual} !~ /^jquery
|
163
|
+
ok {actual} !~ /^jquery-datepicker / # not match
|
164
|
+
ok {actual} !~ /^angularjs/
|
165
|
+
ok {actual} !~ /^bootstrap/
|
166
|
+
end
|
167
|
+
|
168
|
+
it "(unpkg) lists libraries ending to pattern." do
|
169
|
+
actual = CDNGet::Main.new().run("unpkg", "*jquery")
|
170
|
+
ok {actual} =~ /^jquery #/
|
171
|
+
ok {actual} !~ /^jquery-ui #/ # not match
|
148
172
|
ok {actual} !~ /^angularjs/
|
149
173
|
ok {actual} !~ /^bootstrap/
|
150
174
|
end
|
@@ -172,11 +196,21 @@ END
|
|
172
196
|
ok {actual} =~ /^swfobject /
|
173
197
|
end
|
174
198
|
|
175
|
-
it "(
|
199
|
+
it "(jsdelivr) lists libraries including pattern." do
|
176
200
|
actual = CDNGet::Main.new().run("jsdelivr", "*jquery*")
|
177
201
|
ok {actual} =~ /^jquery /
|
178
|
-
ok {actual} =~ /^jasmine
|
179
|
-
ok {actual} =~ /^jquery
|
202
|
+
ok {actual} =~ /^jasmine-jquery /
|
203
|
+
ok {actual} =~ /^jquery-form /
|
204
|
+
ok {actual} !~ /^angularjs/
|
205
|
+
ok {actual} !~ /^react/
|
206
|
+
end
|
207
|
+
|
208
|
+
it "(unpkg) lists libraries including pattern." do
|
209
|
+
actual = CDNGet::Main.new().run("unpkg", "*jquery*")
|
210
|
+
ok {actual} =~ /^jquery /
|
211
|
+
ok {actual} =~ /^jquery-csv /
|
212
|
+
ok {actual} =~ /^jquery\.terminal /
|
213
|
+
ok {actual} =~ /^nd-jquery /
|
180
214
|
ok {actual} !~ /^angularjs/
|
181
215
|
ok {actual} !~ /^bootstrap/
|
182
216
|
end
|
@@ -189,9 +223,12 @@ END
|
|
189
223
|
it "(cdnjs) lists versions of library." do
|
190
224
|
actual = CDNGet::Main.new().run("cdnjs", "jquery")
|
191
225
|
text1 = <<END
|
192
|
-
name:
|
193
|
-
desc:
|
194
|
-
tags:
|
226
|
+
name: jquery
|
227
|
+
desc: JavaScript library for DOM operations
|
228
|
+
tags: jquery, library, ajax, framework, toolkit, popular
|
229
|
+
site: http://jquery.com/
|
230
|
+
info: https://cdnjs.com/libraries/jquery
|
231
|
+
license: MIT
|
195
232
|
versions:
|
196
233
|
END
|
197
234
|
ok {actual}.start_with?(text1)
|
@@ -210,8 +247,9 @@ END
|
|
210
247
|
it "(google) lists versions of library." do
|
211
248
|
actual = CDNGet::Main.new().run("google", "jquery")
|
212
249
|
text1 = <<END
|
213
|
-
name:
|
214
|
-
site:
|
250
|
+
name: jquery
|
251
|
+
site: http://jquery.com/
|
252
|
+
info: https://developers.google.com/speed/libraries/#jquery
|
215
253
|
versions:
|
216
254
|
END
|
217
255
|
ok {actual}.start_with?(text1)
|
@@ -230,18 +268,46 @@ END
|
|
230
268
|
it "(jsdelivr) lists versions of library." do
|
231
269
|
actual = CDNGet::Main.new().run("jsdelivr", "jquery")
|
232
270
|
text1 = <<END
|
233
|
-
name:
|
234
|
-
desc:
|
235
|
-
|
271
|
+
name: jquery
|
272
|
+
desc: JavaScript library for DOM operations
|
273
|
+
tags: jquery, javascript, browser, library
|
274
|
+
site: https://jquery.com
|
275
|
+
info: https://www.jsdelivr.com/package/npm/jquery
|
276
|
+
license: MIT
|
236
277
|
versions:
|
237
278
|
END
|
238
279
|
ok {actual}.start_with?(text1)
|
239
280
|
text2 = <<END
|
281
|
+
- 1.8.2
|
282
|
+
- 1.7.3
|
240
283
|
- 1.7.2
|
241
|
-
- 1.
|
242
|
-
- 1.
|
284
|
+
- 1.6.3
|
285
|
+
- 1.6.2
|
286
|
+
- 1.5.1
|
287
|
+
END
|
288
|
+
ok {actual}.end_with?(text2)
|
289
|
+
ok {actual} =~ /^ - 2\.2\.0$/
|
290
|
+
ok {actual} =~ /^ - 1\.12\.0$/
|
291
|
+
end
|
292
|
+
|
293
|
+
it "(unpkg) lists versions of library." do
|
294
|
+
actual = CDNGet::Main.new().run("unpkg", "jquery")
|
295
|
+
text1 = <<END
|
296
|
+
name: jquery
|
297
|
+
desc: JavaScript library for DOM operations
|
298
|
+
tags: jquery, javascript, browser, library
|
299
|
+
site: https://jquery.com
|
300
|
+
info: https://unpkg.com/browse/jquery/
|
301
|
+
license: MIT
|
302
|
+
versions:
|
303
|
+
END
|
304
|
+
ok {actual}.start_with?(text1)
|
305
|
+
text2 = <<END
|
306
|
+
- 1.7.3
|
307
|
+
- 1.7.2
|
308
|
+
- 1.6.3
|
309
|
+
- 1.6.2
|
243
310
|
- 1.5.1
|
244
|
-
- 1.4.4
|
245
311
|
END
|
246
312
|
ok {actual}.end_with?(text2)
|
247
313
|
ok {actual} =~ /^ - 2\.2\.0$/
|
@@ -262,8 +328,13 @@ END
|
|
262
328
|
end
|
263
329
|
|
264
330
|
it "(jsdelivr) raises error when library name is wrong." do
|
265
|
-
pr = proc { CDNGet::Main.new().run("
|
266
|
-
ok {pr}.raise?(CDNGet::CommandError, "jquery-
|
331
|
+
pr = proc { CDNGet::Main.new().run("jsdelivr", "jquery-foobar") }
|
332
|
+
ok {pr}.raise?(CDNGet::CommandError, "jquery-foobar: Library not found.")
|
333
|
+
end
|
334
|
+
|
335
|
+
it "(unpkg) raises error when library name is wrong." do
|
336
|
+
pr = proc { CDNGet::Main.new().run("unpkg", "jquery-foobar") }
|
337
|
+
ok {pr}.raise?(CDNGet::CommandError, "jquery-foobar: Library not found.")
|
267
338
|
end
|
268
339
|
|
269
340
|
end
|
@@ -275,6 +346,11 @@ END
|
|
275
346
|
expected = <<END
|
276
347
|
name: jquery
|
277
348
|
version: 2.2.0
|
349
|
+
desc: JavaScript library for DOM operations
|
350
|
+
tags: jquery, library, ajax, framework, toolkit, popular
|
351
|
+
site: http://jquery.com/
|
352
|
+
info: https://cdnjs.com/libraries/jquery/2.2.0
|
353
|
+
license: MIT
|
278
354
|
urls:
|
279
355
|
- https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.0/jquery.js
|
280
356
|
- https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.0/jquery.min.js
|
@@ -289,6 +365,7 @@ END
|
|
289
365
|
name: jquery
|
290
366
|
version: 2.2.0
|
291
367
|
site: http://jquery.com/
|
368
|
+
info: https://developers.google.com/speed/libraries/#jquery
|
292
369
|
urls:
|
293
370
|
- https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js
|
294
371
|
END
|
@@ -300,25 +377,185 @@ END
|
|
300
377
|
expected = <<END
|
301
378
|
name: jquery
|
302
379
|
version: 2.2.0
|
380
|
+
desc: JavaScript library for DOM operations
|
381
|
+
tags: jquery, javascript, browser, library
|
382
|
+
site: https://jquery.com
|
383
|
+
info: https://www.jsdelivr.com/package/npm/jquery?version=2.2.0
|
384
|
+
npmpkg: https://registry.npmjs.org/jquery/-/jquery-2.2.0.tgz
|
385
|
+
default: /dist/jquery.min.js
|
386
|
+
license: MIT
|
303
387
|
urls:
|
304
|
-
- https://cdn.jsdelivr.net/jquery
|
305
|
-
- https://cdn.jsdelivr.net/jquery
|
306
|
-
- https://cdn.jsdelivr.net/jquery
|
388
|
+
- https://cdn.jsdelivr.net/npm/jquery@2.2.0/AUTHORS.txt
|
389
|
+
- https://cdn.jsdelivr.net/npm/jquery@2.2.0/bower.json
|
390
|
+
- https://cdn.jsdelivr.net/npm/jquery@2.2.0/dist/jquery.js
|
391
|
+
- https://cdn.jsdelivr.net/npm/jquery@2.2.0/dist/jquery.min.js
|
392
|
+
- https://cdn.jsdelivr.net/npm/jquery@2.2.0/dist/jquery.min.map
|
393
|
+
- https://cdn.jsdelivr.net/npm/jquery@2.2.0/LICENSE.txt
|
307
394
|
END
|
308
395
|
actual = CDNGet::Main.new().run("jsdelivr", "jquery", "2.2.0")
|
396
|
+
ok {actual}.start_with?(expected)
|
397
|
+
end
|
398
|
+
|
399
|
+
it "(unpkg) lists files." do
|
400
|
+
expected = <<END
|
401
|
+
name: jquery
|
402
|
+
version: 3.6.0
|
403
|
+
desc: JavaScript library for DOM operations
|
404
|
+
tags: jquery, javascript, browser, library
|
405
|
+
site: https://jquery.com
|
406
|
+
info: https://unpkg.com/browse/jquery@3.6.0/
|
407
|
+
npmpkg: https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz
|
408
|
+
default: /dist/jquery.min.js
|
409
|
+
license: MIT
|
410
|
+
urls:
|
411
|
+
- https://unpkg.com/jquery@3.6.0/AUTHORS.txt
|
412
|
+
- https://unpkg.com/jquery@3.6.0/bower.json
|
413
|
+
- https://unpkg.com/jquery@3.6.0/dist/jquery.js
|
414
|
+
- https://unpkg.com/jquery@3.6.0/dist/jquery.min.js
|
415
|
+
- https://unpkg.com/jquery@3.6.0/dist/jquery.min.map
|
416
|
+
- https://unpkg.com/jquery@3.6.0/dist/jquery.slim.js
|
417
|
+
- https://unpkg.com/jquery@3.6.0/dist/jquery.slim.min.js
|
418
|
+
- https://unpkg.com/jquery@3.6.0/dist/jquery.slim.min.map
|
419
|
+
- https://unpkg.com/jquery@3.6.0/external/sizzle/dist/sizzle.js
|
420
|
+
- https://unpkg.com/jquery@3.6.0/external/sizzle/dist/sizzle.min.js
|
421
|
+
- https://unpkg.com/jquery@3.6.0/external/sizzle/dist/sizzle.min.map
|
422
|
+
- https://unpkg.com/jquery@3.6.0/external/sizzle/LICENSE.txt
|
423
|
+
- https://unpkg.com/jquery@3.6.0/LICENSE.txt
|
424
|
+
- https://unpkg.com/jquery@3.6.0/package.json
|
425
|
+
- https://unpkg.com/jquery@3.6.0/README.md
|
426
|
+
- https://unpkg.com/jquery@3.6.0/src/ajax.js
|
427
|
+
- https://unpkg.com/jquery@3.6.0/src/ajax/jsonp.js
|
428
|
+
- https://unpkg.com/jquery@3.6.0/src/ajax/load.js
|
429
|
+
- https://unpkg.com/jquery@3.6.0/src/ajax/script.js
|
430
|
+
- https://unpkg.com/jquery@3.6.0/src/ajax/var/location.js
|
431
|
+
- https://unpkg.com/jquery@3.6.0/src/ajax/var/nonce.js
|
432
|
+
- https://unpkg.com/jquery@3.6.0/src/ajax/var/rquery.js
|
433
|
+
- https://unpkg.com/jquery@3.6.0/src/ajax/xhr.js
|
434
|
+
- https://unpkg.com/jquery@3.6.0/src/attributes.js
|
435
|
+
- https://unpkg.com/jquery@3.6.0/src/attributes/attr.js
|
436
|
+
- https://unpkg.com/jquery@3.6.0/src/attributes/classes.js
|
437
|
+
- https://unpkg.com/jquery@3.6.0/src/attributes/prop.js
|
438
|
+
- https://unpkg.com/jquery@3.6.0/src/attributes/support.js
|
439
|
+
- https://unpkg.com/jquery@3.6.0/src/attributes/val.js
|
440
|
+
- https://unpkg.com/jquery@3.6.0/src/callbacks.js
|
441
|
+
- https://unpkg.com/jquery@3.6.0/src/core.js
|
442
|
+
- https://unpkg.com/jquery@3.6.0/src/core/access.js
|
443
|
+
- https://unpkg.com/jquery@3.6.0/src/core/camelCase.js
|
444
|
+
- https://unpkg.com/jquery@3.6.0/src/core/DOMEval.js
|
445
|
+
- https://unpkg.com/jquery@3.6.0/src/core/init.js
|
446
|
+
- https://unpkg.com/jquery@3.6.0/src/core/isAttached.js
|
447
|
+
- https://unpkg.com/jquery@3.6.0/src/core/nodeName.js
|
448
|
+
- https://unpkg.com/jquery@3.6.0/src/core/parseHTML.js
|
449
|
+
- https://unpkg.com/jquery@3.6.0/src/core/parseXML.js
|
450
|
+
- https://unpkg.com/jquery@3.6.0/src/core/ready.js
|
451
|
+
- https://unpkg.com/jquery@3.6.0/src/core/ready-no-deferred.js
|
452
|
+
- https://unpkg.com/jquery@3.6.0/src/core/readyException.js
|
453
|
+
- https://unpkg.com/jquery@3.6.0/src/core/stripAndCollapse.js
|
454
|
+
- https://unpkg.com/jquery@3.6.0/src/core/support.js
|
455
|
+
- https://unpkg.com/jquery@3.6.0/src/core/toType.js
|
456
|
+
- https://unpkg.com/jquery@3.6.0/src/core/var/rsingleTag.js
|
457
|
+
- https://unpkg.com/jquery@3.6.0/src/css.js
|
458
|
+
- https://unpkg.com/jquery@3.6.0/src/css/addGetHookIf.js
|
459
|
+
- https://unpkg.com/jquery@3.6.0/src/css/adjustCSS.js
|
460
|
+
- https://unpkg.com/jquery@3.6.0/src/css/curCSS.js
|
461
|
+
- https://unpkg.com/jquery@3.6.0/src/css/finalPropName.js
|
462
|
+
- https://unpkg.com/jquery@3.6.0/src/css/hiddenVisibleSelectors.js
|
463
|
+
- https://unpkg.com/jquery@3.6.0/src/css/showHide.js
|
464
|
+
- https://unpkg.com/jquery@3.6.0/src/css/support.js
|
465
|
+
- https://unpkg.com/jquery@3.6.0/src/css/var/cssExpand.js
|
466
|
+
- https://unpkg.com/jquery@3.6.0/src/css/var/getStyles.js
|
467
|
+
- https://unpkg.com/jquery@3.6.0/src/css/var/isHiddenWithinTree.js
|
468
|
+
- https://unpkg.com/jquery@3.6.0/src/css/var/rboxStyle.js
|
469
|
+
- https://unpkg.com/jquery@3.6.0/src/css/var/rnumnonpx.js
|
470
|
+
- https://unpkg.com/jquery@3.6.0/src/css/var/swap.js
|
471
|
+
- https://unpkg.com/jquery@3.6.0/src/data.js
|
472
|
+
- https://unpkg.com/jquery@3.6.0/src/data/Data.js
|
473
|
+
- https://unpkg.com/jquery@3.6.0/src/data/var/acceptData.js
|
474
|
+
- https://unpkg.com/jquery@3.6.0/src/data/var/dataPriv.js
|
475
|
+
- https://unpkg.com/jquery@3.6.0/src/data/var/dataUser.js
|
476
|
+
- https://unpkg.com/jquery@3.6.0/src/deferred.js
|
477
|
+
- https://unpkg.com/jquery@3.6.0/src/deferred/exceptionHook.js
|
478
|
+
- https://unpkg.com/jquery@3.6.0/src/deprecated.js
|
479
|
+
- https://unpkg.com/jquery@3.6.0/src/deprecated/ajax-event-alias.js
|
480
|
+
- https://unpkg.com/jquery@3.6.0/src/deprecated/event.js
|
481
|
+
- https://unpkg.com/jquery@3.6.0/src/dimensions.js
|
482
|
+
- https://unpkg.com/jquery@3.6.0/src/effects.js
|
483
|
+
- https://unpkg.com/jquery@3.6.0/src/effects/animatedSelector.js
|
484
|
+
- https://unpkg.com/jquery@3.6.0/src/effects/Tween.js
|
485
|
+
- https://unpkg.com/jquery@3.6.0/src/event.js
|
486
|
+
- https://unpkg.com/jquery@3.6.0/src/event/focusin.js
|
487
|
+
- https://unpkg.com/jquery@3.6.0/src/event/support.js
|
488
|
+
- https://unpkg.com/jquery@3.6.0/src/event/trigger.js
|
489
|
+
- https://unpkg.com/jquery@3.6.0/src/exports/amd.js
|
490
|
+
- https://unpkg.com/jquery@3.6.0/src/exports/global.js
|
491
|
+
- https://unpkg.com/jquery@3.6.0/src/jquery.js
|
492
|
+
- https://unpkg.com/jquery@3.6.0/src/manipulation.js
|
493
|
+
- https://unpkg.com/jquery@3.6.0/src/manipulation/_evalUrl.js
|
494
|
+
- https://unpkg.com/jquery@3.6.0/src/manipulation/buildFragment.js
|
495
|
+
- https://unpkg.com/jquery@3.6.0/src/manipulation/getAll.js
|
496
|
+
- https://unpkg.com/jquery@3.6.0/src/manipulation/setGlobalEval.js
|
497
|
+
- https://unpkg.com/jquery@3.6.0/src/manipulation/support.js
|
498
|
+
- https://unpkg.com/jquery@3.6.0/src/manipulation/var/rscriptType.js
|
499
|
+
- https://unpkg.com/jquery@3.6.0/src/manipulation/var/rtagName.js
|
500
|
+
- https://unpkg.com/jquery@3.6.0/src/manipulation/wrapMap.js
|
501
|
+
- https://unpkg.com/jquery@3.6.0/src/offset.js
|
502
|
+
- https://unpkg.com/jquery@3.6.0/src/queue.js
|
503
|
+
- https://unpkg.com/jquery@3.6.0/src/queue/delay.js
|
504
|
+
- https://unpkg.com/jquery@3.6.0/src/selector.js
|
505
|
+
- https://unpkg.com/jquery@3.6.0/src/selector-native.js
|
506
|
+
- https://unpkg.com/jquery@3.6.0/src/selector-sizzle.js
|
507
|
+
- https://unpkg.com/jquery@3.6.0/src/serialize.js
|
508
|
+
- https://unpkg.com/jquery@3.6.0/src/traversing.js
|
509
|
+
- https://unpkg.com/jquery@3.6.0/src/traversing/findFilter.js
|
510
|
+
- https://unpkg.com/jquery@3.6.0/src/traversing/var/dir.js
|
511
|
+
- https://unpkg.com/jquery@3.6.0/src/traversing/var/rneedsContext.js
|
512
|
+
- https://unpkg.com/jquery@3.6.0/src/traversing/var/siblings.js
|
513
|
+
- https://unpkg.com/jquery@3.6.0/src/var/arr.js
|
514
|
+
- https://unpkg.com/jquery@3.6.0/src/var/class2type.js
|
515
|
+
- https://unpkg.com/jquery@3.6.0/src/var/document.js
|
516
|
+
- https://unpkg.com/jquery@3.6.0/src/var/documentElement.js
|
517
|
+
- https://unpkg.com/jquery@3.6.0/src/var/flat.js
|
518
|
+
- https://unpkg.com/jquery@3.6.0/src/var/fnToString.js
|
519
|
+
- https://unpkg.com/jquery@3.6.0/src/var/getProto.js
|
520
|
+
- https://unpkg.com/jquery@3.6.0/src/var/hasOwn.js
|
521
|
+
- https://unpkg.com/jquery@3.6.0/src/var/indexOf.js
|
522
|
+
- https://unpkg.com/jquery@3.6.0/src/var/isFunction.js
|
523
|
+
- https://unpkg.com/jquery@3.6.0/src/var/isWindow.js
|
524
|
+
- https://unpkg.com/jquery@3.6.0/src/var/ObjectFunctionString.js
|
525
|
+
- https://unpkg.com/jquery@3.6.0/src/var/pnum.js
|
526
|
+
- https://unpkg.com/jquery@3.6.0/src/var/push.js
|
527
|
+
- https://unpkg.com/jquery@3.6.0/src/var/rcheckableType.js
|
528
|
+
- https://unpkg.com/jquery@3.6.0/src/var/rcssNum.js
|
529
|
+
- https://unpkg.com/jquery@3.6.0/src/var/rnothtmlwhite.js
|
530
|
+
- https://unpkg.com/jquery@3.6.0/src/var/slice.js
|
531
|
+
- https://unpkg.com/jquery@3.6.0/src/var/support.js
|
532
|
+
- https://unpkg.com/jquery@3.6.0/src/var/toString.js
|
533
|
+
- https://unpkg.com/jquery@3.6.0/src/wrap.js
|
534
|
+
END
|
535
|
+
actual = CDNGet::Main.new().run("unpkg", "jquery", "3.6.0")
|
309
536
|
ok {actual} == expected
|
310
537
|
end
|
311
538
|
|
312
539
|
it "(cdnjs) lists files containing subdirectory." do
|
313
540
|
expected = <<END
|
314
|
-
name:
|
315
|
-
version:
|
541
|
+
name: jquery-jcrop
|
542
|
+
version: 0.9.12
|
543
|
+
desc: Jcrop is the quick and easy way to add image cropping functionality to your web application.
|
544
|
+
tags: jquery, crop
|
545
|
+
site: http://deepliquid.com/content/Jcrop.html
|
546
|
+
info: https://cdnjs.com/libraries/jquery-jcrop/0.9.12
|
547
|
+
license: MIT
|
316
548
|
urls:
|
317
|
-
- https://cdnjs.cloudflare.com/ajax/libs/
|
318
|
-
- https://cdnjs.cloudflare.com/ajax/libs/
|
319
|
-
- https://cdnjs.cloudflare.com/ajax/libs/
|
549
|
+
- https://cdnjs.cloudflare.com/ajax/libs/jquery-jcrop/0.9.12/css/Jcrop.gif
|
550
|
+
- https://cdnjs.cloudflare.com/ajax/libs/jquery-jcrop/0.9.12/css/jquery.Jcrop.css
|
551
|
+
- https://cdnjs.cloudflare.com/ajax/libs/jquery-jcrop/0.9.12/css/jquery.Jcrop.min.css
|
552
|
+
- https://cdnjs.cloudflare.com/ajax/libs/jquery-jcrop/0.9.12/js/jquery.Jcrop.js
|
553
|
+
- https://cdnjs.cloudflare.com/ajax/libs/jquery-jcrop/0.9.12/js/jquery.Jcrop.min.js
|
554
|
+
- https://cdnjs.cloudflare.com/ajax/libs/jquery-jcrop/0.9.12/js/jquery.color.js
|
555
|
+
- https://cdnjs.cloudflare.com/ajax/libs/jquery-jcrop/0.9.12/js/jquery.color.min.js
|
556
|
+
- https://cdnjs.cloudflare.com/ajax/libs/jquery-jcrop/0.9.12/js/jquery.min.js
|
320
557
|
END
|
321
|
-
actual = CDNGet::Main.new().run("cdnjs", "
|
558
|
+
actual = CDNGet::Main.new().run("cdnjs", "jquery-jcrop", "0.9.12")
|
322
559
|
ok {actual} == expected
|
323
560
|
end
|
324
561
|
|
@@ -341,7 +578,12 @@ END
|
|
341
578
|
|
342
579
|
it "(jsdelivr) raises error when library name is wrong." do
|
343
580
|
pr = proc { CDNGet::Main.new().run("jsdelivr", "jquery-ui", "1.9.2") }
|
344
|
-
ok {pr}.raise?(CDNGet::CommandError, "jquery-ui: Library not found.")
|
581
|
+
ok {pr}.raise?(CDNGet::CommandError, "jquery-ui@1.9.2: Library or version not found.")
|
582
|
+
end
|
583
|
+
|
584
|
+
it "(unpkg) raises error when library name is wrong." do
|
585
|
+
pr = proc { CDNGet::Main.new().run("unpkg", "jquery-foobar", "1.9.2") }
|
586
|
+
ok {pr}.raise?(CDNGet::CommandError, "jquery-foobar: Library not found.")
|
345
587
|
end
|
346
588
|
|
347
589
|
end
|
@@ -349,13 +591,56 @@ END
|
|
349
591
|
|
350
592
|
describe "cdnget CDN jquery 2.2.0 dir" do
|
351
593
|
|
352
|
-
def _do_download_test1(cdn_code)
|
353
|
-
tmpdir = "tmpdir1"
|
594
|
+
def _do_download_test1(cdn_code, library="jquery", version="2.2.0")
|
595
|
+
@tmpdir = tmpdir = "tmpdir1"
|
596
|
+
Dir.mkdir(tmpdir)
|
597
|
+
sout, serr = capture_io() do
|
598
|
+
actual = CDNGet::Main.new().run(cdn_code, library, version, tmpdir)
|
599
|
+
end
|
600
|
+
yield tmpdir, sout, serr
|
601
|
+
ensure
|
602
|
+
FileUtils.rm_r(tmpdir) if File.directory?(tmpdir)
|
603
|
+
end
|
604
|
+
|
605
|
+
def _do_download_test2(cdn_code, library="jquery-jcrop", version="0.9.12")
|
606
|
+
@tmpdir = tmpdir = "tmpdir1"
|
607
|
+
Dir.mkdir(tmpdir)
|
608
|
+
sout, serr = capture_io() do
|
609
|
+
actual = CDNGet::Main.new().run(cdn_code, library, version, tmpdir)
|
610
|
+
end
|
611
|
+
yield tmpdir, sout, serr
|
612
|
+
ensure
|
613
|
+
FileUtils.rm_r(tmpdir) if File.directory?(tmpdir)
|
614
|
+
end
|
615
|
+
|
616
|
+
def _do_download_test3(cdn_code, libname, version, expected)
|
617
|
+
@tmpdir = tmpdir = "tmpdir1"
|
354
618
|
Dir.mkdir(tmpdir)
|
355
|
-
|
356
|
-
|
357
|
-
|
619
|
+
path = "#{tmpdir}/#{libname}/#{version}"
|
620
|
+
# 1st
|
621
|
+
sout, serr = capture_io() do
|
622
|
+
actual = CDNGet::Main.new().run(cdn_code, libname, version, tmpdir)
|
623
|
+
end
|
624
|
+
ok {serr} == ""
|
625
|
+
ok {sout} == expected
|
626
|
+
# 2nd
|
627
|
+
sout, serr = capture_io() do
|
628
|
+
actual = CDNGet::Main.new().run(cdn_code, libname, version, tmpdir)
|
629
|
+
end
|
630
|
+
ok {serr} == ""
|
631
|
+
ok {sout} == expected.gsub(/(\(Created\))?\n/) {
|
632
|
+
if $1
|
633
|
+
"(Already exists)\n"
|
634
|
+
else
|
635
|
+
" (Unchanged)\n"
|
358
636
|
end
|
637
|
+
}
|
638
|
+
ensure
|
639
|
+
FileUtils.rm_r(tmpdir)
|
640
|
+
end
|
641
|
+
|
642
|
+
it "(cdnjs) downloads files into dir." do
|
643
|
+
_do_download_test1("cdnjs", "jquery", "2.2.0") do |tmpdir, sout, serr|
|
359
644
|
ok {"#{tmpdir}/jquery/2.2.0/jquery.js" }.file_exist?
|
360
645
|
ok {"#{tmpdir}/jquery/2.2.0/jquery.min.js" }.file_exist?
|
361
646
|
ok {"#{tmpdir}/jquery/2.2.0/jquery.min.map"}.file_exist?
|
@@ -364,74 +649,85 @@ END
|
|
364
649
|
#{tmpdir}/jquery/2.2.0/jquery.min.js ... Done (85,589 byte)
|
365
650
|
#{tmpdir}/jquery/2.2.0/jquery.min.map ... Done (129,544 byte)
|
366
651
|
END
|
367
|
-
ensure
|
368
|
-
FileUtils.rm_r(tmpdir)
|
369
652
|
end
|
370
653
|
end
|
371
654
|
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
#{tmpdir}/
|
377
|
-
#{tmpdir}/jqueryui/1.9.2/i18n/jquery-ui-i18n.min.js ... Done (54,926 byte)
|
378
|
-
#{tmpdir}/jqueryui/1.9.2/jquery-ui.min.js ... Done (237,802 byte)
|
655
|
+
it "(google) downloads files into dir." do
|
656
|
+
_do_download_test1("google", "jquery", "2.2.0") do |tmpdir, sout, serr|
|
657
|
+
ok {"#{tmpdir}/jquery/2.2.0/jquery.min.js" }.file_exist?
|
658
|
+
ok {sout} == <<END
|
659
|
+
#{tmpdir}/jquery/2.2.0/jquery.min.js ... Done (85,589 byte)
|
379
660
|
END
|
380
|
-
begin
|
381
|
-
sout, serr = capture_io() do
|
382
|
-
actual = CDNGet::Main.new().run("cdnjs", "jqueryui", "1.9.2", tmpdir)
|
383
|
-
end
|
384
|
-
ok {"#{tmpdir}/jqueryui/1.9.2/i18n/jquery-ui-i18n.js" }.file_exist?
|
385
|
-
ok {"#{tmpdir}/jqueryui/1.9.2/i18n/jquery-ui-i18n.min.js"}.file_exist?
|
386
|
-
ok {"#{tmpdir}/jqueryui/1.9.2/jquery-ui.min.js" }.file_exist?
|
387
|
-
ok {sout} == expected
|
388
|
-
ensure
|
389
|
-
FileUtils.rm_r(tmpdir)
|
390
661
|
end
|
391
662
|
end
|
392
663
|
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
#{tmpdir}/
|
398
|
-
#{tmpdir}/
|
399
|
-
#{tmpdir}/
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
ok {serr} == ""
|
414
|
-
ok {sout} == expected.gsub(/\n/, " (Unchanged)\n")
|
415
|
-
ensure
|
416
|
-
FileUtils.rm_r(tmpdir)
|
664
|
+
it "(jsdelivr) downloads files into dir." do
|
665
|
+
_do_download_test1("jsdelivr", "chibijs", "3.0.9") do |tmpdir, sout, serr|
|
666
|
+
ok {"#{tmpdir}/chibijs@3.0.9/.jshintrc" }.file_exist?
|
667
|
+
ok {"#{tmpdir}/chibijs@3.0.9/.npmignore" }.file_exist?
|
668
|
+
ok {"#{tmpdir}/chibijs@3.0.9/chibi.js" }.file_exist?
|
669
|
+
ok {"#{tmpdir}/chibijs@3.0.9/chibi-min.js" }.file_exist?
|
670
|
+
ok {"#{tmpdir}/chibijs@3.0.9/gulpfile.js" }.file_exist?
|
671
|
+
ok {"#{tmpdir}/chibijs@3.0.9/package.json" }.file_exist?
|
672
|
+
ok {"#{tmpdir}/chibijs@3.0.9/README.md" }.file_exist?
|
673
|
+
ok {"#{tmpdir}/chibijs@3.0.9/tests/runner.html"}.file_exist?
|
674
|
+
ok {sout} == <<END
|
675
|
+
#{tmpdir}/chibijs@3.0.9/.jshintrc ... Done (5,323 byte)
|
676
|
+
#{tmpdir}/chibijs@3.0.9/.npmignore ... Done (46 byte)
|
677
|
+
#{tmpdir}/chibijs@3.0.9/chibi.js ... Done (18,429 byte)
|
678
|
+
#{tmpdir}/chibijs@3.0.9/chibi-min.js ... Done (7,321 byte)
|
679
|
+
#{tmpdir}/chibijs@3.0.9/gulpfile.js ... Done (1,395 byte)
|
680
|
+
#{tmpdir}/chibijs@3.0.9/package.json ... Done (756 byte)
|
681
|
+
#{tmpdir}/chibijs@3.0.9/README.md ... Done (21,283 byte)
|
682
|
+
#{tmpdir}/chibijs@3.0.9/tests/runner.html ... Done (14,302 byte)
|
683
|
+
END
|
417
684
|
end
|
418
685
|
end
|
419
686
|
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
687
|
+
it "(unpkg) downloads files into dir." do
|
688
|
+
_do_download_test1("unpkg", "chibijs", "3.0.9") do |tmpdir, sout, serr|
|
689
|
+
ok {"#{tmpdir}/chibijs@3.0.9/.jshintrc" }.file_exist?
|
690
|
+
ok {"#{tmpdir}/chibijs@3.0.9/.npmignore" }.file_exist?
|
691
|
+
ok {"#{tmpdir}/chibijs@3.0.9/chibi.js" }.file_exist?
|
692
|
+
ok {"#{tmpdir}/chibijs@3.0.9/chibi-min.js" }.file_exist?
|
693
|
+
ok {"#{tmpdir}/chibijs@3.0.9/gulpfile.js" }.file_exist?
|
694
|
+
ok {"#{tmpdir}/chibijs@3.0.9/package.json" }.file_exist?
|
695
|
+
ok {"#{tmpdir}/chibijs@3.0.9/README.md" }.file_exist?
|
696
|
+
ok {"#{tmpdir}/chibijs@3.0.9/tests/runner.html"}.file_exist?
|
697
|
+
ok {sout} == <<END
|
698
|
+
#{tmpdir}/chibijs@3.0.9/.jshintrc ... Done (5,323 byte)
|
699
|
+
#{tmpdir}/chibijs@3.0.9/.npmignore ... Done (46 byte)
|
700
|
+
#{tmpdir}/chibijs@3.0.9/chibi.js ... Done (18,429 byte)
|
701
|
+
#{tmpdir}/chibijs@3.0.9/chibi-min.js ... Done (7,321 byte)
|
702
|
+
#{tmpdir}/chibijs@3.0.9/gulpfile.js ... Done (1,395 byte)
|
703
|
+
#{tmpdir}/chibijs@3.0.9/package.json ... Done (756 byte)
|
704
|
+
#{tmpdir}/chibijs@3.0.9/README.md ... Done (21,283 byte)
|
705
|
+
#{tmpdir}/chibijs@3.0.9/tests/runner.html ... Done (14,302 byte)
|
706
|
+
END
|
707
|
+
end
|
431
708
|
end
|
432
709
|
|
433
710
|
it "(cdnjs) downloads files (containing subdir) into dir." do
|
434
|
-
_do_download_test2("cdnjs")
|
711
|
+
_do_download_test2("cdnjs", "jquery-jcrop", "0.9.12") do |tmpdir, sout, serr|
|
712
|
+
ok {"#{tmpdir}/jquery-jcrop/0.9.12/css/Jcrop.gif" }.file_exist?
|
713
|
+
ok {"#{tmpdir}/jquery-jcrop/0.9.12/css/jquery.Jcrop.css" }.file_exist?
|
714
|
+
ok {"#{tmpdir}/jquery-jcrop/0.9.12/css/jquery.Jcrop.min.css" }.file_exist?
|
715
|
+
ok {"#{tmpdir}/jquery-jcrop/0.9.12/js/jquery.Jcrop.js" }.file_exist?
|
716
|
+
ok {"#{tmpdir}/jquery-jcrop/0.9.12/js/jquery.Jcrop.min.js" }.file_exist?
|
717
|
+
ok {"#{tmpdir}/jquery-jcrop/0.9.12/js/jquery.color.js" }.file_exist?
|
718
|
+
ok {"#{tmpdir}/jquery-jcrop/0.9.12/js/jquery.color.min.js" }.file_exist?
|
719
|
+
ok {"#{tmpdir}/jquery-jcrop/0.9.12/js/jquery.min.js" }.file_exist?
|
720
|
+
ok {sout} == <<END
|
721
|
+
#{tmpdir}/jquery-jcrop/0.9.12/css/Jcrop.gif ... Done (329 byte)
|
722
|
+
#{tmpdir}/jquery-jcrop/0.9.12/css/jquery.Jcrop.css ... Done (3,280 byte)
|
723
|
+
#{tmpdir}/jquery-jcrop/0.9.12/css/jquery.Jcrop.min.css ... Done (2,102 byte)
|
724
|
+
#{tmpdir}/jquery-jcrop/0.9.12/js/jquery.Jcrop.js ... Done (42,434 byte)
|
725
|
+
#{tmpdir}/jquery-jcrop/0.9.12/js/jquery.Jcrop.min.js ... Done (15,892 byte)
|
726
|
+
#{tmpdir}/jquery-jcrop/0.9.12/js/jquery.color.js ... Done (16,142 byte)
|
727
|
+
#{tmpdir}/jquery-jcrop/0.9.12/js/jquery.color.min.js ... Done (6,845 byte)
|
728
|
+
#{tmpdir}/jquery-jcrop/0.9.12/js/jquery.min.js ... Done (93,068 byte)
|
729
|
+
END
|
730
|
+
end
|
435
731
|
end
|
436
732
|
|
437
733
|
it "(google) downloads files (containing subdir) into dir." do
|
@@ -439,19 +735,289 @@ END
|
|
439
735
|
end
|
440
736
|
|
441
737
|
it "(jsdelivr) downloads files (containing subdir) into dir." do
|
442
|
-
_do_download_test2("jsdelivr")
|
738
|
+
_do_download_test2("jsdelivr", "zepto", "1.2.0") do |tmpdir, sout, serr|
|
739
|
+
ok {"#{tmpdir}/zepto@1.2.0/dist/zepto.js" }.file_exist?
|
740
|
+
ok {"#{tmpdir}/zepto@1.2.0/dist/zepto.min.js"}.file_exist?
|
741
|
+
ok {"#{tmpdir}/zepto@1.2.0/MIT-LICENSE" }.file_exist?
|
742
|
+
ok {"#{tmpdir}/zepto@1.2.0/package.json" }.file_exist?
|
743
|
+
ok {"#{tmpdir}/zepto@1.2.0/README.md" }.file_exist?
|
744
|
+
ok {"#{tmpdir}/zepto@1.2.0/src/ajax.js" }.file_exist?
|
745
|
+
ok {"#{tmpdir}/zepto@1.2.0/src/assets.js" }.file_exist?
|
746
|
+
ok {"#{tmpdir}/zepto@1.2.0/src/callbacks.js" }.file_exist?
|
747
|
+
ok {"#{tmpdir}/zepto@1.2.0/src/data.js" }.file_exist?
|
748
|
+
ok {"#{tmpdir}/zepto@1.2.0/src/deferred.js" }.file_exist?
|
749
|
+
ok {"#{tmpdir}/zepto@1.2.0/src/detect.js" }.file_exist?
|
750
|
+
ok {"#{tmpdir}/zepto@1.2.0/src/event.js" }.file_exist?
|
751
|
+
ok {"#{tmpdir}/zepto@1.2.0/src/form.js" }.file_exist?
|
752
|
+
ok {"#{tmpdir}/zepto@1.2.0/src/fx.js" }.file_exist?
|
753
|
+
ok {"#{tmpdir}/zepto@1.2.0/src/fx_methods.js"}.file_exist?
|
754
|
+
ok {"#{tmpdir}/zepto@1.2.0/src/gesture.js" }.file_exist?
|
755
|
+
ok {"#{tmpdir}/zepto@1.2.0/src/ie.js" }.file_exist?
|
756
|
+
ok {"#{tmpdir}/zepto@1.2.0/src/ios3.js" }.file_exist?
|
757
|
+
ok {"#{tmpdir}/zepto@1.2.0/src/selector.js" }.file_exist?
|
758
|
+
ok {"#{tmpdir}/zepto@1.2.0/src/stack.js" }.file_exist?
|
759
|
+
ok {"#{tmpdir}/zepto@1.2.0/src/touch.js" }.file_exist?
|
760
|
+
ok {"#{tmpdir}/zepto@1.2.0/src/zepto.js" }.file_exist?
|
761
|
+
ok {sout} == <<END
|
762
|
+
#{tmpdir}/zepto@1.2.0/dist/zepto.js ... Done (58,707 byte)
|
763
|
+
#{tmpdir}/zepto@1.2.0/dist/zepto.min.js ... Done (26,386 byte)
|
764
|
+
#{tmpdir}/zepto@1.2.0/MIT-LICENSE ... Done (1,081 byte)
|
765
|
+
#{tmpdir}/zepto@1.2.0/package.json ... Done (435 byte)
|
766
|
+
#{tmpdir}/zepto@1.2.0/README.md ... Done (6,711 byte)
|
767
|
+
#{tmpdir}/zepto@1.2.0/src/ajax.js ... Done (13,843 byte)
|
768
|
+
#{tmpdir}/zepto@1.2.0/src/assets.js ... Done (581 byte)
|
769
|
+
#{tmpdir}/zepto@1.2.0/src/callbacks.js ... Done (4,208 byte)
|
770
|
+
#{tmpdir}/zepto@1.2.0/src/data.js ... Done (2,789 byte)
|
771
|
+
#{tmpdir}/zepto@1.2.0/src/deferred.js ... Done (3,846 byte)
|
772
|
+
#{tmpdir}/zepto@1.2.0/src/detect.js ... Done (3,754 byte)
|
773
|
+
#{tmpdir}/zepto@1.2.0/src/event.js ... Done (9,546 byte)
|
774
|
+
#{tmpdir}/zepto@1.2.0/src/form.js ... Done (1,253 byte)
|
775
|
+
#{tmpdir}/zepto@1.2.0/src/fx.js ... Done (4,843 byte)
|
776
|
+
#{tmpdir}/zepto@1.2.0/src/fx_methods.js ... Done (2,102 byte)
|
777
|
+
#{tmpdir}/zepto@1.2.0/src/gesture.js ... Done (1,138 byte)
|
778
|
+
#{tmpdir}/zepto@1.2.0/src/ie.js ... Done (530 byte)
|
779
|
+
#{tmpdir}/zepto@1.2.0/src/ios3.js ... Done (1,140 byte)
|
780
|
+
#{tmpdir}/zepto@1.2.0/src/selector.js ... Done (3,187 byte)
|
781
|
+
#{tmpdir}/zepto@1.2.0/src/stack.js ... Done (560 byte)
|
782
|
+
#{tmpdir}/zepto@1.2.0/src/touch.js ... Done (6,067 byte)
|
783
|
+
#{tmpdir}/zepto@1.2.0/src/zepto.js ... Done (33,889 byte)
|
784
|
+
END
|
785
|
+
end
|
786
|
+
end
|
787
|
+
|
788
|
+
it "(unpkg) downloads files (containing subdir) into dir." do
|
789
|
+
_do_download_test2("unpkg", "react", "17.0.2") do |tmpdir, sout, serr|
|
790
|
+
ok {"#{tmpdir}/react@17.0.2/build-info.json" }.file_exist?
|
791
|
+
ok {"#{tmpdir}/react@17.0.2/cjs/react.development.js" }.file_exist?
|
792
|
+
ok {"#{tmpdir}/react@17.0.2/cjs/react.production.min.js"}.file_exist?
|
793
|
+
ok {"#{tmpdir}/react@17.0.2/cjs/react-jsx-dev-runtime.development.js" }.file_exist?
|
794
|
+
ok {"#{tmpdir}/react@17.0.2/cjs/react-jsx-dev-runtime.production.min.js"}.file_exist?
|
795
|
+
ok {"#{tmpdir}/react@17.0.2/cjs/react-jsx-dev-runtime.profiling.min.js" }.file_exist?
|
796
|
+
ok {"#{tmpdir}/react@17.0.2/cjs/react-jsx-runtime.development.js" }.file_exist?
|
797
|
+
ok {"#{tmpdir}/react@17.0.2/cjs/react-jsx-runtime.production.min.js" }.file_exist?
|
798
|
+
ok {"#{tmpdir}/react@17.0.2/cjs/react-jsx-runtime.profiling.min.js" }.file_exist?
|
799
|
+
ok {"#{tmpdir}/react@17.0.2/index.js" }.file_exist?
|
800
|
+
ok {"#{tmpdir}/react@17.0.2/jsx-dev-runtime.js" }.file_exist?
|
801
|
+
ok {"#{tmpdir}/react@17.0.2/jsx-runtime.js" }.file_exist?
|
802
|
+
ok {"#{tmpdir}/react@17.0.2/LICENSE" }.file_exist?
|
803
|
+
ok {"#{tmpdir}/react@17.0.2/package.json" }.file_exist?
|
804
|
+
ok {"#{tmpdir}/react@17.0.2/README.md" }.file_exist?
|
805
|
+
ok {"#{tmpdir}/react@17.0.2/umd/react.development.js" }.file_exist?
|
806
|
+
ok {"#{tmpdir}/react@17.0.2/umd/react.production.min.js"}.file_exist?
|
807
|
+
ok {"#{tmpdir}/react@17.0.2/umd/react.profiling.min.js" }.file_exist?
|
808
|
+
expected = <<END
|
809
|
+
#{tmpdir}/react@17.0.2/build-info.json ... Done (167 byte)
|
810
|
+
#{tmpdir}/react@17.0.2/cjs/react.development.js ... Done (72,141 byte)
|
811
|
+
#{tmpdir}/react@17.0.2/cjs/react.production.min.js ... Done (6,450 byte)
|
812
|
+
#{tmpdir}/react@17.0.2/cjs/react-jsx-dev-runtime.development.js ... Done (37,753 byte)
|
813
|
+
#{tmpdir}/react@17.0.2/cjs/react-jsx-dev-runtime.production.min.js ... Done (456 byte)
|
814
|
+
#{tmpdir}/react@17.0.2/cjs/react-jsx-dev-runtime.profiling.min.js ... Done (455 byte)
|
815
|
+
#{tmpdir}/react@17.0.2/cjs/react-jsx-runtime.development.js ... Done (38,352 byte)
|
816
|
+
#{tmpdir}/react@17.0.2/cjs/react-jsx-runtime.production.min.js ... Done (962 byte)
|
817
|
+
#{tmpdir}/react@17.0.2/cjs/react-jsx-runtime.profiling.min.js ... Done (961 byte)
|
818
|
+
#{tmpdir}/react@17.0.2/index.js ... Done (190 byte)
|
819
|
+
#{tmpdir}/react@17.0.2/jsx-dev-runtime.js ... Done (222 byte)
|
820
|
+
#{tmpdir}/react@17.0.2/jsx-runtime.js ... Done (214 byte)
|
821
|
+
#{tmpdir}/react@17.0.2/LICENSE ... Done (1,086 byte)
|
822
|
+
#{tmpdir}/react@17.0.2/package.json ... Done (777 byte)
|
823
|
+
#{tmpdir}/react@17.0.2/README.md ... Done (737 byte)
|
824
|
+
#{tmpdir}/react@17.0.2/umd/react.development.js ... Done (105,096 byte)
|
825
|
+
#{tmpdir}/react@17.0.2/umd/react.production.min.js ... Done (11,440 byte)
|
826
|
+
#{tmpdir}/react@17.0.2/umd/react.profiling.min.js ... Done (13,668 byte)
|
827
|
+
END
|
828
|
+
ok {sout} == expected
|
829
|
+
end
|
443
830
|
end
|
444
831
|
|
445
832
|
it "(cdnjs) doesn't override existing files when they are identical to downloaded files." do
|
446
|
-
|
833
|
+
tmpdir = "tmpdir1"
|
834
|
+
expected = <<END
|
835
|
+
#{tmpdir}/jquery-jcrop/2.0.4/css/Jcrop.css ... Done (7,401 byte)
|
836
|
+
#{tmpdir}/jquery-jcrop/2.0.4/css/Jcrop.gif ... Done (329 byte)
|
837
|
+
#{tmpdir}/jquery-jcrop/2.0.4/css/Jcrop.min.css ... Done (5,281 byte)
|
838
|
+
#{tmpdir}/jquery-jcrop/2.0.4/js/Jcrop.js ... Done (75,652 byte)
|
839
|
+
#{tmpdir}/jquery-jcrop/2.0.4/js/Jcrop.min.js ... Done (38,379 byte)
|
840
|
+
END
|
841
|
+
_do_download_test3("cdnjs", "jquery-jcrop", "2.0.4", expected)
|
447
842
|
end
|
448
843
|
|
449
844
|
it "(google) doesn't override existing files when they are identical to downloaded files." do
|
450
|
-
|
845
|
+
tmpdir = "tmpdir1"
|
846
|
+
expected = <<END
|
847
|
+
#{tmpdir}/jquery/3.6.0/jquery.min.js ... Done (89,501 byte)
|
848
|
+
END
|
849
|
+
_do_download_test3("google", "jquery", "3.6.0", expected)
|
451
850
|
end
|
452
851
|
|
453
852
|
it "(jsdelivr) doesn't override existing files when they are identical to downloaded files." do
|
454
|
-
|
853
|
+
tmpdir = "tmpdir1"
|
854
|
+
expected = <<END
|
855
|
+
#{tmpdir}/chibijs@3.0.9/.jshintrc ... Done (5,323 byte)
|
856
|
+
#{tmpdir}/chibijs@3.0.9/.npmignore ... Done (46 byte)
|
857
|
+
#{tmpdir}/chibijs@3.0.9/chibi.js ... Done (18,429 byte)
|
858
|
+
#{tmpdir}/chibijs@3.0.9/chibi-min.js ... Done (7,321 byte)
|
859
|
+
#{tmpdir}/chibijs@3.0.9/gulpfile.js ... Done (1,395 byte)
|
860
|
+
#{tmpdir}/chibijs@3.0.9/package.json ... Done (756 byte)
|
861
|
+
#{tmpdir}/chibijs@3.0.9/README.md ... Done (21,283 byte)
|
862
|
+
#{tmpdir}/chibijs@3.0.9/tests/runner.html ... Done (14,302 byte)
|
863
|
+
END
|
864
|
+
_do_download_test3("jsdelivr", "chibijs", "3.0.9", expected)
|
865
|
+
end
|
866
|
+
|
867
|
+
it "(unpkg) doesn't override existing files when they are identical to downloaded files." do
|
868
|
+
tmpdir = "tmpdir1"
|
869
|
+
expected = <<END
|
870
|
+
#{tmpdir}/chibijs@3.0.9/.jshintrc ... Done (5,323 byte)
|
871
|
+
#{tmpdir}/chibijs@3.0.9/.npmignore ... Done (46 byte)
|
872
|
+
#{tmpdir}/chibijs@3.0.9/chibi.js ... Done (18,429 byte)
|
873
|
+
#{tmpdir}/chibijs@3.0.9/chibi-min.js ... Done (7,321 byte)
|
874
|
+
#{tmpdir}/chibijs@3.0.9/gulpfile.js ... Done (1,395 byte)
|
875
|
+
#{tmpdir}/chibijs@3.0.9/package.json ... Done (756 byte)
|
876
|
+
#{tmpdir}/chibijs@3.0.9/README.md ... Done (21,283 byte)
|
877
|
+
#{tmpdir}/chibijs@3.0.9/tests/runner.html ... Done (14,302 byte)
|
878
|
+
END
|
879
|
+
_do_download_test3("unpkg", "chibijs", "3.0.9", expected)
|
880
|
+
end
|
881
|
+
|
882
|
+
end
|
883
|
+
|
884
|
+
|
885
|
+
describe "cdnget CDN swfobject latest" do
|
886
|
+
|
887
|
+
it "(cdnjs) shows latest version." do
|
888
|
+
actual = CDNGet::Main.new("cdnget").run("cdnjs", "swfobject", "latest")
|
889
|
+
ok {actual} == <<END
|
890
|
+
name: swfobject
|
891
|
+
version: 2.2
|
892
|
+
desc: SWFObject is an easy-to-use and standards-friendly method to embed Flash content, which utilizes one small JavaScript file
|
893
|
+
tags: swf, flash
|
894
|
+
site: http://code.google.com/p/swfobject/
|
895
|
+
info: https://cdnjs.com/libraries/swfobject/2.2
|
896
|
+
license: MIT
|
897
|
+
urls:
|
898
|
+
- https://cdnjs.cloudflare.com/ajax/libs/swfobject/2.2/swfobject.js
|
899
|
+
- https://cdnjs.cloudflare.com/ajax/libs/swfobject/2.2/swfobject.min.js
|
900
|
+
END
|
901
|
+
end
|
902
|
+
|
903
|
+
it "(google) shows latest version." do
|
904
|
+
actual = CDNGet::Main.new("cdnget").run("google", "swfobject", "latest")
|
905
|
+
ok {actual} == <<END
|
906
|
+
name: swfobject
|
907
|
+
version: 2.2
|
908
|
+
site: https://github.com/swfobject/swfobject
|
909
|
+
info: https://developers.google.com/speed/libraries/#swfobject
|
910
|
+
urls:
|
911
|
+
- https://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js
|
912
|
+
END
|
913
|
+
end
|
914
|
+
|
915
|
+
it "(jsdelivr) shows latest version." do
|
916
|
+
actual = CDNGet::Main.new("cdnget").run("jsdelivr", "swfobject", "latest")
|
917
|
+
ok {actual} == <<END
|
918
|
+
name: swfobject
|
919
|
+
version: 2.2.1
|
920
|
+
desc: SWFObject is an easy-to-use and standards-friendly method to embed Flash content, which utilizes one small JavaScript file
|
921
|
+
tags: SWFObject, swf, object, flash, embed, content
|
922
|
+
info: https://www.jsdelivr.com/package/npm/swfobject?version=2.2.1
|
923
|
+
npmpkg: https://registry.npmjs.org/swfobject/-/swfobject-2.2.1.tgz
|
924
|
+
default: /index.min.js
|
925
|
+
license: MIT
|
926
|
+
urls:
|
927
|
+
- https://cdn.jsdelivr.net/npm/swfobject@2.2.1/.npmignore
|
928
|
+
- https://cdn.jsdelivr.net/npm/swfobject@2.2.1/download.sh
|
929
|
+
- https://cdn.jsdelivr.net/npm/swfobject@2.2.1/expressInstall.swf
|
930
|
+
- https://cdn.jsdelivr.net/npm/swfobject@2.2.1/index.js
|
931
|
+
- https://cdn.jsdelivr.net/npm/swfobject@2.2.1/package.json
|
932
|
+
- https://cdn.jsdelivr.net/npm/swfobject@2.2.1/patch.js
|
933
|
+
- https://cdn.jsdelivr.net/npm/swfobject@2.2.1/README.md
|
934
|
+
END
|
935
|
+
end
|
936
|
+
|
937
|
+
it "(unpkg) shows latest version." do
|
938
|
+
actual = CDNGet::Main.new("cdnget").run("unpkg", "swfobject", "latest")
|
939
|
+
ok {actual} == <<END
|
940
|
+
name: swfobject
|
941
|
+
version: 2.2.1
|
942
|
+
desc: SWFObject is an easy-to-use and standards-friendly method to embed Flash content, which utilizes one small JavaScript file
|
943
|
+
tags: SWFObject, swf, object, flash, embed, content
|
944
|
+
site: https://github.com/unshiftio/swfobject
|
945
|
+
info: https://unpkg.com/browse/swfobject@2.2.1/
|
946
|
+
npmpkg: https://registry.npmjs.org/swfobject/-/swfobject-2.2.1.tgz
|
947
|
+
default: /index.min.js
|
948
|
+
license: MIT
|
949
|
+
urls:
|
950
|
+
- https://unpkg.com/swfobject@2.2.1/.npmignore
|
951
|
+
- https://unpkg.com/swfobject@2.2.1/download.sh
|
952
|
+
- https://unpkg.com/swfobject@2.2.1/expressInstall.swf
|
953
|
+
- https://unpkg.com/swfobject@2.2.1/index.js
|
954
|
+
- https://unpkg.com/swfobject@2.2.1/package.json
|
955
|
+
- https://unpkg.com/swfobject@2.2.1/patch.js
|
956
|
+
- https://unpkg.com/swfobject@2.2.1/README.md
|
957
|
+
END
|
958
|
+
end
|
959
|
+
|
960
|
+
end
|
961
|
+
|
962
|
+
|
963
|
+
describe "cdnget CDN swfobject latest dir" do
|
964
|
+
|
965
|
+
before do
|
966
|
+
@tmpdir = "tmpdir1"
|
967
|
+
Dir.mkdir @tmpdir
|
968
|
+
end
|
969
|
+
|
970
|
+
after do
|
971
|
+
FileUtils.rm_rf @tmpdir
|
972
|
+
end
|
973
|
+
|
974
|
+
it "(cdnjs) downlaods latest version." do
|
975
|
+
sout, serr = capture_io do()
|
976
|
+
CDNGet::Main.new("cdnget").run("cdnjs", "swfobject", "latest", @tmpdir)
|
977
|
+
end
|
978
|
+
ok {sout} == <<"END"
|
979
|
+
#{@tmpdir}/swfobject/2.2/swfobject.js ... Done (10,220 byte)
|
980
|
+
#{@tmpdir}/swfobject/2.2/swfobject.min.js ... Done (9,211 byte)
|
981
|
+
END
|
982
|
+
end
|
983
|
+
|
984
|
+
it "(google) downlaods latest version." do
|
985
|
+
sout, serr = capture_io do()
|
986
|
+
CDNGet::Main.new("cdnget").run("google", "swfobject", "latest", @tmpdir)
|
987
|
+
end
|
988
|
+
ok {sout} == <<"END"
|
989
|
+
#{@tmpdir}/swfobject/2.2/swfobject.js ... Done (10,220 byte)
|
990
|
+
END
|
991
|
+
end
|
992
|
+
|
993
|
+
it "(jsdelivr) downlaods latest version." do
|
994
|
+
sout, serr = capture_io do()
|
995
|
+
CDNGet::Main.new("cdnget").run("jsdelivr", "swfobject", "latest", @tmpdir)
|
996
|
+
end
|
997
|
+
ok {sout} == <<"END"
|
998
|
+
#{@tmpdir}/swfobject@2.2.1/.npmignore ... Done (13 byte)
|
999
|
+
#{@tmpdir}/swfobject@2.2.1/download.sh ... Done (517 byte)
|
1000
|
+
#{@tmpdir}/swfobject@2.2.1/expressInstall.swf ... Done (727 byte)
|
1001
|
+
#{@tmpdir}/swfobject@2.2.1/index.js ... Done (10,331 byte)
|
1002
|
+
#{@tmpdir}/swfobject@2.2.1/package.json ... Done (524 byte)
|
1003
|
+
#{@tmpdir}/swfobject@2.2.1/patch.js ... Done (277 byte)
|
1004
|
+
#{@tmpdir}/swfobject@2.2.1/README.md ... Done (764 byte)
|
1005
|
+
END
|
1006
|
+
end
|
1007
|
+
|
1008
|
+
it "(unpkg) downlaods latest version." do
|
1009
|
+
sout, serr = capture_io do()
|
1010
|
+
CDNGet::Main.new("cdnget").run("unpkg", "swfobject", "latest", @tmpdir)
|
1011
|
+
end
|
1012
|
+
ok {sout} == <<"END"
|
1013
|
+
#{@tmpdir}/swfobject@2.2.1/.npmignore ... Done (13 byte)
|
1014
|
+
#{@tmpdir}/swfobject@2.2.1/download.sh ... Done (517 byte)
|
1015
|
+
#{@tmpdir}/swfobject@2.2.1/expressInstall.swf ... Done (727 byte)
|
1016
|
+
#{@tmpdir}/swfobject@2.2.1/index.js ... Done (10,331 byte)
|
1017
|
+
#{@tmpdir}/swfobject@2.2.1/package.json ... Done (524 byte)
|
1018
|
+
#{@tmpdir}/swfobject@2.2.1/patch.js ... Done (277 byte)
|
1019
|
+
#{@tmpdir}/swfobject@2.2.1/README.md ... Done (764 byte)
|
1020
|
+
END
|
455
1021
|
end
|
456
1022
|
|
457
1023
|
end
|