Difference between revisions of "Cue Text, including replacements"

From CDOT Wiki
Jump to: navigation, search
(Time Stamp Cue Text)
 
(43 intermediate revisions by 4 users not shown)
Line 64: Line 64:
  
 
==Jordan==
 
==Jordan==
 +
[http://www.w3.org/TR/2001/REC-ruby-20010531/  Ruby Annotations]
  
 
==Michael==
 
==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=
 
=Test Scenarios Identified=
Line 79: Line 82:
 
* <s>No cue text with a combination of line feed and 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>Simple one-line of cue text - no other components</s> - '''Rick'''
* multiple-line text - '''Rick Eyre'''
+
* <s>multiple-line text</s> - '''Rick Eyre''', '''Shayan'''
** line terminator in between
+
** <s>line terminator in between</s> - '''Shayan'''
  
 
==Chapter Title Text==
 
==Chapter Title Text==
* Cue text consisting of only an ampersand escape character - '''Rick Eyre'''
+
* <s>Cue text consisting of only an ampersand escape character</s> - '''Rick Eyre''', '''Shayan'''
* Cue text consisting of only a less than escape character - '''Rick Eyre'''
+
* <s>Cue text consisting of only a less than escape character</s> - '''Rick Eyre''', '''Shayan'''  
* Cue text consisting of only a greater than escape character - '''Rick Eyre'''
+
* <s>Cue text consisting of only a greater than escape character</s> - '''Rick Eyre''', '''Shayan'''  
* Cue text consisting of only a left-to-right escape character - '''Rick Eyre'''
+
* <s>Cue text consisting of only a left-to-right escape character</s> - '''Rick Eyre''', '''Shayan'''  
* Cue text consisting of only a right-to-left escape character - '''Rick Eyre'''
+
* <s>Cue text consisting of only a right-to-left escape character</s> - '''Rick Eyre''', '''Shayan'''  
* Cue text consisting of only an nbsp escape character - '''Rick Eyre'''
+
* <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.)
+
* 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'''
 
** 2+ components that are separated from each other with line terminators - '''Michael Afidchao'''
 
* Cue text including escape character(s)
 
* Cue text including escape character(s)
Line 99: Line 102:
 
We'll cover these for sure:
 
We'll cover these for sure:
 
* <s>Cue Components with annotations</s> - '''Rick Eyre'''
 
* <s>Cue Components with annotations</s> - '''Rick Eyre'''
* Cue Component followed by one or more Cue Component with an optional WebVTT line terminator separating them - '''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'''
 
* 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 a span tag
Line 109: Line 112:
  
 
These should automatically be covered by the text tags testing (group 6) as they create tests for each tag:
 
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'''
+
* <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 an italics span tag</s> - '''Rick Eyre'''
 
* <s>Cue text that uses a bold span tag</s> - '''Rick Eyre'''
 
* <s>Cue text that uses a bold span tag</s> - '''Rick Eyre'''
Line 116: Line 119:
 
* Cue text that uses a voice 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 uses a timestamp tag</s> - '''Rick Eyre'''
* Cue Text that has many different cue components nested - '''Rick Eyre'''
+
* <s>Cue Text that has many different cue components nested</s> - '''Rick Eyre''', '''Shayan'''
  
 
=Concrete Tests=
 
=Concrete Tests=
  
==Good==
+
=='''Tests that should PASS'''==
  
 
===Cue Text Format===
 
===Cue Text Format===
  
 +
'''tc5001-multiple_cue_text_component'''
 
<pre>
 
<pre>
 
WEBVTT
 
WEBVTT
Line 131: Line 135:
 
</pre>  
 
</pre>  
  
 +
'''tc5002-multiple_line_cue_text_component'''
 
<pre>
 
<pre>
 
WEBVTT
 
WEBVTT
Line 140: Line 145:
 
</pre>  
 
</pre>  
  
 +
'''tc5003-cue_text_single_sub_class'''
 
<pre>
 
<pre>
 
WEBVTT
 
WEBVTT
Line 147: Line 153:
 
</pre>  
 
</pre>  
  
 +
'''tc5004-cue_text_multiple_sub_class'''
 
