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