Ben Kurtovic
7a30e47f76
Some improvements to whitespace recognition; unit tests ( #185 ).
pirms 7 gadiem
Ben Kurtovic
cd4f90e663
Fix a rare parsing bug involving nested broken tags.
pirms 7 gadiem
Ben Kurtovic
8a9c9224be
Speed up parsing deeply nested syntax by caching bad routes ( fixes #42 )
Also removed the max cycles stop-gap, allowing much more complex pages
to be parsed quickly without losing nodes at the end
Also fixes #65 , fixes #102 , fixes #165 , fixes #183
Also fixes #81 (Rafael Nadal parsing bug)
Also fixes #53 , fixes #58 , fixes #88 , fixes #152 (duplicate issues)
pirms 7 gadiem
Ben Kurtovic
d7c755f526
Add Wikicode.contains(), Wikicode.get_ancestors(), Wikicode.get_parent() ( #177 )
pirms 7 gadiem
Ben Kurtovic
68ded2f890
Add keep_template_params to Wikicode.strip_code ( #175 )
pirms 7 gadiem
Ben Kurtovic
6159171e04
Make Template.remove(keep_field=True) slightly more reasonable.
pirms 7 gadiem
Ben Kurtovic
f34f662f35
Fix len() sometimes raising ValueError on empty node lists ( fixes #174 )
pirms 7 gadiem
Ben Kurtovic
aaffb7f66b
Update copyright for 2016.
pirms 8 gadiem
Ben Kurtovic
4707b455b5
Add a new test to check for parsing bug; fix an existing test ( #142 )
pirms 8 gadiem
Ben Kurtovic
61b6b98470
Fix two parser bugs involving wikitable error handling.
pirms 9 gadiem
Ben Kurtovic
50b401549b
Add failing test cases for #125 .
pirms 9 gadiem
Ben Kurtovic
4f3ab48375
Edge cases involving wikilink -> external link fallback ( fixes #120 )
pirms 9 gadiem
Ben Kurtovic
67214b7c05
Add some failing tests for SmartList features.
pirms 9 gadiem
Ben Kurtovic
ab9f6a97fb
Use weakrefs for SmartList children; remove _ListProxy.detach().
pirms 9 gadiem
Ben Kurtovic
2a3a978986
Incomplete code for C tokenizer textbuffer.
pirms 9 gadiem
Ben Kurtovic
f16c7e25ca
Fully fix parsing templates with blank names, I hope ( #111 )
pirms 9 gadiem
Ben Kurtovic
7993224926
Add a failing test for a missed component of #59
pirms 9 gadiem
Ben Kurtovic
56f1797cfe
Add failing tests for #111
pirms 9 gadiem
Ben Kurtovic
46cb714344
Fix unit tests for 699d063
( #109 )
pirms 9 gadiem
Ben Kurtovic
4c2540060b
Fix preserve_spacing behavior in Template.add() on hidden keys ( #109 )
pirms 9 gadiem
Ben Kurtovic
3a57756068
Fix HTTPS requirement for enwiki API.
pirms 9 gadiem
Ben Kurtovic
efc571c5c0
Refactor _test_tokenizer; add syntax for running just one test.
pirms 9 gadiem
Ben Kurtovic
07d4577c33
Add tests for < and > in wilink titles/template names ( #104 )
pirms 9 gadiem
Ben Kurtovic
e71e7b4ece
Update copyright years for 2015; fix whitespace in docs.
pirms 10 gadiem
Ben Kurtovic
a64bae35c9
Add support for a NOWEB env var, update docs.
pirms 10 gadiem
Ben Kurtovic
a00c645bd8
Fix handling of tag closes within <nowiki> ( fixes #89 ).
pirms 10 gadiem
Ben Kurtovic
47b44a9730
Add a failing test for #89 .
pirms 10 gadiem
Ben Kurtovic
9fc4b909e1
Refactor a lot of table error recovery code.
pirms 10 gadiem
Ben Kurtovic
4d4045902d
Update table tests to reflect new grammar.
pirms 10 gadiem
Ben Kurtovic
e1ebb59b9e
Ensure token list is copied before being fed to the builder.
pirms 10 gadiem
Ben Kurtovic
913ff590c8
Cleanup; add a missing test.
pirms 10 gadiem
Ben Kurtovic
504b8bace0
Add test code for a missing branch of Tag.wiki_markup.setter; cleanup.
pirms 10 gadiem
Ben Kurtovic
c638746850
Add a test for tokenizer line 1384.
pirms 10 gadiem
Ben Kurtovic
92cf8f2c03
Add a couple more tests involving templates.
pirms 10 gadiem
Ben Kurtovic
bd85805f8f
Add integration tests for token roundtripping.
pirms 10 gadiem
Ben Kurtovic
e446c51347
Adjust table test labels for consistency.
pirms 10 gadiem
David Winegar
1a4c88e11f
Correctly handle no table endings
Tests were not correctly testing the situations without a table close.
Fixed tests and then fixed tokenizers for failing tests. Also refactored
pytokenizer to more closely match the ctokenizer by only holding the
`_parse` methods in the try blocks and no other code.
pirms 10 gadiem
David Winegar
8dc70bc20b
Add test coverage
Add some table tests to increase coverage. Also reorder some tests.
pirms 10 gadiem
David Winegar
1b3e3c3657
Change wiki tags to use style separators
For wiki syntax tables, add `wiki_style_separator` as an attribute
for the Tag node. Also reorder `closing_wiki_markup` property and tests
to match its place in the constructor.
pirms 10 gadiem
David Winegar
213c105666
Table tags are no longer self-closing
Table tags no longer self-closing. Rows and cells now contain their
contents. Also refactored out an `emit_table_tag` method.
Note: this will require changes to the Tag node and possibly the builder,
those changes will be in the next commit.
pirms 10 gadiem
David Winegar
64869fe84b
Remove style test
Remove style test to properly implement implicit style closes later.
pirms 10 gadiem
Ben Kurtovic
94a9e32494
Add missing comma to test output.
pirms 10 gadiem
David Winegar
151a73e437
Fix issue with incorrect table attributes
Fix problem in which invalid table attributes were being parsed
incorrectly. Added tests.
pirms 10 gadiem
David Winegar
8b5d6f9a3b
Changes to table close handling
Fix problem in which fake table closes were causing a problem inside
cells. Changed inline table handling to fix this.
pirms 10 gadiem
David Winegar
457b224045
Add padding to table cell tags
Padding now included on all wiki table cells. With wiki table cells
that include attributes, `wiki_markup` is also included (unchanged).
pirms 10 gadiem
David Winegar
842af20c38
fixed hacky table cell style exception, added tests
Removed the `StopIteration()` exception for handling table style
and instead call `_handle_table_cell_end()` with a new parameter.
Also added some random tests for table openings.
pirms 10 gadiem
David Winegar
f1664a8d67
Updated row and table handling
Changed row recursion handling to make sure the tag is emitted even
when hitting recursion limits. Need to test table recursion to make
sure that works. Also fixed a bug in which tables were eating the
trailing token. Added several tests for rows and trailing tokens with
tables.
pirms 10 gadiem
David Winegar
ec08001871
Tables and rows now use newline as padding
Tables and rows use newlines as padding, partly because these characters
are pretty important to the integrity of the table. They might need
to be in the preceding whitespace of inner tags instead as padding after,
not sure.
pirms 10 gadiem
David Winegar
d356a570b3
Added closing_wiki_markup support to Tag node
Added support for allowing different wiki syntax for replacing the opening
and closing tags. Added for table support.
pirms 10 gadiem
David Winegar
9f159ecfa2
Add table start/row start style attribute support
Started styling attributes for table row and table start. Still not entirely
sure about this, definitely need to make changes regarding padding.
pirms 10 gadiem