Difference between revisions of "Cue Times"
(→Deva (Thevakaran)) |
(→Dale: renamed files) |
||
(32 intermediate revisions by 3 users not shown) | |||
Line 31: | Line 31: | ||
== Tests == | == Tests == | ||
+ | TC3000 - TC3099: Dale | ||
+ | |||
+ | TC3100 - TC3199: Deva | ||
+ | |||
+ | TC3200 - TC3299: Vince | ||
=== Dale === | === Dale === | ||
URL to git repo with tests: https://github.com/daliuss/webvtt/tree/master/test/spec | URL to git repo with tests: https://github.com/daliuss/webvtt/tree/master/test/spec | ||
Line 43: | Line 48: | ||
|class="header"|'''Peer Review''' | |class="header"|'''Peer Review''' | ||
|- | |- | ||
− | | | + | |tc3200-bare_minimum.test |
|Bare minimum file that passes (no cue content) | |Bare minimum file that passes (no cue content) | ||
|Pass | |Pass | ||
Line 49: | Line 54: | ||
|ST2 | |ST2 | ||
| | | | ||
− | | | + | |09/27 by Vince |
|- | |- | ||
− | | | + | |tc3201-bare_minimum_content.test |
|Bare minimum file that passes (cue content) | |Bare minimum file that passes (cue content) | ||
|Pass | |Pass | ||
|Conforms to spec (section 3.1 in W3C draft) | |Conforms to spec (section 3.1 in W3C draft) | ||
|ST2 | |ST2 | ||
− | | | + | |Should the content be there or is someone else testing this? |
− | | | + | |09/27 by Vince |
|- | |- | ||
− | | | + | |tc3202-highest_values.test |
|Highest legal values allowed in time stamps | |Highest legal values allowed in time stamps | ||
|Pass | |Pass | ||
|Conforms to spec (section 3.1 in W3C draft) | |Conforms to spec (section 3.1 in W3C draft) | ||
|ST2 | |ST2 | ||
− | | | + | |Can hours go to 3 digits? I think it can. |
− | | | + | |09/27 by Vince |
|- | |- | ||
− | | | + | |tc3203-space_tabs.test |
|Lots of tab/space chars between timestamps and "-->" | |Lots of tab/space chars between timestamps and "-->" | ||
|Pass | |Pass | ||
Line 73: | Line 78: | ||
|ST2 | |ST2 | ||
| | | | ||
− | | | + | |09/27 by Vince |
|- | |- | ||
− | | | + | |tc3204-tabs.test |
|Using tab characters instead of space characters | |Using tab characters instead of space characters | ||
|Pass | |Pass | ||
|Conforms to spec (section 3.1 in W3C draft) | |Conforms to spec (section 3.1 in W3C draft) | ||
|ST2 | |ST2 | ||
− | | | + | |Should the comment be there? |
− | | | + | |09/27 by Vince |
|- | |- | ||
− | | | + | |tc3205-hours.test |
|Includes optional hours characters in timestamps | |Includes optional hours characters in timestamps | ||
|Pass | |Pass | ||
Line 89: | Line 94: | ||
|ST2 | |ST2 | ||
| | | | ||
− | | | + | |09/27 by Vince |
|- | |- | ||
− | | | + | |tc3206-multicues.test |
|The second cue's start time and the first cue's end time are the same | |The second cue's start time and the first cue's end time are the same | ||
|Pass | |Pass | ||
Line 97: | Line 102: | ||
|ST2 | |ST2 | ||
| | | | ||
− | | | + | |09/27 by Vince |
|- | |- | ||
− | | | + | |tc3207-nestedcues.test |
|Some cue times are nested within another cue | |Some cue times are nested within another cue | ||
|Pass | |Pass | ||
|Conforms to spec (section 3.1 in W3C draft) | |Conforms to spec (section 3.1 in W3C draft) | ||
|ST2 | |ST2 | ||
− | | | + | |Thank you for testing this! I'll make a broken one later. |
− | | | + | |09/27 by Vince |
|- | |- | ||
− | | | + | |tc3208-overlappingcues.test |
|There is overlap time between the two cues | |There is overlap time between the two cues | ||
|Pass | |Pass | ||
Line 113: | Line 118: | ||
|ST2 | |ST2 | ||
| | | | ||
− | | | + | |09/27 by Vince |
|- | |- | ||
|} | |} | ||
Line 129: | Line 134: | ||
|class="header"|'''Peer Review''' | |class="header"|'''Peer Review''' | ||
|- | |- | ||
− | | | + | |tc3201.test |
|'''00:00.000 --> 00:00.000''' | |'''00:00.000 --> 00:00.000''' | ||
|Fail | |Fail | ||
Line 137: | Line 142: | ||
|Dale, Sept 26 2012 | |Dale, Sept 26 2012 | ||
|- | |- | ||
− | | | + | |tc3202.test |
|00:00.'''001''' --> 00:00.000 | |00:00.'''001''' --> 00:00.000 | ||
|Fail | |Fail | ||
Line 145: | Line 150: | ||
|Dale, Sept 26 2012 | |Dale, Sept 26 2012 | ||
|- | |- | ||
− | | | + | |tc3203.test |
|00:00.000 00:00.001 | |00:00.000 00:00.001 | ||
|Fail | |Fail | ||
Line 153: | Line 158: | ||
|Dale, Sept 26 2012 | |Dale, Sept 26 2012 | ||
|- | |- | ||
− | | | + | |tc3204.test |
|00:00.'''0000''' --> 00:00.001 | |00:00.'''0000''' --> 00:00.001 | ||
|Fail | |Fail | ||
Line 161: | Line 166: | ||
|Dale, Sept 26 2012 | |Dale, Sept 26 2012 | ||
|- | |- | ||
− | | | + | |tc3205.test |
|00:'''000'''.000 --> 00:00.001 | |00:'''000'''.000 --> 00:00.001 | ||
|Fail | |Fail | ||
Line 169: | Line 174: | ||
|Dale, Sept 26 2012 | |Dale, Sept 26 2012 | ||
|- | |- | ||
− | | | + | |tc3206.test |
|'''000''':00.000 --> 00:00.001 | |'''000''':00.000 --> 00:00.001 | ||
|Fail | |Fail | ||
Line 177: | Line 182: | ||
|Dale, Sept 26 2012 | |Dale, Sept 26 2012 | ||
|- | |- | ||
− | | | + | |tc3207.test |
|'''00:'''0:00:00.000 --> '''00:'''0:00:00.001 | |'''00:'''0:00:00.000 --> '''00:'''0:00:00.001 | ||
|Fail | |Fail | ||
Line 185: | Line 190: | ||
| | | | ||
|- | |- | ||
− | | | + | |tc3208.test |
|:00:00.000 --> 00:00.001 | |:00:00.000 --> 00:00.001 | ||
|Fail | |Fail | ||
Line 193: | Line 198: | ||
| | | | ||
|- | |- | ||
− | | | + | |tc3209.test |
|00:01.000 --> 00:01.001 <br /><br /> 00:00.000 --> 00:00.001 | |00:01.000 --> 00:01.001 <br /><br /> 00:00.000 --> 00:00.001 | ||
|Fail | |Fail | ||
Line 204: | Line 209: | ||
'''TODO:''' Break hour, see if days work, create multiple cue times that don't make sense (first cue at 2 minutes, second at 1 minute) | '''TODO:''' Break hour, see if days work, create multiple cue times that don't make sense (first cue at 2 minutes, second at 1 minute) | ||
− | + | === Deva === | |
− | |||
− | === Deva | ||
Writing some test cases that not covered by Dale or Vince | Writing some test cases that not covered by Dale or Vince | ||
{| border="1" | {| border="1" | ||
Line 218: | Line 221: | ||
|class="header"|'''Peer Review''' | |class="header"|'''Peer Review''' | ||
|- | |- | ||
− | | | + | |[https://github.com/gobihun/webvtt/blob/master/test/spec/bad/TC3100_cuetime_minute_BAD.test TC3100_cuetime_minute_BAD.test] |
|Minute should have only two characters in the range U+0030 to U+0039. | |Minute should have only two characters in the range U+0030 to U+0039. | ||
|Fail | |Fail | ||
Line 226: | Line 229: | ||
| | | | ||
|- | |- | ||
− | | | + | |[https://github.com/gobihun/webvtt/blob/master/test/spec/bad/TC3101_cuetime_second_BAD.test TC3101_cuetime_socond_BAD.test] |
− | | | + | |Second should have only two characters in the range U+0030 to U+0039. |
− | | | + | |Fail |
− | |[ | + | |W3C WebVTT Standard - Explained in 3.1 Syntax |
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |||
+ | |[https://github.com/gobihun/webvtt/blob/master/test/spec/bad/TC3100_cuetime_spacetab_BAD.test TC3102_cuetime_spacetab_BAD.test] | ||
+ | |Between timestamp and '-->' should have one or more white space/s. | ||
+ | |Fail | ||
+ | |W3C WebVTT Standard - Explained in 3.1 Syntax | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |||
+ | |[https://github.com/gobihun/webvtt/blob/master/test/spec/bad/TC3100_cuetime_starttime_BAD.test TC3103_cuetime_starttime_BAD.test] | ||
+ | |Start time must be greater than last cue start time. | ||
+ | |Fail | ||
+ | |W3C WebVTT Standard - Explained in 3.1 Syntax | ||
| | | | ||
| | | | ||
| | | | ||
|- | |- | ||
+ | |||
|} | |} | ||
− | == | + | == Summary == |
− | === | + | === Cue Timestamp - Minimum Requirement === |
* Starting "WEBVTT" title | * Starting "WEBVTT" title | ||
* Two or more WEBVTT line breakers | * Two or more WEBVTT line breakers | ||
Line 253: | Line 275: | ||
− | === | + | === Cue Timestamp Rules === |
− | 1 | + | 1. Should start with any characters in the range of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9) |
− | |||
− | |||
− | + | 2. Can not have any characters other than | |
* U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). | * U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). | ||
* one U+002E FULL STOP character (.). | * one U+002E FULL STOP character (.). | ||
* one U+003A COLON character (:) only if the hour is zero and not included, if not, two U+003A COLON character (:). | * one U+003A COLON character (:) only if the hour is zero and not included, if not, two U+003A COLON character (:). | ||
− | + | 3. Optionally (required if hour is non-zero) include | |
− | * Hour - | + | * Hour - one or more characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9) |
− | + | 4. Should include | |
* Minute - 2 characters in the range of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). Range 00 to 59. | * Minute - 2 characters in the range of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). Range 00 to 59. | ||
* Second - 2 characters in the range of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). Range 00 to 59. | * Second - 2 characters in the range of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). Range 00 to 59. | ||
* Millisecond - 3 characters in the range of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). Range 000 to 999. | * Millisecond - 3 characters in the range of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). Range 000 to 999. | ||
− | + | 5. U+003A COLON character (:) should be used to separate | |
* Hours and Minute | * Hours and Minute | ||
* Minute and second | * Minute and second | ||
− | + | 6. U+002E FULL STOP character (.) should be used between second and millisecond | |
− | + | '''Timestamp format without hour''' | |
− | + | <pre> | |
+ | MM:SS.sss | ||
+ | </pre> | ||
− | + | '''Timestamp format with hour''' | |
+ | <pre> | ||
+ | HH:MM:SS.sss | ||
+ | </pre> | ||
+ | |||
+ | : HH - Hour (1 or more characters) | ||
+ | : MM - Minute (2 character) | ||
+ | : SS - Second (2 character) | ||
+ | : sss - Millisecond (3 character) | ||
+ | |||
+ | === Cue Start Timestamp Rule === | ||
+ | * The cue start timestamp must be greater or equal to last cue start time (Applicable only if there are any previous cue time stamps available) | ||
− | + | === Cue End Timestamp Rule === | |
− | + | * The cue end timestamp must be greater than start time | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 22:40, 30 September 2012
Contents
Group Members
- Vince Lee
- Thevakaran Virutthasalam
- Dale Karp
Test Ideas
- Syntax
- Single cue tests
- Times out of order
- Multiple cue tests
- Nested cues
- Overlapping cues
- Cue times out of order
Testing Procedure
Writing Tests
- Check if the test you have in mind exists already in the wiki
- If not, write your test case file
- When you finish writing, document the test case in the wiki ASAP so you don't forget!
- Commit your test case to the github repo
Peer Review
- Review someone else's test case
- Sign off in the 'Peer Review' column of the table with your name so that we know it's been looked at (TO DO: Create Peer Review column in tables)
Cue Time Syntax Rules
- A WebVTT timestamp representing the start time offset of the cue. The time represented by this WebVTT timestamp must be greater than or equal to the start time offsets of all previous cues in the file.
- One or more U+0020 SPACE characters or U+0009 CHARACTER TABULATION (tab) characters.
- The string "-->" (U+002D HYPHEN-MINUS, U+002D HYPHEN-MINUS, U+003E GREATER-THAN SIGN).
- One or more U+0020 SPACE characters or U+0009 CHARACTER TABULATION (tab) characters.
- A WebVTT timestamp representing the end time offset of the cue. The time represented by this WebVTT timestamp must be greater than the start time offset of the cue.
Tests
TC3000 - TC3099: Dale
TC3100 - TC3199: Deva
TC3200 - TC3299: Vince
Dale
URL to git repo with tests: https://github.com/daliuss/webvtt/tree/master/test/spec
Filename | Description | Should Pass / Fail? | Reasoning | Creation Note | Comments | Peer Review |
tc3200-bare_minimum.test | Bare minimum file that passes (no cue content) | Pass | Conforms to spec (section 3.1 in W3C draft) | ST2 | 09/27 by Vince | |
tc3201-bare_minimum_content.test | Bare minimum file that passes (cue content) | Pass | Conforms to spec (section 3.1 in W3C draft) | ST2 | Should the content be there or is someone else testing this? | 09/27 by Vince |
tc3202-highest_values.test | Highest legal values allowed in time stamps | Pass | Conforms to spec (section 3.1 in W3C draft) | ST2 | Can hours go to 3 digits? I think it can. | 09/27 by Vince |
tc3203-space_tabs.test | Lots of tab/space chars between timestamps and "-->" | Pass | Conforms to spec (section 3.1 in W3C draft) | ST2 | 09/27 by Vince | |
tc3204-tabs.test | Using tab characters instead of space characters | Pass | Conforms to spec (section 3.1 in W3C draft) | ST2 | Should the comment be there? | 09/27 by Vince |
tc3205-hours.test | Includes optional hours characters in timestamps | Pass | Conforms to spec (section 3.1 in W3C draft) | ST2 | 09/27 by Vince | |
tc3206-multicues.test | The second cue's start time and the first cue's end time are the same | Pass | Conforms to spec (section 3.1 in W3C draft) | ST2 | 09/27 by Vince | |
tc3207-nestedcues.test | Some cue times are nested within another cue | Pass | Conforms to spec (section 3.1 in W3C draft) | ST2 | Thank you for testing this! I'll make a broken one later. | 09/27 by Vince |
tc3208-overlappingcues.test | There is overlap time between the two cues | Pass | Conforms to spec (section 3.1 in W3C draft) | ST2 | 09/27 by Vince |
Vince
I'm gonna remake the table using markdown. Hitting <td></td> is tedious
Filename | Description | Should Pass / Fail? | Reasoning | Creation Note | Comments | Peer Review |
tc3201.test | 00:00.000 --> 00:00.000 | Fail | End timestamp must be greater than start timestamp | Dale, Sept 26 2012 | ||
tc3202.test | 00:00.001 --> 00:00.000 | Fail | End timestamp must be greater than start timestamp | Dale, Sept 26 2012 | ||
tc3203.test | 00:00.000 00:00.001 | Fail | Timestamp separator not found | Took out the --> | Dale, Sept 26 2012 | |
tc3204.test | 00:00.0000 --> 00:00.001 | Fail | Milliseconds must be 3 digits | Dale, Sept 26 2012 | ||
tc3205.test | 00:000.000 --> 00:00.001 | Fail | Seconds should be 2 digits | Dale, Sept 26 2012 | ||
tc3206.test | 000:00.000 --> 00:00.001 | Fail | Minutes should be 2 digits | Dale, Sept 26 2012 | ||
tc3207.test | 00:0:00:00.000 --> 00:0:00:00.001 | Fail | No support for days | Not that hours can go for a VERY long time, I tried up to 2 billion | ||
tc3208.test | :00:00.000 --> 00:00.001 | Fail | Time stamp must start with a number | Could do a lot of test cases for this using every symbol/alphabet | ||
tc3209.test | 00:01.000 --> 00:01.001 00:00.000 --> 00:00.001 |
Fail | Second time stamp must be greater or in-between the first one (nested) | Look up nested cues |
TODO: Break hour, see if days work, create multiple cue times that don't make sense (first cue at 2 minutes, second at 1 minute)
Deva
Writing some test cases that not covered by Dale or Vince
Filename | Description | Should Pass / Fail? | Reasoning | Creation Note | Comments | Peer Review |
TC3100_cuetime_minute_BAD.test | Minute should have only two characters in the range U+0030 to U+0039. | Fail | W3C WebVTT Standard - Explained in 3.1 Syntax | |||
TC3101_cuetime_socond_BAD.test | Second should have only two characters in the range U+0030 to U+0039. | Fail | W3C WebVTT Standard - Explained in 3.1 Syntax | |||
TC3102_cuetime_spacetab_BAD.test | Between timestamp and '-->' should have one or more white space/s. | Fail | W3C WebVTT Standard - Explained in 3.1 Syntax | |||
TC3103_cuetime_starttime_BAD.test | Start time must be greater than last cue start time. | Fail | W3C WebVTT Standard - Explained in 3.1 Syntax |
Summary
Cue Timestamp - Minimum Requirement
- Starting "WEBVTT" title
- Two or more WEBVTT line breakers
- Cue start time
- One or more U+0020 SPACE characters or U+0009 TABULATION characters
- The string "-->" (U+002D HYPHEN-MINUS, U+002D HYPHEN-MINUS, U+003E GREATER-THAN SIGN).
- One or more U+0020 SPACE characters or U+0009 TABULATION characters
- Cue end time
WEBVTT 00:00.000 --> 05:00.000
Cue Timestamp Rules
1. Should start with any characters in the range of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9)
2. Can not have any characters other than
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9).
- one U+002E FULL STOP character (.).
- one U+003A COLON character (:) only if the hour is zero and not included, if not, two U+003A COLON character (:).
3. Optionally (required if hour is non-zero) include
- Hour - one or more characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9)
4. Should include
- Minute - 2 characters in the range of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). Range 00 to 59.
- Second - 2 characters in the range of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). Range 00 to 59.
- Millisecond - 3 characters in the range of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). Range 000 to 999.
5. U+003A COLON character (:) should be used to separate
- Hours and Minute
- Minute and second
6. U+002E FULL STOP character (.) should be used between second and millisecond
Timestamp format without hour
MM:SS.sss
Timestamp format with hour
HH:MM:SS.sss
- HH - Hour (1 or more characters)
- MM - Minute (2 character)
- SS - Second (2 character)
- sss - Millisecond (3 character)
Cue Start Timestamp Rule
- The cue start timestamp must be greater or equal to last cue start time (Applicable only if there are any previous cue time stamps available)
Cue End Timestamp Rule
- The cue end timestamp must be greater than start time