Cue Text, including replacements
Group 5 Members
Name | IRC Nick | Blog | Github Account | Wiki Page | |
Rick Eyre | reyre | http://epsilon812.wordpress.com | RickEyre | User:Errichard | @epsilon812 |
Shayan Zafar Ahmad | szahmad | Shayan's Blog | Shayan's GitHub | User:Szahmad | ShayanZafar |
Michael Afidchao | mdafidchao | http://kypertrast.net/seneca | mafidchao | User:Mdafidchao | None |
Jordan Raffoul | jbraffoul | http://jbraffoul.wordpress.com | jbraffoul | User:Jbraffoul | None |
Cue Text Scope
WebVTT chapter title text is syntactically a subset of WebVTT cue text, and WebVTT cue text is syntactically a subset of WebVTT metadata text. Conformance checkers, when validating WebVTT files, may offer to restrict all cues to only having WebVTT chapter title text or WebVTT cue text as their cue payload; WebVTT metadata text cues are only useful for scripted applications (using the metadata text track kind).
A WebVTT file whose cues all have a cue payload that is WebVTT chapter title text is said to be a WebVTT file using chapter title text.
A WebVTT file whose cues all have a cue payload that is WebVTT cue text is said to be a WebVTT file using cue text. By definition, any file that is a WebVTT file using chapter title text is also a WebVTT file using cue text.
WebVTT Cue Text consists of WebVTT cue components. This might overlap with cue text css group.
Specifications: http://dev.w3.org/html5/webvtt/#webvtt-metadata-text
Notes/Issues/Updates
Rick
Sept 24
- Changed title headers
- Began adding concrete tests
- Added Testing Scenarios
Shayan
Jordan
Michael
Sept 24
- These escape characters don't appear to be accepted by the parser: ‎ ‏
Test Scenarios Identified
Notes:
- Marked Names Next too Scenarios for those who have done work/reviewed
- Crossed out scenario has been completed
Base/Metadata tests
-
No cue text- Jordan, Rick -
No cue text with line feed character(s)- Jordan, Rick -
No cue text with carriage return character(s)- Jordan, Rick -
No cue text with a combination of line feed and carriage return character(s)- Jordan, Rick -
Simple one-line of cue text - no other components- Rick -
multiple-line text- Rick Eyre, Shayan-
line terminator in between- Shayan
-
Chapter Title Text
-
Cue text consisting of only an ampersand escape character- Rick Eyre, Shayan -
Cue text consisting of only a less than escape character- Rick Eyre, Shayan -
Cue text consisting of only a greater than escape character- Rick Eyre, Shayan -
Cue text consisting of only a left-to-right escape character- Rick Eyre, Shayan -
Cue text consisting of only a right-to-left escape character- Rick Eyre, Shayan -
Cue text consisting of only an nbsp escape character- Rick Eyre, Shayan - Cue text different combinations (vary tests for different components: multiple ampersands, all types of components, etc.) - Shayan
- 2+ components that are separated from each other with line terminators - Michael Afidchao
- Cue text including escape character(s)
- Line terminators
Cue Text
Note that these may overlap with group 6 - text tags, we'll probably only need to cover cue text that uses a span tag and cue text that uses 2+ span tags.
We'll cover these for sure:
-
Cue Components with annotations- Rick Eyre -
Cue Component followed by one or more Cue Component with an optional WebVTT line terminator separating them- Rick Eyre, Shayan - Start Tag format - < with the tag name and optionally a . with a word/letter describing the significance of the class, cannot be line terminator, space, tab, ampersand escapes. repeated if necessary - Rick Eyre
- Cue text that uses a span tag
- Cue text that uses 2+ span tags - Michael Afidchao
- Separated with line terminator - Michael Afidchao
- Cue Text that consists of internal text only
- Cue Text Time Stamp - Rick Eyre
These should automatically be covered by the text tags testing (group 6) as they create tests for each tag:
-
Cue text that uses a class span tag- Rick Eyre -
Cue text that uses an italics span tag- Rick Eyre -
Cue text that uses a bold span tag- Rick Eyre -
Cue text that uses an underline span tag- Rick Eyre - Cue text that uses a ruby span tag - Jordan Raffoul
- Cue text that uses a voice span tag - Jordan Raffoul
-
Cue text that uses a timestamp tag- Rick Eyre -
Cue Text that has many different cue components nested- Rick Eyre, Shayan
Concrete Tests
Tests that should PASS
Cue Text Format
TC5001_MultipleCueTextComponent
WEBVTT 00:11.000 --> 00:13.000 Hey <i>this is a <b>test!</b></i>
TC5002_MultipleLineCueTextComponent
WEBVTT 00:11.000 --> 00:13.000 <u> <i> <b>Hey this is a test!</b></i></u>
TC5003_CueTextSingleSubClass
WEBVTT 00:11.000 --> 00:13.000 <u.class>Hey this is a test!</u>
TC5004_CueTextMultipleSubClass
WEBVTT 00:11.000 --> 00:13.000 <u.class.subclass>Hey this is a test!</u>
No Cue Text
TC5005_NoCueText
- There will be multiple test files with combinations of carriage return characters and or line feed characters in combination.
WEBVTT 00:11.000 --> 00:13.000
Basic Cue Text Span
TC5006_BasicCueText
- Basic cue text with no modifiers
WEBVTT 00:11.000 --> 00:13.000 We are in New York City
Cue Text Span With Multiple Lines
TC5007_MultipleLineBasicCueText
WEBVTT 0:11.000 --> 00:13.000 We are in New York City The Weather is nice
Basic Cue Text with Ampersand Escape Characters
TC5008_LessThanEscapeCharacter
WEBVTT 00:11.000 --> 00:13.000 <
TC5009_GreaterThanEscapeCharacter
WEBVTT 00:11.000 --> 00:13.000 >
TC5010_AmpersanEscapeCharacter
WEBVTT 00:11.000 --> 00:13.000 &
TC5011_NonBreakingSpaceCharacter
WEBVTT 00:11.000 --> 00:13.000
TC5012_LeftToRightEscapeCharacter
WEBVTT 00:11.000 --> 00:13.000 ‎
TC5013_RightToLeftEscapeCharacter
WEBVTT 00:11.000 --> 00:13.000 ‏
Chapter Text with Multiple Escape Characters
TC5014_MultipleEscapeCharacters
WEBVTT 00:11.000 --> 00:15.000
TC5015_MultipleEscapeCharactersAndLines
WEBVTT 00:11.000 --> 00:15.000
Cue Text with Cue Components
Italic Cue Text
TC5016_ItalicCueTest
WEBVTT 00:11.000 --> 00:13.000 We <i>are</i> in New York City
Bold Cue Text
TC5017_BoldCueText
WEBVTT 00:11.000 --> 00:13.000 We <b>are</b> in New York City
Underline Cue Text
TC5018_UnderlineCueText
WEBVTT 00:11.000 --> 00:13.000 We <u>are</u> in New York City
Voice Cue Text
TC5019_VoiceCueComponent
WEBVTT 00:11.000 --> 00:13.000 <v Roger Bingham>We are in New York City
TC5020_InternalVoiceCueText
WEBVTT 00:11.000 --> 00:13.000 <v Roger Bingham>We are in New York City</v>
TC5021_MultipleLineVoiceCueText
WEBVTT 00:11.000 --> 00:13.000 <v Roger Bingham>When we e-mailed—</v> <v Neil deGrasse Tyson>Didn't we talk about enough in that conversation?</v>
Time Stamp Cue Text
TC5022_TimeStampCueComponent
WEBVTT 00:11.000 --> 00:15.000 We <00:12.000>are in New York City
TC5023_MultipleTimeStampCueComponent
WEBVTT 00:11.000 --> 00:15.000 We <00:12.000>are in<0:13:00> New York City
Class Cue Text
TC5024_ClassCueComponent
WEBVTT 00:11.000 --> 00:15.000 We <c>are</c> in New York City
Multiple Component Cue Text
TC5025_MultipleCueComponent
WEBVTT 00:11.000 --> 00:15.000 We <b>are</b> in <b>New York</b> City
TC5026_MultiLineMultipleCueComponent
WEBVTT 00:11.000 --> 00:15.000 We <b>are</b> <b>in</b> New York City
TC5027_MultipleCueComponent
WEBVTT 00:11.000 --> 00:15.000 We <b>are</b><b>in</b> New York City
Tests that should FAIL
Cue Text Format
- Using the <[valid cue text component]>[Text Payload]<[valid cue text component]/> notation
TC5028_CueTextFormat
WEBVTT 00:11.000 --> 00:13.000 We <i are</i> in New York City
TC5029_CueTextFormat
WEBVTT 00:11.000 --> 00:13.000 We <iare</i> in New York City
TC5030_CueTextFormat
WEBVTT 00:11.000 --> 00:13.000 We <i>are</i in New York City
TC5031_CueTextFormat
WEBVTT 00:11.000 --> 00:13.000 We <i>are<i> in New York City
TC5032_CueTextFormat
WEBVTT 00:11.000 --> 00:13.000 We <i>are i> in New York City
TC5033_CueTextFormat
WEBVTT 00:11.000 --> 00:13.000 We <i>are<i in New York City
TC5034_CueTextFormat
WEBVTT 00:11.000 --> 00:13.000 We <i><b>are</i> in </b> New York City
Disallow Annotation Text
- There are cue components that do not allow annotations in them
TC5035_DisallowAnnotationItalic
WEBVTT 00:11.000 --> 00:15.000 We <i Annotation Here>are in New York City</i>
TC5036_DisallowAnnotationUnderline
WEBVTT 00:11.000 --> 00:15.000 We <u Annotation Here>are in New York City</u>
TC5037_DisallowAnnotationBold
WEBVTT 00:11.000 --> 00:15.000 We <b Annotation Here>are in New York City</b>
TC5038_DisallowAnnotationClass
WEBVTT 00:11.000 --> 00:15.000 We <c Annotation Here>are in New York City</c>
TC5039_DisallowAnnotationRuby
WEBVTT 00:11.000 --> 00:15.000 We <ruby Annotation Here>are in New York City</ruby>
TC5040_DisallowAnnotationTimeStamp
00:11.000 --> 00:15.000 We <00:13.000 Annotation Here>are in New York City
Cue Text Class Format
TC5041_SpecialCharInSubClass
WEBVTT 00:11.000 --> 00:13.000 We <i.&>are</i> in New York City
TC5042_PeriodWithNoSubclass
WEBVTT 00:11.000 --> 00:13.000 We <i. >are</i> in New York City
TC5043_IncorrectCueClass
WEBVTT 00:11.000 --> 00:13.000 We <badclass>are<badclass> in New York City
TC5044_SpecialCharInSubclass
WEBVTT 00:11.000 --> 00:13.000 We <i.class.&>are</i> in New York City
Cue Text Special Character Escape Format
- checking if the parser correctly invalidates improper special character escapes
Ampersand
WEBVTT 00:11.000 --> 00:13.000 Test Ampersand escape: &a;
WEBVTT 00:11.000 --> 00:13.000 Test Ampersand escape: &am;
WEBVTT 00:11.000 --> 00:13.000 Test Ampersand escape: &m;
WEBVTT 00:11.000 --> 00:13.000 Test Ampersand escape: ∓
WEBVTT 00:11.000 --> 00:13.000 Test Ampersand escape: &p;
WEBVTT 00:11.000 --> 00:13.000 Test Ampersand escape: ≈
Less Than Character
WEBVTT 00:11.000 --> 00:13.000 Test Less Than escape: &l;
WEBVTT 00:11.000 --> 00:13.000 Test Less Than escape: &t;
Greater Than Character
WEBVTT 00:11.000 --> 00:13.000 Test Greater Than escape: &g;
Space Character
WEBVTT 00:11.000 --> 00:13.000 Test Space Character escape: &n;
WEBVTT 00:11.000 --> 00:13.000 Test Space Character escape: &nb;
WEBVTT 00:11.000 --> 00:13.000 Test Space Character escape: &nbs;
WEBVTT 00:11.000 --> 00:13.000 Test Space Character escape: &nbp;
WEBVTT 00:11.000 --> 00:13.000 Test Space Character escape: &nsp;
WEBVTT 00:11.000 --> 00:13.000 Test Space Character escape: &bsp;
WEBVTT 00:11.000 --> 00:13.000 Test Space Character escape: &bp;
WEBVTT 00:11.000 --> 00:13.000 Test Space Character escape: &b;
WEBVTT 00:11.000 --> 00:13.000 Test Space Character escape: &s;
WEBVTT 00:11.000 --> 00:13.000 Test Space Character escape: &ns;
WEBVTT 00:11.000 --> 00:13.000 Test Space Character escape: &np;
WEBVTT 00:11.000 --> 00:13.000 Test Space Character escape: &sp;
WEBVTT 00:11.000 --> 00:13.000 Test Space Character escape: &s;
WEBVTT 00:11.000 --> 00:13.000 Test Space Character escape: &p;
WEBVTT 00:11.000 --> 00:13.000 Test Space Character escape: &bs;
Left to Right Character
WEBVTT 00:11.000 --> 00:13.000 Test Left to Right Mark Character escape: &lr;
WEBVTT 00:11.000 --> 00:13.000 Test Left To Right Mark Character escape: &l;
WEBVTT 00:11.000 --> 00:13.000 Test Left to Right Mark Character escape: &lm;
WEBVTT 00:11.000 --> 00:13.000 Test Left to Right Mark Character escape: &rm;
WEBVTT 00:11.000 --> 00:13.000 Test Left to Right Mark Character escape: &m;
WEBVTT 00:11.000 --> 00:13.000 Test Left to Right Mark Character escape: &r;
Right to Left Mark Character
WEBVTT 00:11.000 --> 00:13.000 Test Right to Left Mark Character escape: &lm;
WEBVTT 00:11.000 --> 00:13.000 Test Right to Left Mark Character escape: &rm;
WEBVTT 00:11.000 --> 00:13.000 Test Right to Left Mark Character escape: &rl;
WEBVTT 00:11.000 --> 00:13.000 &rlm
WEBVTT 00:11.000 --> 00:13.000 &lr
WEBVTT 00:11.000 --> 00:13.000 >
WEBVTT 00:11.000 --> 00:13.000 <
Cue Text Special Characters
- checking if the parser correctly invalidates special characters without escapes
Cue Text Time Stamp
WEBVTT 00:11.000 --> 00:15.000 We <00:16.000>are in New York City
WEBVTT 00:11.000 --> 00:15.000 We <00:13.000>are in New <00:12.000>York City
WEBVTT 00:11.000 --> 00:15.000 We <00:12000>are in New York City
WEBVTT 00:11.000 --> 00:15.000 We <0012.000>are in New York City
WEBVTT 00:11.000 --> 00:15.000 We <00:12.00>are in New York City
WEBVTT 00:11.000 --> 00:15.000 We <00:12.000 are in New York City
Cue Text with Multiple Escape Characters
WEBVTT 00:11.000 --> 00:15.000
Multiple Cue Text Components
WEBVTT 00:11.000 --> 00:15.000 We <b>are</b> <b>in</b> New York City