David Winegar
b7e40d7b5a
Table cells now recurse
Added another stack layer for tokenizing table cells because of
styling/correctness of implementation. Added many tests cases.
10 lat temu
David Winegar
a8d2983161
Started table parsing in PyTokenizer
Started parsing table support and added the start of table support.
This is a big commit (ugh) and it should probably be split up into
multiple smaller ones if possible, but that seems unworkable as of
right now because of all the dependencies. Also breaks tests of
CTokenizer (double ugh) because I haven't started table support there.
May want to pick line by line on this commit later but I need to save
my work for now.
10 lat temu
Ben Kurtovic
bbd4cd97cf
Add tests for some missed things in Wikicode.
10 lat temu
Ben Kurtovic
e294ee6298
Improve ListProxy detaching behavior.
10 lat temu
Ben Kurtovic
6954480263
Fix template parsing when comments are inside the name ( fixes #59 ).
10 lat temu
Ben Kurtovic
fc529bdb57
Add unit tests for #59 .
10 lat temu
Ben Kurtovic
871d48c688
Solve a couple more coverage issues; tighten.
10 lat temu
Ben Kurtovic
ded89fb14e
Add a few unit tests for untested code; remove a useless conditional.
10 lat temu
Ben Kurtovic
963cb2f780
Store builder handlers in a dictionary. ~5% speedup.
10 lat temu
Ben Kurtovic
b997e4cd71
Support attributes quoted with '; add required quotes in value setter.
10 lat temu
Ben Kurtovic
8bc7ea669d
Improve test coverage; fix some node-related bugs.
* Parameters with non-integer keys can no longer be created with
showkey=False, nor have the value of this attribute be set to False
later.
* Calling Template.remove() with a Parameter object that is not part of
the template now raises ValueError instead of doing nothing.
* Added tests for HTMLEntity._unichr() being called with out-of-range
codepoints.
* Added tests for Tag.__children__() and Tag.__showtree__() involving
attributes that have no values.
10 lat temu
Ben Kurtovic
08cafc0576
Raise ParserError for internal problems. Improve coverage. Cleanup.
10 lat temu
Ben Kurtovic
d8adb62454
Some tweaks, but no change in functionality.
10 lat temu
Merlijn van Deen
3dd29097e4
_test_tokenizer: force utf-8 file encoding
10 lat temu
Ben Kurtovic
02eff0fc49
Fully fix #74 . Add another tokenizer test.
10 lat temu
Ben Kurtovic
c95802f9cc
Allow recursing through everything except the forced type ( fixes #70 )
10 lat temu
Ben Kurtovic
0497b54f03
Fix _handle_single_tag_end()'s token search order ( fixes #74 )
10 lat temu
Ben Kurtovic
5c5fd6b3cb
Fix a bug involving nested links ( closes #61 and #62 ).
10 lat temu
Ben Kurtovic
1312a1fb8a
Some clean up for Python 2.6 support.
* Removed unittest2 dependency on Python >2.6.
* Moved discover_tests.py into tests/.
* tokenizer.c: Fixed errors noted by -Wshorten-64-to-32.
10 lat temu
Marcio Faustino
88c8fb88e0
Switch to `unittest2` to be able to use new features in Python 2.6.
10 lat temu
Ben Kurtovic
e5f17eea00
Update copyright notices for 2014.
10 lat temu
Ben Kurtovic
c0fb7c030a
Implement new search protocol in Wikicode.
11 lat temu
Ben Kurtovic
45aec31629
Move range/xrange compatibility code to compat.py.
11 lat temu
Ben Kurtovic
44484daef3
Updating tests for new __children__ protocol.
11 lat temu
Ben Kurtovic
c8485bf56b
Python 3.2 is weird.
11 lat temu
Ben Kurtovic
39c0756130
Make StringMixIn a lot simpler thanks to __getattr__.
11 lat temu
Ben Kurtovic
1946cf621d
Add a temporary skip_style_tags until we resolve some issues.
11 lat temu
Ben Kurtovic
8df596ba08
Re-added 'flat' argument to Wikicode.get_sections().
Requested by Σ.
11 lat temu
Ben Kurtovic
79bf42df1c
Wikicode.get_sections() now returns sections in the correct order.
Reported by Σ.
11 lat temu
Ben Kurtovic
066049b46a
Update email address.
11 lat temu
Ben Kurtovic
aabe711ee6
Wikicode.matches() can now take a tuple or list.
11 lat temu
Ben Kurtovic
cf90557229
Template.has() should be passed ignore_empty=False by default.
**Breaking change**; closes #51 .
11 lat temu
Ben Kurtovic
5e6c994c2c
Wikicode.matches() now accepts tuples ( closes #48 )
11 lat temu
Ben Kurtovic
e5ad4639ff
Wikicode.i?filter*()'s matches argument now takes functions ( closes #47 )
Bump version to 0.4.dev.
11 lat temu
Ben Kurtovic
6e8412b1ec
Tests for Template.remove() with a Parameter as an argument.
11 lat temu
Ben Kurtovic
37003d2ed1
Bump version to 0.4.dev and add support for Python 3.2.
11 lat temu
Ben Kurtovic
d6e03800fa
Include tests for bracketed links too.
11 lat temu
Ben Kurtovic
7b50888e13
Tests for external links inside other markup.
11 lat temu
Ben Kurtovic
c204cf489f
Add some tests for tag edge cases.
11 lat temu
Ben Kurtovic
fdb2762393
Add a test for tag name capitalization.
11 lat temu
Ben Kurtovic
d1a7d25220
Set right context for ExternalLink.url; Wikicode.filter_external_links()
11 lat temu
Ben Kurtovic
67f1762aa4
Doc updates, and allow passing a starting context to tokenize().
11 lat temu
Ben Kurtovic
d91c65dc1f
TestExternalLink; some fixes in ExternalLink.
11 lat temu
Ben Kurtovic
655cdc0dab
TestBuilder.test_external_link()
11 lat temu
Ben Kurtovic
072b956a07
Make a couple tests harder.
11 lat temu
Ben Kurtovic
b9324eb658
Fix Python tokenizer to not generate empty Text tokens.
11 lat temu
Ben Kurtovic
be505465c0
Alter a test that imitates strange (incorrect?) MediaWiki behavior.
11 lat temu
Ben Kurtovic
44ee185377
Fix some tests involving colons starting lines.
11 lat temu
Ben Kurtovic
176290d75a
Add a couple more tests.
11 lat temu
Ben Kurtovic
93c51fe57c
Tokenizer tests for external links.
11 lat temu