<pre>
 
<pre>
 
WEBVTT
 
WEBVTT
Line 152: Line 159:
 
00:11.000 --> 00:13.000
 
00:11.000 --> 00:13.000
 
<u.class.subclass>Hey this is a test!</u>
 
<u.class.subclass>Hey this is a test!</u>
</pre>  
+
</pre>
  
 
===No Cue Text===
 
===No Cue Text===
  
 +
'''tc5005-no_cue_text'''
 
* There will be multiple test files with combinations of carriage return characters and or line feed characters in combination.
 
* There will be multiple test files with combinations of carriage return characters and or line feed characters in combination.
  
Line 166: Line 174:
 
===Basic Cue Text Span===
 
===Basic Cue Text Span===
  
 +
'''tc5006-basic_cue_text'''
 
* Basic cue text with no modifiers
 
* Basic cue text with no modifiers
  
Line 177: Line 186:
 
===Cue Text Span With Multiple Lines===
 
===Cue Text Span With Multiple Lines===
  
 +
'''tc5007-multiple_line_basic_cue_text'''
 
<pre>
 
<pre>
 
WEBVTT
 
WEBVTT
Line 187: Line 197:
 
=== Basic Cue Text with Ampersand Escape Characters===
 
=== Basic Cue Text with Ampersand Escape Characters===
  
 +
'''tc5008-less_than_escape_character'''
 
<pre>
 
<pre>
 
WEBVTT  
 
WEBVTT  
Line 194: Line 205:
 
</pre>
 
</pre>
  
 +
'''tc5009-greater_than_escape_character'''
 
<pre>
 
<pre>
 
WEBVTT  
 
WEBVTT  
Line 201: Line 213:
 
</pre>
 
</pre>
  
 +
'''tc5010-ampersan_escape_character'''
 
<pre>
 
<pre>
 
WEBVTT  
 
WEBVTT  
Line 208: Line 221:
 
</pre>
 
</pre>
  
 +
'''tc5011-non_breaking_space_character'''
 
<pre>
 
<pre>
 
WEBVTT  
 
WEBVTT  
Line 215: Line 229:
 
</pre>
 
</pre>
  
 +
'''tc5012-left_to_right_escape_character'''
 
<pre>
 
<pre>
 
WEBVTT  
 
WEBVTT  
Line 222: Line 237:
 
</pre>
 
</pre>
  
 +
'''tc5013-right_to_left_escape_character'''
 
<pre>
 
<pre>
 
WEBVTT  
 
WEBVTT  
Line 231: Line 247:
 
===Chapter Text with Multiple Escape Characters===
 
===Chapter Text with Multiple Escape Characters===
  
 +
'''tc50140-multiple_escape_characters'''
 
<pre>
 
<pre>
 
WEBVTT
 
WEBVTT
Line 238: Line 255:
 
</pre>
 
</pre>
  
 +
'''tc5015-multiple_escape_characters_and_lines'''
 
<pre>
 
<pre>
 
WEBVTT
 
WEBVTT
Line 250: Line 268:
 
====Italic Cue Text====
 
====Italic Cue Text====
  
 +
'''tc5016-italic_cue_test'''
 
<pre>
 
<pre>
 
WEBVTT  
 
WEBVTT  
Line 259: Line 278:
 
====Bold Cue Text====
 
====Bold Cue Text====
  
 +
'''tc5017-bold_cue_text'''
 
<pre>
 
<pre>
 
WEBVTT  
 
WEBVTT  
Line 268: Line 288:
 
====Underline Cue Text====
 
====Underline Cue Text====
  
 +
'''tc5018-underline_cue_text'''
 
<pre>
 
<pre>
 
WEBVTT
 
WEBVTT
Line 277: Line 298:
 
====Voice Cue Text====
 
====Voice Cue Text====
  
 +
'''tc5019-voice_cue_component'''
 
<pre>
 
<pre>
 
WEBVTT
 
WEBVTT
Line 284: Line 306:
 
</pre>
 
</pre>
  
 +
'''tc5020-internal_voice_cue_text'''
 
<pre>
 
<pre>
 
