Gabriel Wicke
a8fa9433c4
Convert quote handling (italic/bold) to a core extension operating on the
...
token stream. This is the first token transformation exercising the
TokenTransformer class as its dispatcher. Template expansions, wiki link
formatting, tag sanitation and extensions should be able to use the same
dispatcher by registering for specific token types.
The parser performance is very slightly improved as the token stream is only
traversed once.
2011-12-12 20:53:14 +00:00
Gabriel Wicke
752b0990b2
Refactor parserTests somewhat into a class-like structure, and wire up the
...
TokenTransformer.
2011-12-12 14:03:54 +00:00
Gabriel Wicke
d616f07a79
Don't re-build the wiki tokenizer for each test. This speeds up the full
...
parserTests.js run slightly from 7-8 minutes to about 14 seconds ;)
A few very minor tweaks to the grammar are also thrown into this commit.
2011-12-12 10:47:42 +00:00
Gabriel Wicke
abc2254110
A bit of comment clean-up and wrapping of tree building into try/catch block
...
to actually count failures.
2011-12-08 11:40:59 +00:00
Gabriel Wicke
92fdf99384
Further renaming, this time from pegParser to pegTokenizer.
2011-12-08 10:59:44 +00:00
Gabriel Wicke
76bc477038
Rename html5TokenEmitter to HTML5TreeBuilder, and the contained Tokenizer to
...
TreeBuilder.
2011-12-08 10:37:18 +00:00
Gabriel Wicke
1d299f6aa9
Also print out options for failing tests.
2011-12-07 11:45:05 +00:00
Gabriel Wicke
0734fb24c5
Add a few more items to the whitelist
2011-12-07 11:44:38 +00:00
Gabriel Wicke
7e1585d360
Add empty tables to the whitelist (legal in HTML5). Also add one more
...
functionally identical italic/bold/link permmutation on the whitelist.
2011-12-06 22:05:43 +00:00
Trevor Parscal
e61e66856c
Fixed issue in transaction processor's insert method - no need for a special case for structural offsets anymore
2011-12-06 22:04:18 +00:00
Trevor Parscal
88f22ec10f
Added test which currently fails because Transaction processor is broken
2011-12-06 21:36:36 +00:00
Gabriel Wicke
1a5ffacc5c
Add slightly different but functionally identical italic/bold/link nesting to
...
whitelist.
2011-12-06 16:45:19 +00:00
Gabriel Wicke
a922d595cf
Really minor: Add a newline after whitelist printout.
2011-12-06 13:16:43 +00:00
Gabriel Wicke
1bd3f8321e
Minor beautification of whitelist entry print-out header.
2011-12-06 12:35:32 +00:00
Gabriel Wicke
228fccd0c1
Strip toc and edit sections from expected html for now.
2011-12-06 11:39:53 +00:00
Antoine Musso
350d1e8978
util.inspect to dump tokens
...
It gets a better output over JSON.stringify since inspect nicely indent
the object/array dump. Makes it easier to read for humans.
2011-12-06 10:23:58 +00:00
Gabriel Wicke
33e19f7275
Recognize block-level elements independent of case; Ignore toc and section
...
edit links in tests. 148 parser tests passing.
2011-12-05 20:03:24 +00:00
Trevor Parscal
07af0cab63
* Moved getContent and getText from leaf nodes to document model nodes
...
* Renamed getContent to getContentData
* Renamed getText to getContentText
* Added getElementData
2011-12-05 19:41:04 +00:00
Gabriel Wicke
a6867d76c5
Ignore missing redlink for now, we are concerned with the parser and not a
...
complete wiki at this stage.
2011-12-05 17:07:06 +00:00
Gabriel Wicke
1760210d13
Fixes to tables, headings and misc smaller stuff. Tracked down an issue caused
...
by improperly caching of production results, which interfered with the
flag-dependent inline_break production.
2011-12-04 19:23:24 +00:00
Antoine Musso
7ead617a2e
--cache to save the test cases parsing
...
This is optional but speed up launchtime when other files are not
modified.
2011-12-01 17:51:07 +00:00
Antoine Musso
c21a81ee45
warn on invalid regex passed to --filter
2011-12-01 15:45:40 +00:00
Gabriel Wicke
63c728924b
Use pegjs from npm
2011-12-01 15:23:23 +00:00
Gabriel Wicke
d00743ad79
Improve external links and definition lists, now 133 tests passing ;)
...
Also add printwhitelist option to test runner, provides js code copy/pastable
to whitelist.
2011-12-01 14:25:59 +00:00
Antoine Musso
cb682c5ade
option to disable color output (use --no-color )
2011-12-01 12:30:15 +00:00
Gabriel Wicke
5d50c6bbf3
Follow-up to r104845: s/args/argv
2011-12-01 12:10:43 +00:00
Gabriel Wicke
edf40c616c
Make whitelist usage an option; tweak comment a bit
2011-12-01 11:47:22 +00:00
Gabriel Wicke
5f72acec8f
Add option to disable whitelist
2011-12-01 11:08:05 +00:00
Gabriel Wicke
35efed6634
Add a parser test whitelist for manually-checked tests, and an option to print
...
JSON-serialized parser output for failing tests, which can then be added to
the whitelist if appropriate.
2011-12-01 10:58:12 +00:00
Gabriel Wicke
e7f182d786
Strip the patch header lines, don't really need those
2011-11-30 18:21:53 +00:00
Antoine Musso
2b6d1896cb
colorize numbers in test summary
...
Also added Brion's ALL TEST PASSED when it makes sense
2011-11-30 17:43:54 +00:00
Antoine Musso
ed74636ab5
--quick Suppress diff output of failed tests
...
A long block of code was not reindented to make this patch easier
to read for people not ignoring white spaces changes :D
2011-11-30 17:18:24 +00:00
Antoine Musso
ebfc6f08fd
--quiet suppress notification of passed tests
...
--no-quiet will make sure you always see PASSING tests :)
2011-11-30 17:10:07 +00:00
Antoine Musso
3038df313f
allow test filtering using a regexp on title test
...
use --filter :)
2011-11-30 17:03:29 +00:00
Antoine Musso
513b2e85b7
proper argument handling (requires 'optimist' module)
...
Handle arguments and options properly by using the 'optimist' node module.
Please note wordwrapping in usage does not seem to work on my setup :(
Only --help implemented yet.
Example:
$ node parserTests.js --help
Starting up JS parser tests
Usage: node ./parserTests.js
Options:
--filter, --regex Only run tests whose descriptions which match given regex (option not implemented)
--help, -h Show this help message
--disabled Run disabled tests (default false) (option not implemented) [boolean]
2011-11-30 16:33:26 +00:00
Antoine Musso
567ef896e7
add some console messages
2011-11-30 15:33:56 +00:00
Antoine Musso
302e1519b3
add colors to visual editor parser testing
...
TODO: add an option to switch color scheme for light/dark backgrounds
2011-11-30 15:20:46 +00:00
Gabriel Wicke
f758894de7
Let another test pass by swapping the default order of italic/bold for '''''.
...
Minor test output cosmetics.
2011-11-30 13:54:57 +00:00
Gabriel Wicke
2bb512a4de
A bit of tokenizer grammar clean-up and additional expected-html
...
normalization. 99 parser tests now passing.
2011-11-30 13:40:17 +00:00
Gabriel Wicke
ae0b5f9af4
* Split paragraph handling between tokenizer and DOM postprocessor for better
...
html markup handling.
* Remove global 'use strict' declarations from html5 parser.
* Add trailing whitespace handling in dt
Overall, 55 parser tests are now passing.
2011-11-29 15:11:51 +00:00
Gabriel Wicke
d7537d9777
Improve comment and general data-* attribute normalization.
2011-11-28 16:55:50 +00:00
Gabriel Wicke
1c91daa7be
Provide a summary of failures.
2011-11-28 14:53:07 +00:00
Gabriel Wicke
a875597530
Keep going of the HTML parser fails to normalize the expected test outcome.
...
Minor code simplification, and recognition of tr, td and tbody as block-level
elements.
2011-11-28 14:00:14 +00:00
Antoine Musso
9e887cc34c
Adds a path fallback to find test file.
...
I do not fetch mediawiki in ../../../../phase3 . This patch use another
path as a fallback.
2011-11-28 11:41:47 +00:00
Antoine Musso
901b0a8911
list some more needed node module
2011-11-28 11:40:14 +00:00
Gabriel Wicke
901a089358
Shorten diff output and display comments before each failing test.
2011-11-28 11:38:48 +00:00
Gabriel Wicke
5c2a145bdf
Add diff output as well.
2011-11-28 11:19:50 +00:00
Gabriel Wicke
d3f0196df7
Add primitive HTML comparison to detect passing parser tests. The expected
...
HTML is parsed using a HTML parser and re-serialized, and the output compared
to the serialization of the new parser's dom. Newline normalization is a
cheap hack for now, need to improve that later.
2011-11-28 11:10:39 +00:00
Gabriel Wicke
dd5cd59ac6
Better HTML, pre and blocklevel handling. Hackish source formatting for easier
...
comparison with parserTest results.
2011-11-25 12:47:03 +00:00
Roan Kattouw
5ac817a6f4
Fix bugs in prepareContentAnnotation() related to structural offsets, and add a test. Also add parenthesis to the if statement mixing || and &&, for clarity
2011-11-24 16:27:40 +00:00