I have already agreed that I need to break up the patches and be more clear.
But that has nothing to do with whether the parser should be allowed to output non-standard compliant cues. Nor does it have anything to do with if there should be one set of tests or two. On Mon, Feb 4, 2013 at 10:46 PM, Caitlin Potter < [email protected]> wrote: > We agree that there are errors in these tests (however I did not see that > one mentioned in your list of changes, which is a good reason to make much > smaller, more focused issues rather than massive pull requests) > > But your changes have done a lot more than just this. You've removed tests > claiming that they're duplicates without demonstrating that they're > duplicates (eg, claiming that "4 digits" and "greater than 999" are the > same thing, with the same code to step through, when they are in fact not). > But even if you do demonstrate that the code is the same, for things like > that I think it's a good idea to keep those tests in place for now, because > they're not actually the same thing. > > Removing tests, changing the expected number of cues (sometimes correct, > other times not so much), removing the comments regarding the syntax rules > (which are essentially a guide through the parser code) and replacing them > with the "relevant" section from the parser spec... Things like this, I > don't agree with. There are a huge number of changed files in your pull > requests, I haven't been over all of them, but a few of these things have > stood out. > > It will be a lot simpler if we can avoid these massive patches (I'm guilty > of this too) so that it's easier for other people to provide an input on > exactly what is correct and what isn't. > > But nevermind the "big patch" issue for now, the thing is that we all > agree that tests for the rules outlined in the "parsing" section are > needed. The issue is that some of us believe these tests are different from > the other tests (in that they will require a different FileParser > implementation). They can still use the same data files, and even sit in > the same folder. But some code changes are really necessary to make them > test the things you want them to test. > ________________________________________ > From: > dev-media-bounces+caitlin.potter=senecacollege...@lists.mozilla.org[dev-media-bounces+caitlin.potter= > [email protected]] on behalf of Kyle Barnhart [ > [email protected]] > Sent: Monday, February 04, 2013 10:21 PM > To: Ralph Giles > Cc: [email protected] > Subject: Re: WebVTT Parser Standards Compliance > > There are tests for every valid and invalid input we could think of. Let me > show an example of the changes I've made. > > 00:01.780 --> 00:02.300 > > That is a timing statement for a cue. The whitespace between the timestamp > and the arrow is required by the syntax rules but not required by the > parsing rules. So for tests where the whitespace is missing, I've changed > the expected number of cues from 0 to 1. > > 00:02.0005 > > The milliseconds are only allowed to have 3 digits. In the current tests > change it 00:02.005. This is not allowed by either syntax or parsing rules, > and by parsing rules the cue should be discarded. So I changed expected > cues from 1 to 0. > > These are only two of the many changes that had to be made to make the > tests correct according to the parsing rules. The other big change I made > is to reference the parsing rules being tested in the comments instead of > the syntax rules, since the syntax rules don't apply to a parser and the > parsing rules do. Otherwise I've made no changes to the intent of any test, > and I have added many missing tests, and removed duplicate test. I have not > removed any debug error checks and have added many missing ones. In all the > modified tests are more thorough and make sure the parser is correctly > outputs cues that are standards compliant. > > What Caitlin is now arguing is that the parsing library should have two > settings, one outputs non-standard cues, and one outputs standard cues, and > there is a set of tests for each. However I can see no possible reason ever > to output non-standard cues. In fact is it bad, dangerous, and a whole lot > of unnecessary work. The purpose of a standard is to make sure WebVTT > behaves the same in all settings. Outputting non-compliant cues directly > violates the standard. Allowing it can only serve to make it more difficult > to work with WebVTT, and developers will not know how their file will > behave from one application to the next. Therefore it is far less work and > far better to have one set of standard compliant tests, and fix the parser > to those standards. And it is better to do it now, then to go back and > re-engineer the thing later. > > Thanks, > Kyle Barnhart > > > On Mon, Feb 4, 2013 at 8:53 PM, Ralph Giles <[email protected]> wrote: > > > On 13-02-04 5:20 PM, Caitlin Potter wrote: > > > > > The issue here is that Kyle insists on rewriting unit tests that are > > concerned with the "syntax specification", rather than adding new tests > > that are concerned with the "parser specification". > > > > Like Chris, I'm a confused what the contended issue is. To be clear, are > > we looking at the version of the webvtt spec at > > https://dev.w3.org/html5/webvtt/ ? > > > > This has several sections which seem relevant: > > > > * 3.1 "Syntax" described the WebVTT text format and includes a few > > parser descriptions, such as the one for timestamps. > > > > * 3.2 "Parsing" describes the top-level parsing algorithm for WebVTT > > text files. > > > > * 3.3 "Cue text parsing" describes a parsing algorithm for the contents > > of each cue, building a particular dom-ish data structure. > > > > Is one of these sections the "syntax specification" and another the > > "parser specification"? If so, where do they disagree? Can you give a > > specific example where one is more permissive or restrictive than > another? > > > > The point of having a specific parser algorithm documented in the spec > > is to achieve uniform implementation. If everyone implements the > > algorithm (or its equivalent) the handling of edge cases will be more > > consistent than if everyone implements a parser from scratch based on > > some incomplete syntax description. So we should be implementing the > > parser the spec describes. If the spec is internally inconsistent we > > should file spec bugs and get the text fixed. > > > > Nevertheless, the current code doesn't pass--or even run to completion > > on--a number of the current tests, so it's difficult to tell what works > > and what doesn't. I think fixing that should be the highest priority for > > those working on the parser. Without tests we don't know where we stand, > or > > > > Kyle, Caitlin's suggestion that you provide a separate set of parser > > tests seems reasonable to me if she wants the current set for code > > coverage or additional features. The test sets can always be merged > > later if there's consensus that's appropriate. In the meantime you won't > > get in each other's way. > > > > - Ralph > > _______________________________________________ > > dev-media mailing list > > [email protected] > > https://lists.mozilla.org/listinfo/dev-media > > > _______________________________________________ > dev-media mailing list > [email protected] > https://lists.mozilla.org/listinfo/dev-media > _______________________________________________ dev-media mailing list [email protected] https://lists.mozilla.org/listinfo/dev-media