WEBVTT
 
WEBVTT
Line 291: Line 314:
 
</pre>
 
</pre>
  
 +
'''tc5021-multiple_line_voice_cue_text'''
 
<pre>
 
<pre>
 
WEBVTT
 
WEBVTT
Line 301: Line 325:
 
====Time Stamp Cue Text====
 
====Time Stamp Cue Text====
  
 +
'''tc5022-time_stamp_cue_component'''
 
<pre>
 
<pre>
 
WEBVTT
 
WEBVTT
Line 308: Line 333:
 
</pre>
 
</pre>
  
 +
'''tc5023-multiple_time_stamp_cue_component'''
 
<pre>
 
<pre>
 
WEBVTT
 
WEBVTT
  
 
00:11.000 --> 00:15.000
 
00:11.000 --> 00:15.000
We <00:12.000>are in<0:13:00> New York City
+
We <00:12.000>are in<0:13.000> New York City
 
</pre>
 
</pre>
  
 
====Class Cue Text====
 
====Class Cue Text====
  
 +
'''tc5024-class_cue_component'''
 
<pre>
 
<pre>
 
WEBVTT
 
WEBVTT
Line 323: Line 350:
 
We <c>are</c> in New York City
 
We <c>are</c> in New York City
 
</pre>
 
</pre>
 
  
 
====Multiple Component Cue Text====
 
====Multiple Component Cue Text====
  
 +
'''tc5025-multiple_cue_component'''
 
<pre>
 
<pre>
 
WEBVTT
 
WEBVTT
Line 334: Line 361:
 
</pre>
 
</pre>
  
 +
'''tc5026-multiLine_multiple_cue_component'''
 
<pre>
 
<pre>
 
WEBVTT
 
WEBVTT
Line 342: Line 370:
 
</pre>
 
</pre>
  
 +
'''tc5027-multiple_cue_component'''
 
<pre>
 
<pre>
 
WEBVTT
 
WEBVTT
Line 349: Line 378:
 
</pre>
 
</pre>
  
==Bad==
+
=='''Tests that should FAIL'''==
  
 
===Cue Text Format===
 
===Cue Text Format===
Line 355: Line 384:
 
* Using the <[valid cue text component]>[Text Payload]<[valid cue text component]/> notation
 
* Using the <[valid cue text component]>[Text Payload]<[valid cue text component]/> notation
  
 +
'''tc5028-cue_text_format'''
 
<pre>
 
<pre>
 
WEBVTT  
 
WEBVTT  
Line 362: Line 392:
 
</pre>
 
</pre>
  
 +
'''tc5029-cue_text_format'''
 
<pre>
 
<pre>
 
WEBVTT  
 
WEBVTT  
Line 369: Line 400:
 
</pre>
 
</pre>
  
 +
'''tc5030-cue_text_format'''
 
<pre>
 
<pre>
 
WEBVTT  
 
WEBVTT  
Line 376: Line 408:
 
</pre>
 
</pre>
  
 +
'''tc5031_-cue_text_format'''
 
<pre>
 
<pre>
 
WEBVTT  
 
WEBVTT  
Line 383: Line 416:
 
</pre>
 
</pre>
  
 +
'''tc5032_-cue_text_format'''
 
<pre>
 
<pre>
 
WEBVTT   
 
WEBVTT   
Line 390: Line 424:
 
</pre>
 
</pre>
  
 +
'''tc5033_-cue_text_format'''
 
<pre>
 
<pre>
 
WEBVTT   
 
WEBVTT   
Line 397: Line 432:
 
</pre>
 
</pre>
  
 +
'''tc5034_-cue_text_format'''
 
<pre>
 
<pre>
 
WEBVTT   
 
WEBVTT   
Line 402: Line 438:
 
00:11.000 --> 00:13.000
 
00:11.000 --> 00:13.000
 
We <i><b>are</i> in </b> New York City
 
We <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.000
 +
We <i Annotation Here>are in New York City</i>
 +
</pre>
 +
 +
'''tc5036-disallow_annotation_underline'''
 +
<pre>
 +
WEBVTT
 +
 +
00:11.000 --> 00:15.000
 +
