@pixwel/pixwel-sdk 2.0.0 → 2.1.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.
- package/.babelrc +2 -1
- package/README.md +60 -0
- package/coverage/clover.xml +581 -430
- package/coverage/coverage-final.json +15 -9
- package/coverage/lcov-report/Ass.js.html +212 -212
- package/coverage/lcov-report/Asset.js.html +27 -27
- package/coverage/lcov-report/AssetType.js.html +98 -0
- package/coverage/lcov-report/Encode.js.html +98 -0
- package/coverage/lcov-report/File.js.html +98 -0
- package/coverage/lcov-report/Filename.js.html +9 -726
- package/coverage/lcov-report/Ingest.js.html +1239 -279
- package/coverage/lcov-report/IngestFile.js.html +5 -5
- package/coverage/lcov-report/Model.js.html +821 -0
- package/coverage/lcov-report/Order.js.html +25 -25
- package/coverage/lcov-report/Srt.js.html +102 -102
- package/coverage/lcov-report/Sub.js.html +43 -43
- package/coverage/lcov-report/Tag.js.html +98 -0
- package/coverage/lcov-report/TimeFormat.js.html +63 -63
- package/coverage/lcov-report/fileType.js.html +188 -0
- package/coverage/lcov-report/index.html +164 -86
- package/coverage/lcov.info +1159 -846
- package/dist/index.js +74 -22
- package/dist/src/Asset.js +10 -5
- package/dist/src/AssetType.js +54 -0
- package/dist/src/Encode.js +54 -0
- package/dist/src/File.js +54 -0
- package/dist/src/Filename.js +7 -228
- package/dist/src/Ingest.js +365 -33
- package/dist/src/IngestFile.js +6 -2
- package/dist/src/Model.js +569 -0
- package/dist/src/Order.js +20 -9
- package/dist/src/Srt.js +5 -1
- package/dist/src/Tag.js +54 -0
- package/dist/src/fileType.js +43 -0
- package/index.js +14 -0
- package/package.json +9 -3
- package/src/AssetType.js +11 -0
- package/src/Encode.js +11 -0
- package/src/File.js +11 -0
- package/src/Filename.js +0 -239
- package/src/Ingest.js +347 -27
- package/src/Model.js +252 -0
- package/src/Tag.js +11 -0
- package/src/fileType.js +41 -0
- package/test/Filename.spec.js +3 -707
- package/test/Ingest.spec.js +1107 -152
- package/test/Model.spec.js +328 -0
package/test/Filename.spec.js
CHANGED
|
@@ -6,180 +6,6 @@ let allTypes = mocks.types;
|
|
|
6
6
|
|
|
7
7
|
describe("Filename", () => {
|
|
8
8
|
describe("render", () => {
|
|
9
|
-
it("renders tags as an underscore-separated string", function() {
|
|
10
|
-
let asset = {
|
|
11
|
-
name: "Test Asset A",
|
|
12
|
-
slug: "test-asset-a",
|
|
13
|
-
type: "trailer.intl",
|
|
14
|
-
mediaType: "video",
|
|
15
|
-
project: {
|
|
16
|
-
filePrefix: "TESTPROJECT"
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
let options = {
|
|
20
|
-
language: "ENG",
|
|
21
|
-
country: "WW",
|
|
22
|
-
tags: {
|
|
23
|
-
Text: "txtd",
|
|
24
|
-
Extra: ["COMING-SOON", "HOJE"],
|
|
25
|
-
Codec: "PRORES",
|
|
26
|
-
Resolution: "640x480",
|
|
27
|
-
Framerate: "23.98",
|
|
28
|
-
"Frame Mode": "progressive"
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
expect(Filename.render({ allTags, allTypes, asset, options })).toBe(
|
|
32
|
-
"TESTPROJECT_ITR-TEST-ASSET-A_ENG_TXTD_COMING-SOON_HOJE_PRORES_480p2398"
|
|
33
|
-
);
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
it("renders language and country", function() {
|
|
37
|
-
let asset = {
|
|
38
|
-
name: "Test Asset A",
|
|
39
|
-
slug: "test-asset-a",
|
|
40
|
-
type: "trailer.intl",
|
|
41
|
-
mediaType: "video",
|
|
42
|
-
project: {
|
|
43
|
-
filePrefix: "TESTPROJECT"
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
let options = {
|
|
47
|
-
language: "ENG",
|
|
48
|
-
country: "US",
|
|
49
|
-
tags: {
|
|
50
|
-
Text: "txtd",
|
|
51
|
-
Extra: ["COMING-SOON", "HOJE"],
|
|
52
|
-
Codec: "PRORES",
|
|
53
|
-
Resolution: "640x480",
|
|
54
|
-
Framerate: "23.98",
|
|
55
|
-
"Frame Mode": "progressive"
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
expect(Filename.render({ allTags, allTypes, asset, options })).toBe(
|
|
59
|
-
"TESTPROJECT_ITR-TEST-ASSET-A_ENG-US_TXTD_COMING-SOON_HOJE_PRORES_480p2398"
|
|
60
|
-
);
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
it("renders language only for dual-language codes", function () {
|
|
64
|
-
let asset = {
|
|
65
|
-
name: "Test Asset A",
|
|
66
|
-
slug: "test-asset-a",
|
|
67
|
-
type: "trailer.intl",
|
|
68
|
-
mediaType: "video",
|
|
69
|
-
project: {
|
|
70
|
-
filePrefix: "TESTPROJECT"
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
let options = {
|
|
74
|
-
language: "PFR-FLE",
|
|
75
|
-
country: "US",
|
|
76
|
-
tags: {
|
|
77
|
-
Text: "txtd",
|
|
78
|
-
Extra: ["COMING-SOON", "HOJE"],
|
|
79
|
-
Codec: "PRORES",
|
|
80
|
-
Resolution: "640x480",
|
|
81
|
-
Framerate: "23.98",
|
|
82
|
-
"Frame Mode": "progressive"
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
expect(Filename.render({ allTags, allTypes, asset, options })).toBe(
|
|
86
|
-
"TESTPROJECT_ITR-TEST-ASSET-A_PFR-FLE_TXTD_COMING-SOON_HOJE_PRORES_480p2398"
|
|
87
|
-
);
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
it("displays resolution for images", function() {
|
|
91
|
-
let asset = {
|
|
92
|
-
name: "Test Asset A",
|
|
93
|
-
slug: "test-asset-a",
|
|
94
|
-
type: "trailer.intl",
|
|
95
|
-
mediaType: "video",
|
|
96
|
-
project: {
|
|
97
|
-
filePrefix: "TESTPROJECT"
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
let options = {
|
|
101
|
-
language: "ENG",
|
|
102
|
-
country: "WW",
|
|
103
|
-
tags: {
|
|
104
|
-
Text: "txtd",
|
|
105
|
-
Resolution: "640x480"
|
|
106
|
-
}
|
|
107
|
-
};
|
|
108
|
-
let mediaType = 'image';
|
|
109
|
-
expect(
|
|
110
|
-
Filename.render({ allTags, allTypes, asset, options, mediaType })
|
|
111
|
-
).toBe("TESTPROJECT_ITR-TEST-ASSET-A_ENG_TXTD_640x480");
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
it("renders asset names with contractions correctly", function() {
|
|
115
|
-
let asset = {
|
|
116
|
-
name: "Can't Int'l 10",
|
|
117
|
-
slug: "cant-intl-10",
|
|
118
|
-
type: "trailer.intl",
|
|
119
|
-
mediaType: "video",
|
|
120
|
-
project: {
|
|
121
|
-
filePrefix: "TESTPROJECT"
|
|
122
|
-
}
|
|
123
|
-
};
|
|
124
|
-
let options = {
|
|
125
|
-
language: "ENG",
|
|
126
|
-
tags: {
|
|
127
|
-
Text: "txtd",
|
|
128
|
-
Codec: "prores",
|
|
129
|
-
Resolution: "640x480",
|
|
130
|
-
Framerate: "23.98",
|
|
131
|
-
"Frame Mode": "progressive"
|
|
132
|
-
}
|
|
133
|
-
};
|
|
134
|
-
expect(Filename.render({ allTags, allTypes, asset, options })).toBe(
|
|
135
|
-
"TESTPROJECT_ITR-CANT-INTL-10_ENG_TXTD_PRORES_480p2398"
|
|
136
|
-
);
|
|
137
|
-
});
|
|
138
|
-
|
|
139
|
-
it("renders version", function() {
|
|
140
|
-
let asset = {
|
|
141
|
-
name: "Test Asset A",
|
|
142
|
-
slug: "test-asset-a",
|
|
143
|
-
type: "trailer.intl",
|
|
144
|
-
mediaType: "video",
|
|
145
|
-
project: {
|
|
146
|
-
filePrefix: "TESTPROJECT"
|
|
147
|
-
}
|
|
148
|
-
};
|
|
149
|
-
let options = {
|
|
150
|
-
version: "rev",
|
|
151
|
-
language: "ENG",
|
|
152
|
-
tags: {
|
|
153
|
-
Text: "txtd",
|
|
154
|
-
Codec: "prores",
|
|
155
|
-
Resolution: "640x480",
|
|
156
|
-
Framerate: "23.98",
|
|
157
|
-
"Frame Mode": "progressive"
|
|
158
|
-
}
|
|
159
|
-
};
|
|
160
|
-
expect(Filename.render({ allTags, allTypes, asset, options })).toBe(
|
|
161
|
-
"TESTPROJECT_ITR-TEST-ASSET-A_ENG_TXTD_REV_PRORES_480p2398"
|
|
162
|
-
);
|
|
163
|
-
});
|
|
164
|
-
|
|
165
|
-
it("throws exception if missing asset.project", function() {
|
|
166
|
-
let asset = {
|
|
167
|
-
name: "Test Asset A",
|
|
168
|
-
slug: "test-asset-a",
|
|
169
|
-
type: "trailer.intl",
|
|
170
|
-
mediaType: "video"
|
|
171
|
-
// project: {
|
|
172
|
-
// filePrefix: 'TESTPROJECT'
|
|
173
|
-
// }
|
|
174
|
-
};
|
|
175
|
-
let options = {
|
|
176
|
-
language: "ENG"
|
|
177
|
-
};
|
|
178
|
-
expect(() => {
|
|
179
|
-
Filename.render({ allTags, allTypes, asset, options });
|
|
180
|
-
}).toThrow("missing asset.project");
|
|
181
|
-
});
|
|
182
|
-
|
|
183
9
|
xit("throws exception if missing asset.length (film-clip)", function() {
|
|
184
10
|
let asset = {
|
|
185
11
|
name: "Test Asset A",
|
|
@@ -253,540 +79,10 @@ describe("Filename", () => {
|
|
|
253
79
|
// Filename.render({ allTags, allTypes, asset, options });
|
|
254
80
|
// }).toThrow("missing options.tags.Codec");
|
|
255
81
|
// });
|
|
82
|
+
|
|
256
83
|
|
|
257
|
-
|
|
258
|
-
let asset = {
|
|
259
|
-
name: "Test Asset A",
|
|
260
|
-
slug: "test-asset-a",
|
|
261
|
-
type: "trailer.intl",
|
|
262
|
-
mediaType: "video",
|
|
263
|
-
project: {
|
|
264
|
-
filePrefix: "TESTPROJECT"
|
|
265
|
-
}
|
|
266
|
-
};
|
|
267
|
-
let options = {
|
|
268
|
-
language: "ENG",
|
|
269
|
-
tags: {
|
|
270
|
-
Codec: "prores",
|
|
271
|
-
Text: "txtd",
|
|
272
|
-
// Resolution: '640x480',
|
|
273
|
-
Framerate: "23.98",
|
|
274
|
-
"Frame Mode": "progressive"
|
|
275
|
-
}
|
|
276
|
-
};
|
|
277
|
-
let mediaType = 'video';
|
|
278
|
-
expect(() => {
|
|
279
|
-
Filename.render({
|
|
280
|
-
allTags,
|
|
281
|
-
allTypes,
|
|
282
|
-
asset,
|
|
283
|
-
options,
|
|
284
|
-
mediaType
|
|
285
|
-
});
|
|
286
|
-
}).toThrow("missing options.tags.Resolution");
|
|
287
|
-
});
|
|
288
|
-
|
|
289
|
-
it("throws exception if missing Framerate", function() {
|
|
290
|
-
let asset = {
|
|
291
|
-
name: "Test Asset A",
|
|
292
|
-
slug: "test-asset-a",
|
|
293
|
-
type: "trailer.intl",
|
|
294
|
-
mediaType: "video",
|
|
295
|
-
project: {
|
|
296
|
-
filePrefix: "TESTPROJECT"
|
|
297
|
-
}
|
|
298
|
-
};
|
|
299
|
-
let options = {
|
|
300
|
-
language: "ENG",
|
|
301
|
-
tags: {
|
|
302
|
-
Codec: "prores",
|
|
303
|
-
Text: "txtd",
|
|
304
|
-
Resolution: "640x480",
|
|
305
|
-
// Framerate: '23.98',
|
|
306
|
-
"Frame Mode": "progressive"
|
|
307
|
-
}
|
|
308
|
-
};
|
|
309
|
-
let mediaType = 'video';
|
|
310
|
-
expect(() => {
|
|
311
|
-
Filename.render({
|
|
312
|
-
allTags,
|
|
313
|
-
allTypes,
|
|
314
|
-
asset,
|
|
315
|
-
options,
|
|
316
|
-
mediaType
|
|
317
|
-
});
|
|
318
|
-
}).toThrow("missing options.tags.Framerate");
|
|
319
|
-
});
|
|
320
|
-
|
|
321
|
-
it("throws exception if missing Frame Mode", function() {
|
|
322
|
-
let asset = {
|
|
323
|
-
name: "Test Asset A",
|
|
324
|
-
slug: "test-asset-a",
|
|
325
|
-
type: "trailer.intl",
|
|
326
|
-
mediaType: "video",
|
|
327
|
-
project: {
|
|
328
|
-
filePrefix: "TESTPROJECT"
|
|
329
|
-
}
|
|
330
|
-
};
|
|
331
|
-
let options = {
|
|
332
|
-
language: "ENG",
|
|
333
|
-
tags: {
|
|
334
|
-
Codec: "prores",
|
|
335
|
-
Text: "txtd",
|
|
336
|
-
Resolution: "640x480",
|
|
337
|
-
Framerate: "23.98"
|
|
338
|
-
// "Frame Mode": 'progressive'
|
|
339
|
-
}
|
|
340
|
-
};
|
|
341
|
-
let mediaType = 'video';
|
|
342
|
-
expect(() => {
|
|
343
|
-
Filename.render({ allTags, allTypes, asset, options, mediaType });
|
|
344
|
-
}).toThrow("missing options.tags[Frame Mode]");
|
|
345
|
-
});
|
|
346
|
-
|
|
347
|
-
xit("throws exception if missing asset.length (featurette)", function() {
|
|
348
|
-
let asset = {
|
|
349
|
-
name: "Test Asset A",
|
|
350
|
-
slug: "test-asset-a",
|
|
351
|
-
type: "featurette",
|
|
352
|
-
mediaType: "video",
|
|
353
|
-
project: {
|
|
354
|
-
filePrefix: "TESTPROJECT"
|
|
355
|
-
}
|
|
356
|
-
};
|
|
357
|
-
let options = {
|
|
358
|
-
language: "ENG",
|
|
359
|
-
tags: {
|
|
360
|
-
Text: "txtd"
|
|
361
|
-
}
|
|
362
|
-
};
|
|
363
|
-
expect(() => {
|
|
364
|
-
Filename.render({ allTags, allTypes, asset, options });
|
|
365
|
-
}).toThrow("missing asset.length");
|
|
366
|
-
});
|
|
367
|
-
|
|
368
|
-
it("throws exception if missing asset.project.filePrefix", function() {
|
|
369
|
-
let asset = {
|
|
370
|
-
name: "Test Asset A",
|
|
371
|
-
slug: "test-asset-a",
|
|
372
|
-
type: "trailer.intl",
|
|
373
|
-
project: {
|
|
374
|
-
// filePrefix: 'TESTPROJECT'
|
|
375
|
-
}
|
|
376
|
-
};
|
|
377
|
-
let options = {
|
|
378
|
-
language: "ENG"
|
|
379
|
-
};
|
|
380
|
-
expect(() => {
|
|
381
|
-
Filename.render({ allTags, allTypes, asset, options });
|
|
382
|
-
}).toThrow("missing asset.project.filePrefix");
|
|
383
|
-
});
|
|
384
|
-
|
|
385
|
-
it("throws exception if missing asset.name", function() {
|
|
386
|
-
let asset = {
|
|
387
|
-
// name: 'Test Asset A',
|
|
388
|
-
slug: "test-asset-a",
|
|
389
|
-
type: "trailer.intl",
|
|
390
|
-
project: {
|
|
391
|
-
filePrefix: "TESTPROJECT"
|
|
392
|
-
}
|
|
393
|
-
};
|
|
394
|
-
let options = {
|
|
395
|
-
language: "ENG"
|
|
396
|
-
};
|
|
397
|
-
expect(() => {
|
|
398
|
-
Filename.render({ allTags, allTypes, asset, options });
|
|
399
|
-
}).toThrow("missing asset.name");
|
|
400
|
-
});
|
|
84
|
+
|
|
401
85
|
|
|
402
|
-
|
|
403
|
-
let asset = {
|
|
404
|
-
name: "Test Asset A",
|
|
405
|
-
slug: "test-asset-a",
|
|
406
|
-
// type: 'trailer.intl',
|
|
407
|
-
project: {
|
|
408
|
-
filePrefix: "TESTPROJECT"
|
|
409
|
-
}
|
|
410
|
-
};
|
|
411
|
-
let options = {
|
|
412
|
-
language: "ENG"
|
|
413
|
-
};
|
|
414
|
-
expect(() => {
|
|
415
|
-
Filename.render({ allTags, allTypes, asset, options });
|
|
416
|
-
}).toThrow("missing asset.type");
|
|
417
|
-
});
|
|
418
|
-
|
|
419
|
-
it("throws exception if missing options.language", function() {
|
|
420
|
-
let asset = {
|
|
421
|
-
name: "Test Asset A",
|
|
422
|
-
slug: "test-asset-a",
|
|
423
|
-
type: "trailer.intl",
|
|
424
|
-
mediaType: "video",
|
|
425
|
-
project: {
|
|
426
|
-
filePrefix: "TESTPROJECT"
|
|
427
|
-
}
|
|
428
|
-
};
|
|
429
|
-
expect(() => {
|
|
430
|
-
Filename.render({
|
|
431
|
-
allTags,
|
|
432
|
-
allTypes,
|
|
433
|
-
asset
|
|
434
|
-
});
|
|
435
|
-
}).toThrow("missing options.language");
|
|
436
|
-
});
|
|
437
|
-
|
|
438
|
-
it("throws exception if missing options.tags.Text", function() {
|
|
439
|
-
let asset = {
|
|
440
|
-
name: "Test Asset A",
|
|
441
|
-
slug: "test-asset-a",
|
|
442
|
-
type: "trailer.intl",
|
|
443
|
-
mediaType: "video",
|
|
444
|
-
project: {
|
|
445
|
-
filePrefix: "TESTPROJECT"
|
|
446
|
-
}
|
|
447
|
-
};
|
|
448
|
-
let options = {
|
|
449
|
-
tags: {
|
|
450
|
-
Text: ""
|
|
451
|
-
}
|
|
452
|
-
};
|
|
453
|
-
expect(() => {
|
|
454
|
-
Filename.render({
|
|
455
|
-
allTags,
|
|
456
|
-
allTypes,
|
|
457
|
-
asset,
|
|
458
|
-
options
|
|
459
|
-
});
|
|
460
|
-
}).toThrow("missing options.language");
|
|
461
|
-
});
|
|
462
|
-
|
|
463
|
-
it("renders country and territory", function() {
|
|
464
|
-
let asset = {
|
|
465
|
-
name: "Test Asset A",
|
|
466
|
-
slug: "test-asset-a",
|
|
467
|
-
type: "trailer.intl",
|
|
468
|
-
mediaType: "video",
|
|
469
|
-
project: {
|
|
470
|
-
filePrefix: "TESTPROJECT"
|
|
471
|
-
}
|
|
472
|
-
};
|
|
473
|
-
let options = {
|
|
474
|
-
language: "ENG",
|
|
475
|
-
country: "US",
|
|
476
|
-
tags: {
|
|
477
|
-
Text: "txtd",
|
|
478
|
-
Codec: "prores",
|
|
479
|
-
Resolution: "640x480",
|
|
480
|
-
Framerate: "23.98",
|
|
481
|
-
"Frame Mode": "progressive"
|
|
482
|
-
}
|
|
483
|
-
};
|
|
484
|
-
expect(Filename.render({ allTags, allTypes, asset, options })).toBe(
|
|
485
|
-
"TESTPROJECT_ITR-TEST-ASSET-A_ENG-US_TXTD_PRORES_480p2398"
|
|
486
|
-
);
|
|
487
|
-
});
|
|
488
|
-
|
|
489
|
-
it("renders domestic trailer type with custom name", function() {
|
|
490
|
-
let asset = {
|
|
491
|
-
name: "Test Asset A",
|
|
492
|
-
slug: "test-asset-a",
|
|
493
|
-
type: "trailer.us",
|
|
494
|
-
mediaType: "video",
|
|
495
|
-
project: {
|
|
496
|
-
filePrefix: "TESTPROJECT"
|
|
497
|
-
}
|
|
498
|
-
};
|
|
499
|
-
let options = {
|
|
500
|
-
language: "ENG",
|
|
501
|
-
tags: {
|
|
502
|
-
Text: "txtd",
|
|
503
|
-
Codec: "prores",
|
|
504
|
-
Resolution: "640x480",
|
|
505
|
-
Framerate: "23.98",
|
|
506
|
-
"Frame Mode": "progressive"
|
|
507
|
-
}
|
|
508
|
-
};
|
|
509
|
-
expect(Filename.render({ allTags, allTypes, asset, options })).toBe(
|
|
510
|
-
"TESTPROJECT_DTR-TEST-ASSET-A_ENG_TXTD_PRORES_480p2398"
|
|
511
|
-
);
|
|
512
|
-
});
|
|
513
|
-
|
|
514
|
-
it("renders generic trailer type", function() {
|
|
515
|
-
let asset = {
|
|
516
|
-
name: "Generic Trailer",
|
|
517
|
-
slug: "generic-trailer",
|
|
518
|
-
type: "trailer",
|
|
519
|
-
mediaType: "video",
|
|
520
|
-
project: {
|
|
521
|
-
filePrefix: "TESTPROJECT"
|
|
522
|
-
}
|
|
523
|
-
};
|
|
524
|
-
let options = {
|
|
525
|
-
language: "ENG",
|
|
526
|
-
tags: {
|
|
527
|
-
Text: "txtd",
|
|
528
|
-
Codec: "prores",
|
|
529
|
-
Resolution: "640x480",
|
|
530
|
-
Framerate: "23.98",
|
|
531
|
-
"Frame Mode": "progressive"
|
|
532
|
-
}
|
|
533
|
-
};
|
|
534
|
-
expect(Filename.render({ allTags, allTypes, asset, options })).toBe(
|
|
535
|
-
"TESTPROJECT_TR-GENERIC-TRAILER_ENG_TXTD_PRORES_480p2398"
|
|
536
|
-
);
|
|
537
|
-
});
|
|
538
|
-
|
|
539
|
-
it("renders non-trailer types", function() {
|
|
540
|
-
let asset = {
|
|
541
|
-
name: "Cool Spot 15",
|
|
542
|
-
slug: "cool-spot-15",
|
|
543
|
-
type: "tv-spot.intl",
|
|
544
|
-
mediaType: "video",
|
|
545
|
-
project: {
|
|
546
|
-
filePrefix: "TESTPROJECT"
|
|
547
|
-
}
|
|
548
|
-
};
|
|
549
|
-
let options = {
|
|
550
|
-
language: "ENG",
|
|
551
|
-
tags: {
|
|
552
|
-
Text: "txtd",
|
|
553
|
-
Codec: "prores",
|
|
554
|
-
Resolution: "640x480",
|
|
555
|
-
Framerate: "23.98",
|
|
556
|
-
"Frame Mode": "progressive"
|
|
557
|
-
}
|
|
558
|
-
};
|
|
559
|
-
expect(Filename.render({ allTags, allTypes, asset, options })).toBe(
|
|
560
|
-
"TESTPROJECT_TV-SPOT-INTL_COOL-SPOT-15_ENG_TXTD_PRORES_480p2398"
|
|
561
|
-
);
|
|
562
|
-
});
|
|
563
|
-
|
|
564
|
-
it("throws an error if asset type does not exist", function() {
|
|
565
|
-
let asset = {
|
|
566
|
-
name: "Cool Spot 15",
|
|
567
|
-
slug: "cool-spot-15",
|
|
568
|
-
type: "doesnt-exist",
|
|
569
|
-
mediaType: "video",
|
|
570
|
-
project: {
|
|
571
|
-
filePrefix: "TESTPROJECT"
|
|
572
|
-
}
|
|
573
|
-
};
|
|
574
|
-
let options = {
|
|
575
|
-
language: "ENG",
|
|
576
|
-
tags: {
|
|
577
|
-
Text: "txtd",
|
|
578
|
-
Codec: "prores",
|
|
579
|
-
Resolution: "640x480",
|
|
580
|
-
Framerate: "23.98",
|
|
581
|
-
"Frame Mode": "progressive"
|
|
582
|
-
}
|
|
583
|
-
};
|
|
584
|
-
expect(function() {
|
|
585
|
-
Filename.render({ allTags, allTypes, asset, options });
|
|
586
|
-
}).toThrow('Asset type "doesnt-exist" could not be found');
|
|
587
|
-
});
|
|
588
|
-
|
|
589
|
-
it("contains running time from film clips", function() {
|
|
590
|
-
let asset = {
|
|
591
|
-
name: "Ultra Violence",
|
|
592
|
-
slug: "ultra-violence",
|
|
593
|
-
type: "film-clip.intl",
|
|
594
|
-
length: 63,
|
|
595
|
-
mediaType: "video",
|
|
596
|
-
project: {
|
|
597
|
-
filePrefix: "TESTPROJECT"
|
|
598
|
-
}
|
|
599
|
-
};
|
|
600
|
-
let options = {
|
|
601
|
-
language: "ENG",
|
|
602
|
-
tags: {
|
|
603
|
-
Text: "txtd",
|
|
604
|
-
Codec: "prores",
|
|
605
|
-
Resolution: "640x480",
|
|
606
|
-
Framerate: "23.98",
|
|
607
|
-
"Frame Mode": "progressive"
|
|
608
|
-
}
|
|
609
|
-
};
|
|
610
|
-
expect(Filename.render({ allTags, allTypes, asset, options })).toBe(
|
|
611
|
-
"TESTPROJECT_FILM-CLIP-INTL_ULTRA-VIOLENCE_1MIN3SEC_ENG_TXTD_PRORES_480p2398"
|
|
612
|
-
);
|
|
613
|
-
|
|
614
|
-
asset.length = 60;
|
|
615
|
-
|
|
616
|
-
expect(Filename.render({ allTags, allTypes, asset, options })).toBe(
|
|
617
|
-
"TESTPROJECT_FILM-CLIP-INTL_ULTRA-VIOLENCE_1MIN_ENG_TXTD_PRORES_480p2398"
|
|
618
|
-
);
|
|
619
|
-
|
|
620
|
-
asset.length = 45;
|
|
621
|
-
|
|
622
|
-
expect(Filename.render({ allTags, allTypes, asset, options })).toBe(
|
|
623
|
-
"TESTPROJECT_FILM-CLIP-INTL_ULTRA-VIOLENCE_45SEC_ENG_TXTD_PRORES_480p2398"
|
|
624
|
-
);
|
|
625
|
-
});
|
|
626
|
-
|
|
627
|
-
it("renders `set` tags when all tags in `set` are specified but retains `codec`", function() {
|
|
628
|
-
let asset = {
|
|
629
|
-
name: "Test Asset A",
|
|
630
|
-
slug: "test-asset-a",
|
|
631
|
-
type: "trailer.intl",
|
|
632
|
-
mediaType: "video",
|
|
633
|
-
project: {
|
|
634
|
-
filePrefix: "TESTPROJECT"
|
|
635
|
-
}
|
|
636
|
-
};
|
|
637
|
-
let options = {
|
|
638
|
-
language: "ENG",
|
|
639
|
-
tags: {
|
|
640
|
-
Codec: "h264",
|
|
641
|
-
Resolution: "1920x1080",
|
|
642
|
-
Usage: "online",
|
|
643
|
-
Text: "txtd",
|
|
644
|
-
Framerate: "23.98",
|
|
645
|
-
"Frame Mode": "progressive"
|
|
646
|
-
}
|
|
647
|
-
};
|
|
648
|
-
expect(Filename.render({ allTags, allTypes, asset, options })).toBe(
|
|
649
|
-
"TESTPROJECT_ITR-TEST-ASSET-A_ENG_TXTD_H264_1080p2398"
|
|
650
|
-
);
|
|
651
|
-
});
|
|
652
|
-
|
|
653
|
-
it("includes `Frame mode` and `Framerate`", function() {
|
|
654
|
-
let asset = {
|
|
655
|
-
name: "Test Asset A",
|
|
656
|
-
slug: "test-asset-a",
|
|
657
|
-
type: "trailer.intl",
|
|
658
|
-
mediaType: "video",
|
|
659
|
-
project: {
|
|
660
|
-
filePrefix: "TESTPROJECT"
|
|
661
|
-
}
|
|
662
|
-
};
|
|
663
|
-
let options = {
|
|
664
|
-
language: "ENG",
|
|
665
|
-
country: "WW",
|
|
666
|
-
tags: {
|
|
667
|
-
Resolution: "1920x1080",
|
|
668
|
-
"Frame Mode": "progressive",
|
|
669
|
-
Framerate: "29.97",
|
|
670
|
-
Text: "txtd",
|
|
671
|
-
Extra: ["COMING-SOON", "HOJE"],
|
|
672
|
-
Codec: "PRORES"
|
|
673
|
-
}
|
|
674
|
-
};
|
|
675
|
-
expect(Filename.render({ allTags, allTypes, asset, options })).toBe(
|
|
676
|
-
"TESTPROJECT_ITR-TEST-ASSET-A_ENG_TXTD_COMING-SOON_HOJE_PRORES_1080p2997"
|
|
677
|
-
);
|
|
678
|
-
});
|
|
679
|
-
|
|
680
|
-
it("does not redundantly include tag info", function() {
|
|
681
|
-
let asset = {
|
|
682
|
-
name: "Test Asset A",
|
|
683
|
-
slug: "test-asset-a",
|
|
684
|
-
type: "trailer.intl",
|
|
685
|
-
mediaType: "video",
|
|
686
|
-
project: {
|
|
687
|
-
filePrefix: "TESTPROJECT"
|
|
688
|
-
}
|
|
689
|
-
};
|
|
690
|
-
let options = {
|
|
691
|
-
language: "ENG",
|
|
692
|
-
country: "WW",
|
|
693
|
-
tags: {
|
|
694
|
-
Resolution: "1080i",
|
|
695
|
-
"Frame Mode": "progressive",
|
|
696
|
-
Framerate: "29.97",
|
|
697
|
-
Text: "txtd",
|
|
698
|
-
Extra: ["COMING-SOON", "HOJE"],
|
|
699
|
-
Codec: "PRORES"
|
|
700
|
-
}
|
|
701
|
-
};
|
|
702
|
-
expect(Filename.render({ allTags, allTypes, asset, options })).toBe(
|
|
703
|
-
"TESTPROJECT_ITR-TEST-ASSET-A_ENG_TXTD_COMING-SOON_HOJE_PRORES_1080i2997"
|
|
704
|
-
);
|
|
705
|
-
|
|
706
|
-
options = {
|
|
707
|
-
language: "ENG",
|
|
708
|
-
country: "WW",
|
|
709
|
-
tags: {
|
|
710
|
-
Usage: "online",
|
|
711
|
-
Aspect: "16:9",
|
|
712
|
-
Codec: "h264",
|
|
713
|
-
Resolution: "1920x1080",
|
|
714
|
-
"Frame Mode": "progressive",
|
|
715
|
-
Framerate: "29.97",
|
|
716
|
-
Text: "txtd",
|
|
717
|
-
Extra: ["COMING-SOON", "HOJE"]
|
|
718
|
-
}
|
|
719
|
-
};
|
|
720
|
-
|
|
721
|
-
expect(Filename.render({ allTags, allTypes, asset, options })).toBe(
|
|
722
|
-
"TESTPROJECT_ITR-TEST-ASSET-A_ENG_TXTD_COMING-SOON_HOJE_H264_1080p2997"
|
|
723
|
-
);
|
|
724
|
-
});
|
|
725
|
-
|
|
726
|
-
it("converts asset names containing `int'l` to `intl`", function() {
|
|
727
|
-
let asset = {
|
|
728
|
-
type: "tv-spot.intl",
|
|
729
|
-
name: "Test Asset Int'l 10",
|
|
730
|
-
slug: "test-asset-intl-10",
|
|
731
|
-
mediaType: "video",
|
|
732
|
-
project: {
|
|
733
|
-
filePrefix: "TESTPROJECT"
|
|
734
|
-
}
|
|
735
|
-
};
|
|
736
|
-
let options = {
|
|
737
|
-
language: "ENG",
|
|
738
|
-
country: "WW",
|
|
739
|
-
tags: {
|
|
740
|
-
Text: "txtd",
|
|
741
|
-
Extra: ["COMING-SOON", "HOJE"],
|
|
742
|
-
Codec: "prores",
|
|
743
|
-
Resolution: "640x480",
|
|
744
|
-
Framerate: "23.98",
|
|
745
|
-
"Frame Mode": "progressive"
|
|
746
|
-
}
|
|
747
|
-
};
|
|
748
|
-
expect(Filename.render({ allTags, allTypes, asset, options })).toBe(
|
|
749
|
-
"TESTPROJECT_TV-SPOT-INTL_TEST-ASSET-INTL-10_ENG_TXTD_COMING-SOON_HOJE_PRORES_480p2398"
|
|
750
|
-
);
|
|
751
|
-
});
|
|
752
|
-
|
|
753
|
-
it("renders sub and dub tags", function() {
|
|
754
|
-
let asset = {
|
|
755
|
-
type: "tv-spot.intl",
|
|
756
|
-
name: "Test Asset Int'l 10",
|
|
757
|
-
slug: "test-asset-int-l-10",
|
|
758
|
-
mediaType: "video",
|
|
759
|
-
project: {
|
|
760
|
-
filePrefix: "TESTPROJECT"
|
|
761
|
-
}
|
|
762
|
-
};
|
|
763
|
-
let options = {
|
|
764
|
-
language: "ENG",
|
|
765
|
-
country: "WW",
|
|
766
|
-
tags: {
|
|
767
|
-
SubDub: {
|
|
768
|
-
sub: true,
|
|
769
|
-
dub: false
|
|
770
|
-
},
|
|
771
|
-
Extra: ["COMING-SOON", "HOJE"],
|
|
772
|
-
Codec: "PRORES",
|
|
773
|
-
Resolution: "640x480",
|
|
774
|
-
Framerate: "23.98",
|
|
775
|
-
"Frame Mode": "progressive"
|
|
776
|
-
}
|
|
777
|
-
};
|
|
778
|
-
expect(Filename.render({ allTags, allTypes, asset, options })).toBe(
|
|
779
|
-
"TESTPROJECT_TV-SPOT-INTL_TEST-ASSET-INTL-10_ENG_SUB_COMING-SOON_HOJE_PRORES_480p2398"
|
|
780
|
-
);
|
|
781
|
-
|
|
782
|
-
Object.assign(options.tags.SubDub, {
|
|
783
|
-
sub: true,
|
|
784
|
-
dub: true
|
|
785
|
-
});
|
|
786
|
-
|
|
787
|
-
expect(Filename.render({ allTags, allTypes, asset, options })).toBe(
|
|
788
|
-
"TESTPROJECT_TV-SPOT-INTL_TEST-ASSET-INTL-10_ENG_SUB_DUB_COMING-SOON_HOJE_PRORES_480p2398"
|
|
789
|
-
);
|
|
790
|
-
});
|
|
86
|
+
|
|
791
87
|
});
|
|
792
88
|
});
|