Changes

Jump to: navigation, search

Cue Text, including replacements

10,432 bytes added, 12: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
* Changed title headers
* Began adding concrete tests
* Added Testing Scenarios
==Shayan==
==Jordan==
[http://www.w3.org/TR/2001/REC-ruby-20010531/ Ruby Annotations]
==MichealMichael==* 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 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 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.000
We 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.000
We are in New York City
The 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>
====Italic Cue Text====
'''tc5016-italic_cue_test'''
<pre>
WEBVTT
 
00:11.000 --> 00:13.000
We <i>are</i> in New York City
====Bold Cue Text====
'''tc5017-bold_cue_text'''
<pre>
WEBVTT
 
00:11.000 --> 00:13.000
We <b>are</b> in New York City
====Underline Cue Text====
'''tc5018-underline_cue_text'''
<pre>
WEBVTT
 
00:11.000 --> 00:13.000
We <u>are</u> in New York City
</pre>
==Bad==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 is Incorrectly FormattedFormat===
* Using the <[valid cue text component]>[Text Payload]<[valid cue text component]/> notation
* Italic Tag used in example
'''tc5028-cue_text_format'''
<pre>
WEBVTT
 
00:11.000 --> 00:13.000
We <i are</i> in New York City
</pre>
'''tc5029-cue_text_format'''
<pre>
WEBVTT
 
00:11.000 --> 00:13.000
We <iare</i> in New York City
</pre>
 
'''tc5030-cue_text_format'''
<pre>
WEBVTT
 
00:11.000 --> 00:13.000
We <i>are</i in New York City
</pre>
'''tc5031_-cue_text_format'''
<pre>
WEBVTT
 
00:11.000 --> 00:13.000
We <i>are<i> in New York City
</pre>
'''tc5032_-cue_text_format'''
<pre>
WEBVTT
 
00:11.000 --> 00:13.000
We <i>are i> in New York City
</pre>
 
'''tc5033_-cue_text_format'''
<pre>
WEBVTT  00:11.000 --> 00:13.000
We <i>are<i in New York City
</pre>
 
'''tc5034_-cue_text_format'''
<pre>
WEBVTT
 
00:11.000 --> 00:13.000
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>
 
'''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===
 
'''tc5041-special_char_in_sub_class'''
<pre>
WEBVTT
 
00:11.000 --> 00:13.000
We <i.&amp;amp;>are</i> in New York City
</pre>
 
'''tc5042-period_with_no_sub_class'''
<pre>
WEBVTT
 
00:11.000 --> 00:13.000
We <i. >are</i> in New York City
</pre>
 
'''tc5043-incorrect_cue_class'''
<pre>
WEBVTT
 
00:11.000 --> 00:13.000
We <badclass>are<badclass> in New York City
</pre>
 
'''tc5044-special_char_in_sub_class'''
<pre>
WEBVTT
 
00:11.000 --> 00:13.000
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>
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===
 
<pre>
WEBVTT
 
00:11.000 --> 00:15.000
We <00:16.000>are in New York City
</pre>
 
<pre>
WEBVTT
 
00:11.000 --> 00:15.000
We <00:13.000>are in New <00:12.000>York City
</pre>
 
<pre>
WEBVTT
 
00:11.000 --> 00:15.000
We <00:12000>are in New York City
</pre>
 
<pre>
WEBVTT
 
00:11.000 --> 00:15.000
We <0012.000>are in New York City
</pre>
 
<pre>
WEBVTT
 
00:11.000 --> 00:15.000
We <00:12.00>are in New York City
</pre>
 
<pre>
WEBVTT
 
00:11.000 --> 00:15.000
We <00: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.000
We <b>are</b>
 
<b>in</b> New York City
</pre>
1
edit

Navigation menu