We <u Annotation Here>are in New York City</u>
 +
</pre>
 +
 +
'''tc5037-disallow_annotation_bold'''
 +
<pre>
 +
WEBVTT
 +
 +
00:11.000 --> 00:15.000
 +
We <b Annotation Here>are in New York City</b>
 +
</pre>
 +
 +
'''tc5038-disallow_annotation_class'''
 +
<pre>
 +
WEBVTT
 +
 +
00:11.000 --> 00:15.000
 +
We <c Annotation Here>are in New York City</c>
 
</pre>  
 
</pre>  
 +
 +
'''tc5039-disallow_annotation_ruby'''
 +
<pre>
 +
WEBVTT
 +
 +
00:11.000 --> 00:15.000
 +
We <ruby Annotation Here>are in New York City</ruby>
 +
</pre>
 +
 +
'''tc5040-disallow_annotation_time_stamp'''
 +
<pre>
 +
00:11.000 --> 00:15.000
 +
We <00:13.000 Annotation Here>are in New York City
 +
</pre>
  
 
===Cue Text Class Format===
 
===Cue Text Class Format===
  
 +
'''tc5041-special_char_in_sub_class'''
 
<pre>
 
<pre>
 
WEBVTT   
 
WEBVTT   
Line 413: Line 500:
 
</pre>  
 
</pre>  
  
 +
'''tc5042-period_with_no_sub_class'''
 
<pre>
 
<pre>
 
WEBVTT   
 
WEBVTT   
Line 420: Line 508:
 
</pre>   
 
</pre>   
  
 +
'''tc5043-incorrect_cue_class'''
 
<pre>
 
<pre>
 
WEBVTT   
 
WEBVTT   
Line 427: Line 516:
 
</pre>   
 
</pre>   
  
 +
'''tc5044-special_char_in_sub_class'''
 
<pre>
 
<pre>
 
WEBVTT   
 
WEBVTT   
Line 432: Line 522:
 
00:11.000 --> 00:13.000
 
00:11.000 --> 00:13.000
 
We <i.class.&amp;amp;>are</i> in New York City
 
We <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 escapes
 +
'''Ampersand'''
 +
 +
'''tc5045-incorrect_ampersand''''
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Ampersand escape: &a;
 +
</pre> 
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Ampersand escape: &am;
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Ampersand escape: &m;
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Ampersand escape: &mp;
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Ampersand escape: &p;
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Ampersand escape: &ap;
 +
</pre>
 +
 +
'''Less Than Character'''
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Less Than escape: &l;
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Less Than escape: &t;
 +
</pre>
 +
 +
'''Greater Than Character'''
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Greater Than escape: &g;
 +
</pre>
 +
 +
'''Space Character'''
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Space Character escape: &n;
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Space Character escape: &nb;
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Space Character escape: &nbs;
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Space Character escape: &nbp;
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Space Character escape: &nsp;
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Space Character escape: &bsp;
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Space Character escape: &bp;
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Space Character escape: &b;
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Space Character escape: &s;
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Space Character escape: &ns;
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Space Character escape: &np;
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Space Character escape: &sp;
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Space Character escape: &s;
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Space Character escape: &p;
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Space Character escape: &bs;
 +
</pre>
 +
 +
'''Left to Right Character'''
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Left to Right Mark Character escape: &lr;
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Left To Right Mark Character escape: &l;
 +
</pre> 
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Left to Right Mark Character escape: &lm;
 +
</pre> 
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Left to Right Mark Character escape: &rm;
 +
</pre> 
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Left to Right Mark Character escape: &m;
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Left to Right Mark Character escape: &r;
 +
</pre> 
 +
 +
'''Right to Left Mark Character'''
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Right to Left Mark Character escape: &lm;
 
</pre>   
 
</pre>   
 +
 +
  <pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Right to Left Mark Character escape: &rm;
 +
</pre> 
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
Test Right to Left Mark Character escape: &rl;
 +
</pre> 
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
&rlm
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
&lr
 +
</pre>
 +
 +
<pre>
 +
WEBVTT 
 +
 +
00:11.000 --> 00:13.000
 +
