1
edit
Changes
→Dale: renamed files
** Cue times out of order
== Tests Testing Procedure ===== Dale Writing Tests ===URL # 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 git the github repo === Peer Review ===# Review someone else's test case# Sign off in the 'Peer Review' column of the table with testsyour name so that we know it's been looked at (TO DO: https://github.com/daliuss/webvtt/tree/cueTimeTests/test/specCreate Peer Review column in tables)
=== Vince ===
I'm gonna remake the table using markdown. Hitting <td></td> is tedious
{| border="1"
|class="header"|'''Creation Note'''
|class="header"|'''Comments'''
|class="header"|'''Peer Review'''
|-
|tc3201.test
|'''00:00.000 --> 00:00.000'''
|Fail
|End timestamp must be greater than start timestamp
|
|
|Dale, Sept 26 2012
|-
|bad01tc3202.vtttest |00:00.000 '''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 <br /><br /> 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
{| border="1"
|-
|cuetime_bareminimumclass="header"|'''Filename'''|class="header"|'''Description'''|class="header"|'''Should Pass / Fail?'''|class="header"|'''Reasoning'''|class="header"|'''Creation Note'''|class="header"|'''Comments'''|class="header"|'''Peer Review'''|-|[https://github.com/gobihun/webvtt/blob/master/test/spec/bad/TC3100_cuetime_minute_BAD.vtttest TC3100_cuetime_minute_BAD.test]|Bare minimum file that passes (no cue content)Minute should have only two characters in the range U+0030 to U+0039.|PassFail|W3C WebVTT Standard - Explained in 3.1 Syntax||||-|[https://github.com/gobihun/webvtt/blob/master/test/spec/bad/TC3101_cuetime_second_BAD.test TC3101_cuetime_socond_BAD.test]|Conforms 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||ST2
|
|-
|cuetime_bareminimum_content[https://github.vttcom/gobihun/webvtt/blob/master/test/spec/bad/TC3100_cuetime_starttime_BAD.test TC3103_cuetime_starttime_BAD.test]|Bare minimum file that passes (Start time must be greater than last cue content)start time.|PassFail|W3C WebVTT Standard - Explained in 3.1 Syntax|Conforms to spec|ST2
|
|-
|}
== 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
<pre>
WEBVTT
00:00.000 --> 05:00.000
</pre>
=== 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'''
<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