cdnget 0.2.0 → 1.0.1
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 +34 -0
- data/README.md +6 -4
- data/Rakefile +1 -1
- data/bin/cdnget +390 -120
- data/cdnget.gemspec +5 -5
- data/lib/cdnget.rb +390 -120
- data/test/cdnget_test.rb +665 -113
- metadata +8 -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
|
277
|
+
versions:
|
278
|
+
END
|
279
|
+
ok {actual}.start_with?(text1)
|
280
|
+
text2 = <<END
|
281
|
+
- 1.8.2
|
282
|
+
- 1.7.3
|
283
|
+
- 1.7.2
|
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
|
236
302
|
versions:
|
237
303
|
END
|
238
304
|
ok {actual}.start_with?(text1)
|
239
305
|
text2 = <<END
|
306
|
+
- 1.7.3
|
240
307
|
- 1.7.2
|
241
|
-
- 1.
|
242
|
-
- 1.
|
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,12 +377,162 @@ 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
|
|
@@ -313,6 +540,11 @@ END
|
|
313
540
|
expected = <<END
|
314
541
|
name: jquery-jcrop
|
315
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
549
|
- https://cdnjs.cloudflare.com/ajax/libs/jquery-jcrop/0.9.12/css/Jcrop.gif
|
318
550
|
- https://cdnjs.cloudflare.com/ajax/libs/jquery-jcrop/0.9.12/css/jquery.Jcrop.css
|
@@ -346,7 +578,12 @@ END
|
|
346
578
|
|
347
579
|
it "(jsdelivr) raises error when library name is wrong." do
|
348
580
|
pr = proc { CDNGet::Main.new().run("jsdelivr", "jquery-ui", "1.9.2") }
|
349
|
-
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.")
|
350
587
|
end
|
351
588
|
|
352
589
|
end
|
@@ -354,13 +591,56 @@ END
|
|
354
591
|
|
355
592
|
describe "cdnget CDN jquery 2.2.0 dir" do
|
356
593
|
|
357
|
-
def _do_download_test1(cdn_code)
|
358
|
-
tmpdir = "tmpdir1"
|
594
|
+
def _do_download_test1(cdn_code, library="jquery", version="2.2.0")
|
595
|
+
@tmpdir = tmpdir = "tmpdir1"
|
359
596
|
Dir.mkdir(tmpdir)
|
360
|
-
|
361
|
-
|
362
|
-
|
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"
|
618
|
+
Dir.mkdir(tmpdir)
|
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"
|
363
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|
|
364
644
|
ok {"#{tmpdir}/jquery/2.2.0/jquery.js" }.file_exist?
|
365
645
|
ok {"#{tmpdir}/jquery/2.2.0/jquery.min.js" }.file_exist?
|
366
646
|
ok {"#{tmpdir}/jquery/2.2.0/jquery.min.map"}.file_exist?
|
@@ -369,28 +649,66 @@ END
|
|
369
649
|
#{tmpdir}/jquery/2.2.0/jquery.min.js ... Done (85,589 byte)
|
370
650
|
#{tmpdir}/jquery/2.2.0/jquery.min.map ... Done (129,544 byte)
|
371
651
|
END
|
372
|
-
ensure
|
373
|
-
FileUtils.rm_r(tmpdir)
|
374
652
|
end
|
375
653
|
end
|
376
654
|
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
#{tmpdir}/jquery
|
382
|
-
#{tmpdir}/jquery-jcrop/0.9.12/css/jquery.Jcrop.css ... Done (3,280 byte)
|
383
|
-
#{tmpdir}/jquery-jcrop/0.9.12/css/jquery.Jcrop.min.css ... Done (2,102 byte)
|
384
|
-
#{tmpdir}/jquery-jcrop/0.9.12/js/jquery.Jcrop.js ... Done (42,434 byte)
|
385
|
-
#{tmpdir}/jquery-jcrop/0.9.12/js/jquery.Jcrop.min.js ... Done (15,892 byte)
|
386
|
-
#{tmpdir}/jquery-jcrop/0.9.12/js/jquery.color.js ... Done (16,142 byte)
|
387
|
-
#{tmpdir}/jquery-jcrop/0.9.12/js/jquery.color.min.js ... Done (6,845 byte)
|
388
|
-
#{tmpdir}/jquery-jcrop/0.9.12/js/jquery.min.js ... Done (93,068 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)
|
389
660
|
END
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
661
|
+
end
|
662
|
+
end
|
663
|
+
|
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
|
684
|
+
end
|
685
|
+
end
|
686
|
+
|
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
|
708
|
+
end
|
709
|
+
|
710
|
+
it "(cdnjs) downloads files (containing subdir) into dir." do
|
711
|
+
_do_download_test2("cdnjs", "jquery-jcrop", "0.9.12") do |tmpdir, sout, serr|
|
394
712
|
ok {"#{tmpdir}/jquery-jcrop/0.9.12/css/Jcrop.gif" }.file_exist?
|
395
713
|
ok {"#{tmpdir}/jquery-jcrop/0.9.12/css/jquery.Jcrop.css" }.file_exist?
|
396
714
|
ok {"#{tmpdir}/jquery-jcrop/0.9.12/css/jquery.Jcrop.min.css" }.file_exist?
|
@@ -399,32 +717,7 @@ END
|
|
399
717
|
ok {"#{tmpdir}/jquery-jcrop/0.9.12/js/jquery.color.js" }.file_exist?
|
400
718
|
ok {"#{tmpdir}/jquery-jcrop/0.9.12/js/jquery.color.min.js" }.file_exist?
|
401
719
|
ok {"#{tmpdir}/jquery-jcrop/0.9.12/js/jquery.min.js" }.file_exist?
|
402
|
-
ok {sout} ==
|
403
|
-
ensure
|
404
|
-
FileUtils.rm_r(tmpdir)
|
405
|
-
end
|
406
|
-
end
|
407
|
-
|
408
|
-
def _do_download_test3(cdn_code, libname)
|
409
|
-
tmpdir = "tmpdir1"
|
410
|
-
Dir.mkdir(tmpdir)
|
411
|
-
case libname
|
412
|
-
when "jquery"
|
413
|
-
version = "2.2.4"
|
414
|
-
if cdn_code == "google"
|
415
|
-
expected = <<END
|
416
|
-
#{tmpdir}/jquery/2.2.4/jquery.min.js ... Done (85,578 byte)
|
417
|
-
END
|
418
|
-
else
|
419
|
-
expected = <<END
|
420
|
-
#{tmpdir}/jquery/2.2.4/jquery.js ... Done (257,551 byte)
|
421
|
-
#{tmpdir}/jquery/2.2.4/jquery.min.js ... Done (85,578 byte)
|
422
|
-
#{tmpdir}/jquery/2.2.4/jquery.min.map ... Done (129,572 byte)
|
423
|
-
END
|
424
|
-
end
|
425
|
-
when "jquery-jcrop"
|
426
|
-
version = "0.9.12"
|
427
|
-
expected = <<END
|
720
|
+
ok {sout} == <<END
|
428
721
|
#{tmpdir}/jquery-jcrop/0.9.12/css/Jcrop.gif ... Done (329 byte)
|
429
722
|
#{tmpdir}/jquery-jcrop/0.9.12/css/jquery.Jcrop.css ... Done (3,280 byte)
|
430
723
|
#{tmpdir}/jquery-jcrop/0.9.12/css/jquery.Jcrop.min.css ... Done (2,102 byte)
|
@@ -435,59 +728,318 @@ END
|
|
435
728
|
#{tmpdir}/jquery-jcrop/0.9.12/js/jquery.min.js ... Done (93,068 byte)
|
436
729
|
END
|
437
730
|
end
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
731
|
+
end
|
732
|
+
|
733
|
+
it "(google) downloads files (containing subdir) into dir." do
|
734
|
+
skip("no libraries containing subdirectory")
|
735
|
+
end
|
736
|
+
|
737
|
+
it "(jsdelivr) downloads files (containing subdir) into dir." do
|
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
|
445
828
|
ok {sout} == expected
|
446
|
-
# 2nd
|
447
|
-
sout, serr = capture_io() do
|
448
|
-
actual = CDNGet::Main.new().run(cdn_code, libname, version, tmpdir)
|
449
|
-
end
|
450
|
-
ok {serr} == ""
|
451
|
-
ok {sout} == expected.gsub(/\n/, " (Unchanged)\n")
|
452
|
-
ensure
|
453
|
-
FileUtils.rm_r(tmpdir)
|
454
829
|
end
|
455
830
|
end
|
456
831
|
|
457
|
-
it "(cdnjs)
|
458
|
-
|
832
|
+
it "(cdnjs) doesn't override existing files when they are identical to downloaded files." do
|
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)
|
459
842
|
end
|
460
843
|
|
461
|
-
it "(google)
|
462
|
-
|
844
|
+
it "(google) doesn't override existing files when they are identical to downloaded files." do
|
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)
|
463
850
|
end
|
464
851
|
|
465
|
-
it "(jsdelivr)
|
466
|
-
|
852
|
+
it "(jsdelivr) doesn't override existing files when they are identical to downloaded files." do
|
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)
|
467
865
|
end
|
468
866
|
|
469
|
-
it "(
|
470
|
-
|
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)
|
471
880
|
end
|
472
881
|
|
473
|
-
|
474
|
-
|
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
|
475
901
|
end
|
476
902
|
|
477
|
-
it "(
|
478
|
-
|
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
|
479
913
|
end
|
480
914
|
|
481
|
-
it "(
|
482
|
-
|
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
|
483
935
|
end
|
484
936
|
|
485
|
-
it "(
|
486
|
-
|
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
|
487
958
|
end
|
488
959
|
|
489
|
-
|
490
|
-
|
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
|
1021
|
+
end
|
1022
|
+
|
1023
|
+
end
|
1024
|
+
|
1025
|
+
|
1026
|
+
describe "cdnget CDN bulma 0.9.3 dir" do
|
1027
|
+
|
1028
|
+
before do
|
1029
|
+
@tmpdir = "tmpdir1"
|
1030
|
+
Dir.mkdir @tmpdir
|
1031
|
+
end
|
1032
|
+
|
1033
|
+
after do
|
1034
|
+
FileUtils.rm_rf @tmpdir
|
1035
|
+
end
|
1036
|
+
|
1037
|
+
it "(unpkg) skips '.DS_Store' files." do
|
1038
|
+
sout, serr = capture_io do()
|
1039
|
+
CDNGet::Main.new("cdnget").run("unpkg", "bulma", "0.9.3", @tmpdir)
|
1040
|
+
end
|
1041
|
+
ok {sout}.include?("#{@tmpdir}/bulma@0.9.3/sass/.DS_Store ... Skipped\n")
|
1042
|
+
ok {sout}.include?("#{@tmpdir}/bulma@0.9.3/sass/base/.DS_Store ... Skipped\n")
|
491
1043
|
end
|
492
1044
|
|
493
1045
|
end
|