&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.000
 +
Test Ampersand Special Character: &
 +
</pre>
  
 
===Cue Text Time Stamp===
 
===Cue Text Time Stamp===
Line 478: Line 856:
 
</pre>
 
</pre>
  
===Disallow Annotation Text===
+
===Cue Text with Multiple Escape Characters===
 
 
*There are cue components that do not allow annotations in them
 
  
 
<pre>
 
<pre>
Line 486: Line 862:
  
 
00:11.000 --> 00:15.000
 
00:11.000 --> 00:15.000
We <i Annotation Here>are in New York City</i>
+
&amp;nbsp;
</pre>
 
  
<pre>
+
&amp;nbsp;
WEBVTT
+
</pre>
  
00:11.000 --> 00:15.000
+
===Multiple Cue Text Components===
We <u Annotation Here>are in New York City</u>
 
</pre>
 
  
 
<pre>
 
<pre>
Line 500: Line 873:
  
 
00:11.000 --> 00:15.000
 
00:11.000 --> 00:15.000
We <b Annotation Here>are in New York City</b>
+
We <b>are</b>
</pre>  
 
  
<pre>
+
<b>in</b> New York City
WEBVTT
 
 
 
00:11.000 --> 00:15.000
 
We <c Annotation Here>are in New York City</c>
 
</pre>
 
 
 
<pre>
 
WEBVTT
 
 
 
00:11.000 --> 00:15.000
 
We <ruby Annotation Here>are in New York City</ruby>
 
</pre>
 
 
 
<pre>
 
00:11.000 --> 00:15.000
 
We <00:13.000 Annotation Here>are in New York City
 
 
</pre>
 
</pre>

Latest revision as of 13:48, 30 September 2012

Group 5 Members

Name IRC Nick Blog Github Account Wiki Page Twitter
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

Ruby Annotations

Michael

  • These escape characters don't appear to be accepted by the parser: &nbsp; &lrm; &rlm;
  • 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

  • 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-multiple_cue_text_component

WEBVTT

00:11.000 --> 00:13.000
Hey <i>this is a <b>test!</b></i>

tc5002-multiple_line_cue_text_component

WEBVTT

00:11.000 --> 00:13.000
<u>
<i>
<b>Hey this is a test!</b></i></u>

tc5003-cue_text_single_sub_class

WEBVTT

00:11.000 --> 00:13.000
<u.class>Hey this is a test!</u>

tc5004-cue_text_multiple_sub_class

WEBVTT

00:11.000 --> 00:13.000
<u.class.subclass>Hey this is a test!</u>

No Cue Text

tc5005-no_cue_text

  • 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-basic_cue_text

  • 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-multiple_line_basic_cue_text

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-less_than_escape_character

WEBVTT 

00:11.000 --> 00:13.000
&lt;

tc5009-greater_than_escape_character

WEBVTT 

00:11.000 --> 00:13.000
&gt;

tc5010-ampersan_escape_character

WEBVTT 

00:11.000 --> 00:13.000
&amp;

tc5011-non_breaking_space_character

WEBVTT 

00:11.000 --> 00:13.000
&nbsp;

tc5012-left_to_right_escape_character

WEBVTT 

00:11.000 --> 00:13.000
&lrm;

tc5013-right_to_left_escape_character

WEBVTT 

00:11.000 --> 00:13.000
&rlm;

Chapter Text with Multiple Escape Characters

tc50140-multiple_escape_characters

WEBVTT

00:11.000 --> 00:15.000
&nbsp;&nbsp;

tc5015-multiple_escape_characters_and_lines

WEBVTT

00:11.000 --> 00:15.000
&nbsp;
&nbsp;

Cue Text with Cue Components

Italic Cue Text

tc5016-italic_cue_test

WEBVTT 

00:11.000 --> 00:13.000
We <i>are</i> in New York City

Bold Cue Text

tc5017-bold_cue_text

WEBVTT 

00:11.000 --> 00:13.000
We <b>are</b> in New York City

Underline Cue Text

tc5018-underline_cue_text

WEBVTT

00:11.000 --> 00:13.000
We <u>are</u> in New York City

