Commit graph

52 commits

Author SHA1 Message Date
fd01acfa5c Partial fixes for adoption agency 2021-03-08 17:09:23 -05:00
f50c46952e Implement XML infoset coercion 2021-03-07 16:50:27 -05:00
01361efdb8 Various fixes 2021-03-06 21:41:12 -05:00
3108808c10 Testmore MathML properly 2021-02-23 21:09:52 -05:00
179a21441c Select and template insertion modes 2021-02-23 17:30:45 -05:00
68317d838e Fill in more insertion modes 2021-02-22 22:58:38 -05:00
dc9dc9953a Partial adoption agency implementation 2021-02-22 10:38:19 -05:00
752ab05464 Implement rest of in-body insertion mode 2021-02-20 12:18:03 -05:00
9758c08da2 Various minor corrections 2021-02-18 11:24:28 -05:00
1228ecca17 Corrective pass over foreign content stuff 2021-02-18 10:30:49 -05:00
065f9c97d6 Handle non-foreign fragment cases 2021-02-17 21:45:14 -05:00
aeb08b5f5d Fix remaining failures
Fragment-case tests still need to be harnessed to test all functionality
2021-02-17 14:39:24 -05:00
5376ed43a5 Don't trim whitespace other than newlines in tests 2021-02-15 11:42:56 -05:00
ab972a838c Fix DOCTYPE serialization
Also patch all top-level comments out
2021-02-15 11:34:45 -05:00
eebc45cb82 Patch tests to suppress root commnts 2021-02-15 08:44:06 -05:00
d35e4f909e Correct error in tst harness related to comments 2021-02-15 00:12:58 -05:00
5f1f02b552 Skip tests requiring unimplemented logic 2021-02-14 21:57:44 -05:00
1dc3d9c23e Emit whitespace-only character tokens
This makes tree building simpler in certain circumstances
2021-02-14 18:31:16 -05:00
504731cba0 Bring coverage backend up to date 2021-02-14 18:25:35 -05:00
e3a271f06b Fix first failure in tree builder 2021-02-13 10:29:07 -05:00
bb4002abcb Stub the tree builder properly 2021-02-12 22:46:10 -05:00
eea70eccd8 Test harness for tree construction 2021-02-12 21:05:48 -05:00
a35e8c8ae5 Update character decoders 2021-02-12 09:51:30 -05:00
269d0ecc64 Patch tests based on input not unstable identifier 2020-09-17 09:10:32 -04:00
37aecf97ba Remove scripted encoding test workaround
The test has been segregated, making the workaround unnecessary
2020-09-16 18:23:39 -04:00
28f0bbfe72 Suppress only one scripting test 2019-12-23 10:17:07 -05:00
1f3c33ad9e Better coverage of BOM-based detection 2019-12-23 09:13:08 -05:00
06e43504d0 Tweaks 2019-12-22 23:38:15 -05:00
164e5ff1e8 Add standard charset detection tests
- Various new tests needed for full coverage, noted in comment
- Byte Order Mark detection methopd added
- Japanese encodings nt yet supported, so tests marked incomplete
- Tests requiring scripting suppressed
2019-12-22 22:51:18 -05:00
a7e1083681 Prototype character encoding detection 2019-12-22 13:36:59 -05:00
c1162f962f Add missing test 2019-12-21 19:28:48 -05:00
2aa6bb2dea Remove unnecessary test abstraction 2019-12-21 15:05:42 -05:00
49f31015ac Start on character encoding detection 2019-12-21 14:53:51 -05:00
318d7bd7ad Patch remaining test failures away 2019-12-20 11:48:14 -05:00
00bf9974c5 Fix up most error reporting positions 2019-12-19 22:28:11 -05:00
58a1177888 Address errors and omissions in error emission
One test still fails, though it is arguably immaterial. This does not
account for line and column number, which are known to be mostly
off by one.
2019-12-19 15:13:20 -05:00
5a12fa8ad7 Tidying 2019-12-17 17:08:19 -05:00
ff4447e986 Include pending spec changes tests 2019-12-17 13:58:54 -05:00
e8f35e92fb Character reference fixes
One test in the "entities.test" file is till failing
2019-12-16 23:41:44 -05:00
67c7f382e2 Prep for character references
- Add missing state constants
- Break all existing deviations for character refs
- Add assertions before use of $attribute
- Also fix DOCTYPE state
2019-12-15 22:20:20 -05:00
43f380c1f9 Fix EOF and end tags
- End tags now emit errors if they have attributes
- End tags now emit errors if they are self-closing
- The last character before EOF is now correctly reconsumed

Also changed the tokenizer debug log to be zero-cost
2019-12-15 19:45:59 -05:00
4e4aee2edd Update intl dependency 2019-12-13 12:13:44 -05:00
6b42f08fbc Change some if-the-exception blocks to assertions
This has only been done some parts of the code that are internal
to the parser at large.
2019-12-12 17:35:24 -05:00
af57117c23 Silence parse errors for now 2019-12-12 15:43:16 -05:00
bb2a7b5a95 Rewrite how parse errors are handled
Everything which can emit a parse error should have the error handler
and data stream as properties and use the ParseErrorEmitter trait to
avoid complicating the task of actually producing an error.

Normally the Parser would be expected to set the error handler before it
begins (this commit does not do this) and unset it after it's done.
Alternatively, the entire means of reporting errors can now be easily
replaced.
2019-12-12 15:23:15 -05:00
d93fe25e58 Combine character tokens in test harness 2019-12-12 10:48:11 -05:00
1beb934789 Add more tests 2019-12-11 20:49:24 -05:00
f360206a34 Basic endless loop helper 2019-12-10 23:20:50 -05:00
1386eb103c Fix test transformer 2019-12-10 21:35:27 -05:00
1971892635 Basic skeleton of test suite 2019-12-10 18:00:08 -05:00