Open main menu

CDOT Wiki β

Changes

Cue Text, including replacements

11,570 bytes added, 13:48, 30 September 2012
Time Stamp Cue 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==
[http://www.w3.org/TR/2001/REC-ruby-20010531/ Ruby Annotations]
 
==Michael==
* These escape characters don't appear to be accepted by the parser:   ‎ ‏
* I have taken TC5100-TC5123, these tests are all related to multiple components
=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==
* <s>No cue text</s> - '''Jordan''', '''Rick'''* <s>No cue text with line feed character(s)</s> - '''Jordan''', '''Rick'''* <s>No cue text with carriage return character(s)</s> - '''Jordan''', '''Rick'''* <s>No cue text with a combination of line feed and carriage return character(s)</s> - '''Jordan''', '''Rick'''* <s>Simple one-line of cue text - no other components</s> - '''Rick'''* <s>multiple-line text</s> - '''Rick Eyre''', '''Shayan'''** <s>line terminator in between</s> - '''Shayan'''
==Chapter Title Text==
* <s>Cue text consisting of only an ampersand escape character</s> - '''Rick Eyre''', '''Shayan'''* <s>Cue text consisting of only a less than escape character</s> - '''Rick Eyre''', '''Shayan''' * <s>Cue text consisting of only a greater than escape character</s> - '''Rick Eyre''', '''Shayan''' * <s>Cue text consisting of only a left-to-right escape character</s> - '''Rick Eyre''', '''Shayan''' * <s>Cue text consisting of only a right-to-left escape character</s> - '''Rick Eyre''', '''Shayan''' * <s>Cue text consisting of only an nbsp escape character</s> - '''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 the first cue text that uses a span tag and cue text that uses 2+ span tags.
We'll cover these for sure:
* <s>Cue Components with annotations</s> - '''Rick Eyre'''
* <s>Cue Component followed by one or more Cue Component with an optional WebVTT line terminator separating them</s> - '''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:* <s>Cue text that uses a class span tag</s> - '''Rick Eyre'''* <s>Cue text that uses an italics span tag</s> - '''Rick Eyre'''* <s>Cue text that uses a bold span tag</s> - '''Rick Eyre'''* <s>Cue text that uses an underline span tag</s> - '''Rick Eyre'''* Cue text that uses a ruby span tag- '''Jordan Raffoul'''* Cue text that uses a voice span tag- '''Jordan Raffoul'''* <s>Cue text that uses a timestamp tag</s> - '''Rick Eyre'''* <s>Cue Text that has many different cue components nested</s> - '''Rick Eyre''', '''Shayan'''
=Concrete Tests=
==Good==
=='''Tests that should PASS'''== ===Cue Text Consisting Format=== '''tc5001-multiple_cue_text_component'''<pre>WEBVTT 00:11.000 --> 00:13.000Hey <i>this is a <b>test!</b></i></pre>  '''tc5002-multiple_line_cue_text_component'''<pre>WEBVTT 00:11.000 --> 00:13.000<u><i><b>Hey this is a test!</b></i></u></pre>  '''tc5003-cue_text_single_sub_class'''<pre>WEBVTT 00:11.000 --> 00:13.000<u.class>Hey this is a test!</u></pre>  '''tc5004-cue_text_multiple_sub_class'''<pre>WEBVTT 00:11.000 --> 00:13.000<u.class.subclass>Hey this is a test!</u></pre> ===No Cue Text=== '''tc5005-no_cue_text'''* There will be multiple test files with combinations of a carriage return characters and or line feed characters in combination. <pre>WEBVTT 00:11.000 --> 00:13.000</pre> ===Basic Cue Text Span=== '''tc5006-basic_cue_text'''* Basic cue text with no modifiers <pre>WEBVTT 00:11.000 --> 00:13.000We are in New York City</pre> ===Cue Text Span With Multiple Lines=== '''tc5007-multiple_line_basic_cue_text'''<pre>WEBVTT 0:11.000 --> 00:13.000We are in New York CityThe Weather is nice</pre> === Basic Cue Text with Ampersand Escape Characters=== '''tc5008-less_than_escape_character'''<pre>WEBVTT  00:11.000 --> 00:13.000&amp;lt;</pre> '''tc5009-greater_than_escape_character'''<pre>WEBVTT  00:11.000 --> 00:13.000&amp;gt;</pre> '''tc5010-ampersan_escape_character'''<pre>WEBVTT  00:11.000 --> 00:13.000&amp;amp;</pre> '''tc5011-non_breaking_space_character'''<pre>WEBVTT  00:11.000 --> 00:13.000&amp;nbsp;</pre> '''tc5012-left_to_right_escape_character'''<pre>WEBVTT  00:11.000 --> 00:13.000&amp;lrm;</pre> '''tc5013-right_to_left_escape_character'''<pre>WEBVTT  00:11.000 --> 00:13.000&amp;rlm;</pre> ===Chapter Text with Multiple Escape Characters=== '''tc50140-multiple_escape_characters'''<pre>WEBVTT 00:11.000 --> 00:15.000&amp;nbsp;&amp;nbsp;</pre> '''tc5015-multiple_escape_characters_and_lines'''<pre>WEBVTT 00:11.000 --> 00:15.000&amp;nbsp;&amp;nbsp;</pre> ===Cue Text with Cue Components=== ====Italic Cue Text==== '''tc5016-italic_cue_test'''<pre>WEBVTT  00:11.000 --> 00:13.000We <i>are</i> in New York City</pre> ====Bold Cue Text==== '''tc5017-bold_cue_text'''<pre>WEBVTT  00:11.000 --> 00:13.000We <b>are</b> in New York City</pre> ====Underline Cue Text==== '''tc5018-underline_cue_text'''<pre>WEBVTT 00:11.000 --> 00:13.000We <u>are</u> in New York City</pre> ====Voice Cue Text==== '''tc5019-voice_cue_component'''<pre>WEBVTT 00:11.000 --> 00:13.000<v Roger Bingham>We are in New York City</pre> '''tc5020-internal_voice_cue_text'''<pre>WEBVTT 00:11.000 --> 00:13.000<v Roger Bingham>We are in New York City</v></pre> '''tc5021-multiple_line_voice_cue_text'''<pre>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></pre> ====Time Stamp Cue Text==== '''tc5022-time_stamp_cue_component'''<pre>WEBVTT 00:11.000 --> 00:15.000We <00:12.000>are in New York City</pre> '''tc5023-multiple_time_stamp_cue_component'''<pre>WEBVTT 00:11.000 --> 00:15.000We <00:12.000>are in<0:13.000> New York City</pre> ====Class Cue Text==== '''tc5024-class_cue_component'''<pre>WEBVTT 00:11.000 --> 00:15.000We <c>are</c> in New York City</pre> ====Multiple Component Cue Text==== '''tc5025-multiple_cue_component'''<pre>WEBVTT 00:11.000 --> 00:15.000We <b>are</b> in <b>New York</b> City</pre> '''tc5026-multiLine_multiple_cue_component'''<pre>WEBVTT 00:11.000 --> 00:15.000We <b>are</b><b>in</b> New York City</pre> '''tc5027-multiple_cue_component'''<pre>WEBVTT 00:11.000 --> 00:15.000We <b>are</b><b>in</b> New York City</pre> =='''Tests that should FAIL'''== ===Cue Text Format=== * Using the <[valid cue text component]>[Text Payload]<[valid cue text component]/> notation '''tc5028-cue_text_format'''<pre>WEBVTT  00:11.000 --> 00:13.000We <i are</i> in New York City</pre> '''tc5029-cue_text_format'''<pre>WEBVTT  00:11.000 --> 00:13.000We <iare</i> in New York City</pre> '''tc5030-cue_text_format'''<pre>WEBVTT  00:11.000 --> 00:13.000We <i>are</i in New York City</pre> '''tc5031_-cue_text_format'''<pre>WEBVTT  00:11.000 --> 00:13.000We <i>are<i> in New York City</pre> '''tc5032_-cue_text_format'''<pre>WEBVTT  00:11.000 --> 00:13.000We <i>are i> in New York City</pre> '''tc5033_-cue_text_format'''<pre>WEBVTT  00:11.000 --> 00:13.000We <i>are<i in New York City</pre> '''tc5034_-cue_text_format'''<pre>WEBVTT  00:11.000 --> 00:13.000We <i><b>are</i> in </b> New York City</pre> ===Disallow Annotation Text=== *There are cue components that do not allow annotations in them '''tc5035-disallow_annotation_italic'''<pre>WEBVTT 00:11.000 --> 00:15.000We <i Annotation Here>are in New York City</i></pre>  '''tc5036-disallow_annotation_underline'''<pre>WEBVTT 00:11.000 --> 00:15.000We <u Annotation Here>are in New York City</u></pre>  '''tc5037-disallow_annotation_bold'''<pre>WEBVTT 00:11.000 --> 00:15.000We <b Annotation Here>are in New York City</b></pre>  '''tc5038-disallow_annotation_class'''<pre>WEBVTT 00:11.000 --> 00:15.000We <c Annotation Here>are in New York City</c></pre>  '''tc5039-disallow_annotation_ruby'''<pre>WEBVTT 00:11.000 --> 00:15.000We <ruby Annotation Here>are in New York City</ruby></pre>  '''tc5040-disallow_annotation_time_stamp'''<pre>00:11.000 --> 00:15.000We <00:13.000 Annotation Here>are in New York City</pre> ===Cue Text Class Format=== '''tc5041-special_char_in_sub_class'''<pre>WEBVTT  00:11.000 --> 00:13.000We <i.&amp;amp;>are</i> in New York City</pre>  '''tc5042-period_with_no_sub_class'''<pre>WEBVTT  00:11.000 --> 00:13.000We <i. >are</i> in New York City</pre>  '''tc5043-incorrect_cue_class'''<pre>WEBVTT  00:11.000 --> 00:13.000We <badclass>are<badclass> in New York City</pre>  '''tc5044-special_char_in_sub_class'''<pre>WEBVTT  00:11.000 --> 00:13.000We <i.class.&amp;amp;>are</i> in New York City< /pre> === TC5100 Cue Text Special Character Escape Format=== * checking if the parser correctly invalidates improper special character followed by escapes'''Ampersand''' '''tc5045-incorrect_ampersand''''<pre>WEBVTT  00:11.000 --> 00:13.000Test Ampersand escape: &a i tag;</pre>  <pre>WEBVTT  00:11.000 --> 00:13.000Test Ampersand escape: &am;</pre> <pre>WEBVTT  00:11.000 --> 00:13.000Test Ampersand escape: &m;</pre> <pre>WEBVTT  00:11.000 --> 00:13.000Test Ampersand escape: &mp;</pre> <pre>WEBVTT  00:11.000 --> 00:13.000Test Ampersand escape: &p;</pre> <pre> WEBVTT  00:11.000 --> 00:13.000Test Ampersand escape: &ap;</pre> '''Less Than Character''' <pre>WEBVTT  00:11.000 --> 00:13.000Test Less Than escape: &l;</pre>  <pre>WEBVTT  00:11.000 --> 00:13.000Test Less Than escape: &t;</pre>  '''Greater Than Character''' <pre>WEBVTT  00:11.000 --> 00:13.000Test Greater Than escape: &g;</pre>  '''Space Character''' <pre>WEBVTT  00:11.000 --> 00:13.000Test Space Character escape: &n;</pre>  <pre>WEBVTT  00:11.000 --> 00:13.000Test Space Character escape: &nb;</pre>  <pre>WEBVTT  00:11.000 --> 00:13.000Test Space Character escape: &nbs;</pre>  <pre>WEBVTT  00:11.000 --> 00:13.000Test Space Character escape: &nbp;</pre>  <pre>WEBVTT  00:11.000 --> 00:13.000Test Space Character escape: &nsp;</pre>  <pre>WEBVTT  00:11.000 --> 00:13.000Test Space Character escape: &bsp;</pre>  <pre>WEBVTT  00:11.000 --> 00:13.000Test Space Character escape: &bp;</pre>  <pre>WEBVTT  00:11.000 --> 00:13.000Test Space Character escape: &b;</pre>  <pre>WEBVTT  00:11.000 --> 00:13.000Test Space Character escape: &s;</pre>
<pre>
WEBVTT  00:11.000 --> 00:13.000Test Space Character escape: &ns;<v Roger Bingham/pre>We  <ipre>are</iWEBVTT  00:11.000 --> in New York City00:13.000Test Space Character escape: &np;
</pre>
==Bad==<pre>WEBVTT  00:11.000 --> 00:13.000Test Space Character escape: &sp;</pre>  <pre>WEBVTT
Cue Text Consisting of a 00:11.000 --> 00:13.000Test Space Character escape: &s;< character followed by a i tag/pre>
<pre>
WEBVTT  00:11.000 --> 00:13.000<v Roger Bingham>We <i are</i> in New York CityTest Space Character escape: &p;
</pre>
<pre>
WEBVTT  00:11.000 --> 00:13.000Test Space Character escape: &bs;<v Roger Bingham/pre>We  '''Left to Right Character''' <iare</ipre>WEBVTT  00:11.000 --> in New York City00:13.000Test Left to Right Mark Character escape: &lr;
</pre>
<pre>
WEBVTT  00:11.000 --> 00:13.000Test Left To Right Mark Character escape: &l;</pre>  <pre>WEBVTT  00:11.000 --> 00:13.000Test Left to Right Mark Character escape: &lm;<v Roger Bingham/pre>  <pre>WEBVTT  00:11.000 -->We 00:13.000Test Left to Right Mark Character escape: &rm;<i/pre>are  <ipre>WEBVTT  00:11.000 --> in New York City00:13.000Test Left to Right Mark Character escape: &m;
</pre>
<pre>
WEBVTT  00:11.000 --> 00:13.000Test Left to Right Mark Character escape: &r;</pre> '''Right to Left Mark Character''' <pre>WEBVTT  00:11.000 --> 00:13.000Test Right to Left Mark Character escape: &lm;</pre>   <pre>WEBVTT  00:11.000 --> 00:13.000Test Right to Left Mark Character escape: &rm;</pre>  <pre>WEBVTT  00:11.000 --> 00:13.000Test Right to Left Mark Character escape: &rl;<v Roger Bingham/pre>We  <iarepre> WEBVTT  00:11.000 --> 00:13.000&rlm</i in New York Citypre>  <pre>WEBVTT  00:11.000 --> 00:13.000&lr
</pre>
<pre>
WEBVTT  00:11.000 --> 00:13.000<v Roger Bingham>We <iare<i in New York City&gt
</pre>
<pre>
WEBVTT  00:11.000 --> 00:13.000&lt</pre> ===Cue Text Special Characters=== * checking if the parser correctly invalidates special characters without escapes   <pre>WEBVTT  00:11.000 --> 00:13.000Test Ampersand Special Character: &</pre> ===Cue Text Time Stamp=== <v Roger Binghampre>WEBVTT 00:11.000 -->00:15.000We <i00:16.000>arein New York City</pre> <i pre>WEBVTT 00:11.000 --> 00:15.000We <00:13.000>are in New <00:12.000>York City</pre> <pre>WEBVTT 00:11.000 --> 00:15.000We <00:12000>are in New York City</pre> <pre>WEBVTT 00:11.000 --> 00:15.000We <0012.000>are in New York City
</pre>
<pre>
WEBVTT  00:11.000 --> 00:1315.000We <00:12.00>are in New York City</pre> <v Roger Binghampre>WEBVTT 00:11.000 -->00:15.000We <i00:12.000 are in New York City</pre> ===Cue Text with Multiple Escape Characters=== <pre>WEBVTT 00:11.000 --> 00:15.000&amp;nbsp; &amp;nbsp;</pre> ===Multiple Cue Text Components=== <pre>WEBVTT 00:11.000 --> 00:15.000We <b>are</i b> <b>in </b> New York City
</pre>
1
edit