forked from pietrop/edl-composer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.test.js
120 lines (100 loc) · 3.29 KB
/
index.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
// const EDL = require('edl_composer');
const EDL = require('./index.js');
var edlSq = {
"title": "Demo Title of project",
"events": [
{ "id":1,
"startTime": 10, // in seconds
"endTime": 20,
"reelName":"SomeReelName",
"clipName":"Something.mov",
"offset": "00:00:28:08", //offset is optional default is "00:00:00:00"
"fps": 25
},
{ "id":2,
"startTime": 45,
"endTime": 55,
"reelName":"SomeOtherReelName",
"clipName":"SomethingElse.mov",
"offset": "00:00:28:08",
"fps": 29.97
},
{ "id":3,
"startTime": 45,
"endTime": 55,
"reelName":"NA",
"clipName":"SomethingElse.mov",
"offset": "00:00:28:08",
"fps": 24
}
]
}
const edlExpectedOutput = `TITLE: Demo Title of project
FCM: NON-DROP FRAME
001 SOMEREE AA/V C 00:00:38:08 00:00:48:08 00:00:00:00 00:00:10:00
* FROM CLIP NAME: Something.mov
FINAL CUT PRO REEL: SomeReelName REPLACED BY: SOMEREE
002 SOMEOTH AA/V C 00:01:13:09 00:01:23:09 00:00:09:29 00:00:19:29
* FROM CLIP NAME: SomethingElse.mov
FINAL CUT PRO REEL: SomeOtherReelName REPLACED BY: SOMEOTH
003 AX AA/V C 00:01:13:06 00:01:23:06 00:00:20:00 00:00:30:00
* FROM CLIP NAME: SomethingElse.mov
`;
const edlSqWithMXF = {
"title": "Demo MXF EDL project",
"events": [
{ "id":1,
"startTime": 1.62, // in seconds
"endTime": 11.86,
"reelName":"NA",
"clipName":"516_0008.MXF",
"offset": "00:38:43:04", //offset is optional default is "00:00:00:00"
"fps": 25//23.98
},
{ "id":2,
"startTime": 16.02,
"endTime": 22.98,
"reelName":"NA",
"clipName":"516_0008.MXF",
"offset": "00:38:43:04",
"fps":23.98
}
]
};
const edlExpectedOutputWithMXF = `TITLE: Demo MXF EDL project
FCM: NON-DROP FRAME
001 AX V C 00:38:44:19 00:38:55:00 00:00:00:00 00:00:10:06
* FROM CLIP NAME: 516_0008.MXF
002 AX AA C 00:38:44:19 00:38:55:00 00:00:00:00 00:00:10:06
* FROM CLIP NAME: 516_0008.MXF
* AUDIO LEVEL AT 00:38:44:19 IS -8.98 DB (REEL AX A1)
* AUDIO LEVEL AT 00:38:44:19 IS -8.98 DB (REEL AX A2)
003 AX NONE C 00:38:44:19 00:38:55:00 00:00:00:00 00:00:10:06
* FROM CLIP NAME: 516_0008.MXF
* AUDIO LEVEL AT 00:38:44:19 IS -8.98 DB (REEL AX A3)
* AUDIO LEVEL AT 00:38:44:19 IS -8.98 DB (REEL AX A4)
AUD 3 4
004 AX V C 00:38:59:03 00:39:06:02 00:00:10:05 00:00:17:04
* FROM CLIP NAME: 516_0008.MXF
005 AX AA C 00:38:59:03 00:39:06:02 00:00:10:05 00:00:17:04
* FROM CLIP NAME: 516_0008.MXF
* AUDIO LEVEL AT 00:38:59:03 IS -8.98 DB (REEL AX A1)
* AUDIO LEVEL AT 00:38:59:03 IS -8.98 DB (REEL AX A2)
006 AX NONE C 00:38:59:03 00:39:06:02 00:00:10:05 00:00:17:04
* FROM CLIP NAME: 516_0008.MXF
* AUDIO LEVEL AT 00:38:59:03 IS -8.98 DB (REEL AX A3)
* AUDIO LEVEL AT 00:38:59:03 IS -8.98 DB (REEL AX A4)
AUD 3 4
`
test('To return a string', () => {
var edl = new EDL(edlSq);
expect(typeof edl.compose()).toBe('string');
});
test('To return EDL File content', () => {
var edl = new EDL(edlSq);
expect(edl.compose()).toBe(edlExpectedOutput);
});
test('To return EDL File content', () => {
var edl2 = new EDL(edlSqWithMXF);
expect(edl2 .compose()).toBe(edlExpectedOutputWithMXF);
});