OSD600/webvtt/cue settings

From CDOT Wiki
Revision as of 15:23, 23 September 2012 by Dylan Potter (talk | contribs) (Cue Settings Tests)
Jump to: navigation, search

Cue Settings Tests

"vertical" & "line" settings

09/23/2012

Download: caitp-cue_settings_tests-09232012.tgz


Discussion:

"position", "size" & "align" settings

Note: Hi Caitlin here are the tests I've come up with so far for the position, size and align cue settings. I have a few concerns about some of the things I saw in the parser so if you could help me test them it would be great.

Some notable things I've discovered:

  • 00:11.000 --> 00:13.000position:10% passes
    • there is no space between the cue setting and the cue timing. this is a problem with the toy parser, because the draft requires one or more whitespace characters ([U+0020 || U+0009]) between the timestamp and the cue setting (and between each subsequent cue setting)
  • 00:11.000 --> 00:13.000 position:A% passes
    • any character besides ' ' (space) between : and % will pass. This is another problem with the toy parser, as the draft defines that the text between ':' and '%' must be in the U+0030-U+0039 range (ASCII digits)

A few things to note about the tests:

  • The first test for position is the absence of the cue setting tag, I think technically this test should work for the rest of the tests that use the :n% format as well hence its absence in the size tests.
  • I have a test for each cue setting type where the ':' is missing, what do you think about this? I have been thinking that only one for all the cue settings would be enough as this simply tests the parser for whether it can split setting from value.


Position

WEBVTT

00:11.000 --> 00:13.000 :10%

  • no cue setting


WEBVTT

00:11.000 --> 00:13.000 position:10%

  • positive test (should succeed)


WEBVTT

00:11.000 --> 00:13.000 position:A%

  • character above utf-8+0039
    • NOTE: the parser currently passes this test instead of failing it


WEBVTT

00:11.000 --> 00:13.000 position:+%

  • character below utf-8+0030
    • NOTE: the parser currently passes this test instead of failing it


WEBVTT

00:11.000 --> 00:13.000 position10%

  • ':' missing in between cue setting and value


WEBVTT

00:11.000 --> 00:13.000 position:10

  • '%' missing at the end


Size

WEBVTT

00:11.000 --> 00:13.000 size:10%

  • positive test (should succeed)


WEBVTT

00:11.000 --> 00:13.000 size:A%

  • character above utf-8+0039
    • NOTE: the parser currently passes this test instead of failing it


WEBVTT

00:11.000 --> 00:13.000 size:+%

  • character below utf-8+0030
    • NOTE: the parser currently passes this test instead of failing it


WEBVTT

00:11.000 --> 00:13.000 size10%

  • ':' missing in between cue setting and value


WEBVTT

00:11.000 --> 00:13.000 size:10

  • '%' missing at the end


Align

WEBVTT

00:11.000 --> 00:13.000 :start

  • no cue setting


WEBVTT

00:11.000 --> 00:13.000 align:start

  • positive test (should succeed)


WEBVTT

00:11.000 --> 00:13.000 align:middle

  • positive test (should succeed)


WEBVTT

00:11.000 --> 00:13.000 align:end

  • positive test (should succeed)


WEBVTT

00:11.000 --> 00:13.000 align:star

  • test misspelling of one of the possible values


WEBVTT

00:11.000 --> 00:13.000 align:

  • test missing value



These tests look okay, but just one thing to point out, the draft does require that a cue has a cue payload (eg, the text content of the subtitle), so if they weren't in the actual test files, they need to be added in so that we're only testing the pass/fail of the specific conditions we're looking at.