Voice Cue Text

tc5019-voice_cue_component

WEBVTT

00:11.000 --> 00:13.000
<v Roger Bingham>We are in New York City

tc5020-internal_voice_cue_text

WEBVTT

00:11.000 --> 00:13.000
<v Roger Bingham>We are in New York City</v>

tc5021-multiple_line_voice_cue_text

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-time_stamp_cue_component

WEBVTT

00:11.000 --> 00:15.000
We <00:12.000>are in New York City

tc5023-multiple_time_stamp_cue_component

WEBVTT

00:11.000 --> 00:15.000
We <00:12.000>are in<0:13.000> New York City

Class Cue Text

tc5024-class_cue_component

WEBVTT

00:11.000 --> 00:15.000
We <c>are</c> in New York City

Multiple Component Cue Text

tc5025-multiple_cue_component

WEBVTT

00:11.000 --> 00:15.000
We <b>are</b> in <b>New York</b> City

tc5026-multiLine_multiple_cue_component

WEBVTT

00:11.000 --> 00:15.000
We <b>are</b>
<b>in</b> New York City

tc5027-multiple_cue_component

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-cue_text_format

WEBVTT 

00:11.000 --> 00:13.000
We <i are</i> in New York City

tc5029-cue_text_format

WEBVTT 

00:11.000 --> 00:13.000
We <iare</i> in New York City

tc5030-cue_text_format

WEBVTT 

00:11.000 --> 00:13.000
We <i>are</i in New York City

tc5031_-cue_text_format

WEBVTT 

00:11.000 --> 00:13.000
We <i>are<i> in New York City

tc5032_-cue_text_format

WEBVTT  

00:11.000 --> 00:13.000
We <i>are i> in New York City

tc5033_-cue_text_format

WEBVTT  

00:11.000 --> 00:13.000
We <i>are<i in New York City

tc5034_-cue_text_format

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-disallow_annotation_italic

WEBVTT

00:11.000 --> 00:15.000
We <i Annotation Here>are in New York City</i>

tc5036-disallow_annotation_underline

WEBVTT

00:11.000 --> 00:15.000
We <u Annotation Here>are in New York City</u>

tc5037-disallow_annotation_bold

WEBVTT

00:11.000 --> 00:15.000
We <b Annotation Here>are in New York City</b>

tc5038-disallow_annotation_class

WEBVTT

00:11.000 --> 00:15.000
We <c Annotation Here>are in New York City</c>

tc5039-disallow_annotation_ruby

WEBVTT

00:11.000 --> 00:15.000
We <ruby Annotation Here>are in New York City</ruby>

tc5040-disallow_annotation_time_stamp

00:11.000 --> 00:15.000
We <00:13.000 Annotation Here>are in New York City

Cue Text Class Format

tc5041-special_char_in_sub_class

WEBVTT  

00:11.000 --> 00:13.000
We <i.&amp;>are</i> in New York City

tc5042-period_with_no_sub_class

WEBVTT  

00:11.000 --> 00:13.000
We <i. >are</i> in New York City

tc5043-incorrect_cue_class

WEBVTT  

00:11.000 --> 00:13.000
We <badclass>are<badclass> in New York City

tc5044-special_char_in_sub_class

WEBVTT  

00:11.000 --> 00:13.000
We <i.class.&amp;>are</i> in New York City

TC5100 Cue Text Special Character Escape Format

  • checking if the parser correctly invalidates improper special character escapes

Ampersand

tc5045-incorrect_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: &mp;
WEBVTT  

00:11.000 --> 00:13.000
Test Ampersand escape: &p;
 
WEBVTT  

00:11.000 --> 00:13.000
Test Ampersand escape: &ap;

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
&gt
WEBVTT  

00:11.000 --> 00:13.000
&lt

Cue Text Special Characters

  • checking if the parser correctly invalidates special characters without escapes


WEBVTT  

00:11.000 --> 00:13.000
Test Ampersand Special Character: &

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
&nbsp;

&nbsp;

Multiple Cue Text Components

WEBVTT

00:11.000 --> 00:15.000
We <b>are</b>

<b>in</b> New York City