Ben Kurtovic
81849013bc
Finishing tests for Templates; some fixes.
11 anni fa
Ben Kurtovic
2ca3b2805e
Implement 'before' parameter for Template.add() ( closes #21 )
11 anni fa
Ben Kurtovic
b46c98b012
Clean up template.add(); add a before param but do not implement yet.
11 anni fa
Ben Kurtovic
786d619274
Drop force_no_field in template.remove(); implement test_remove().
- Also add tests for spacing in param names.
11 anni fa
Ben Kurtovic
debcb6577e
Fix recursion issues by giving up at a certain point ( closes #16 ).
- Stop parsing new templates if the template depth gets above
MAX_DEPTH (40) or if we've already tried to parse over MAX_CYCLES
(100,000) templates.
- Add two tests to ensure recursion works somewhat correctly.
- Fix parsing the string "{{" with the Python tokenizer; add a test.
11 anni fa
Ben Kurtovic
6a385b3921
TestParameter and a fair chunk of TestTemplate.
11 anni fa
Ben Kurtovic
6bf8cfd2ad
Fix tests for Python 3.
11 anni fa
Ben Kurtovic
8db40689ed
Improve a few things about nodes; simply a method in Wikicode.
11 anni fa
Ben Kurtovic
404b4479a2
Implement the remaining asserts in TreeEqualityTestCase.
11 anni fa
Ben Kurtovic
1b69b5e882
Moving compat stuff exclusively for unit tests to its own file.
11 anni fa
Ben Kurtovic
32ac6958e1
Apply some bugfixes to SmartList to fix tests on Python 3.
- Add a _SliceNormalizerMixIn to properly handle slices.
- Use floor division when applying key.step.
- Implement sort() without 'cmp' parameter.
- Fix bytes(list) behavior.
- Children of _ListProxies are now _ListProxies, not regular lists.
11 anni fa
Ben Kurtovic
7f87a1c4b3
Apply bugfixes so that some tests pass on Python 3.
- Skip CTokenizer tests if CTokenizer is not available.
- TestStringMixin: Don't make assumptions about default encoding.
- Add urllib stuff to mwparserfromhell.compat.
- Fix compat.py's line endings.
- gen.next() -> next(gen)
- assert*Equals() -> assert*Equal()
11 anni fa
Ben Kurtovic
f803269514
Add a USES_C field to the tokenizers; add TestParser.test_use_c()
11 anni fa
Ben Kurtovic
6a741db7ce
Applying fb71f5507e
11 anni fa
Ben Kurtovic
34b85a93cd
Cosmetic change: standardize whitespace after class definition.
11 anni fa
Ben Kurtovic
b298a68b37
Squash a bug dealing with extended slices.
11 anni fa
Ben Kurtovic
740db6ddfa
Implement some more tests; squash bugs in SmartList/_ListProxy
11 anni fa
Ben Kurtovic
49b9863b77
Handle keyword arguments in some methods with py3k correctly.
11 anni fa
Ben Kurtovic
d85ff73c19
Squashing some sneaky bugs in SmartLists's children.
11 anni fa
Ben Kurtovic
fb92349909
Fix parsing of arguments in SmartList.sort()
11 anni fa
Ben Kurtovic
10a7e5d241
Fix the same bug in __setitem__ and __delitem__
11 anni fa
Ben Kurtovic
65c3950e89
Fix bug when an extended slice's stop argument is missing.
11 anni fa
Ben Kurtovic
ff51d7f5e5
Some tests for SmartLists; __reversed__ in StringMixIn
11 anni fa
Ben Kurtovic
fe3328aa38
test_doctest()
11 anni fa
Ben Kurtovic
b9d2a83b8a
Starting TestSmartList.
11 anni fa
Ben Kurtovic
cf14b5ef4e
Add some missing methods to StringMixIn.
11 anni fa
Ben Kurtovic
6704bcd662
Document the remaining universal methods.
Still need to do some py3k-only ones.
11 anni fa
Ben Kurtovic
d8814968b7
Applying latest commit from develop
11 anni fa
Ben Kurtovic
fb71f5507e
Support a 'use_c' field to explicitly disable the C tokenizer.
11 anni fa
Ben Kurtovic
054a84afe0
A bit of misc cleanup.
11 anni fa
Ben Kurtovic
718fcb24c8
Fix eight failing tests; all template parsing tests now passing ( #25 ).
11 anni fa
Ben Kurtovic
5a0a00ba98
Change the way verify_safe() handles template params ( #25 ).
- Newlines are now allowed in template param names.
- Changes also affect handling of arguments like {{{foo}}}.
- Update unit tests: remove some unnecessary ones, and add some to cover the changes.
- Update StringMixIn tests to actually work for some of the methods.
- Update copyright notices for the C extensions.
11 anni fa
Ben Kurtovic
9a87329d69
More tests for test_other_methods()
11 anni fa
Ben Kurtovic
6e748004d1
test_types(), test_other_magics(); add range to compat
11 anni fa
Ben Kurtovic
221af8a9d7
Adding some tests to TestStringMixIn
11 anni fa
Ben Kurtovic
0803417901
Port CTokenizer's verify_safe method to Python to solve a failing test.
11 anni fa
Ben Kurtovic
acb7e57904
Make mwparserfromhell.parser() be an alias for parse_anything().
Some other changes, including removal of the 'string' import in the tokenizer.
11 anni fa
Ben Kurtovic
28b124a96c
Restarting work on unit tests with a test covering doc examples.
11 anni fa
Ben Kurtovic
357e421fe8
Text nodes should now appear a bit better in tree form.
11 anni fa
Ben Kurtovic
d6f2723a06
Fix safety checks on template params in some odd cases ( closes #24 ).
Also, fix parsing of wikilinks in both tokenizers such that newlines
in any location within the title are an automatic failure.
11 anni fa
Ben Kurtovic
0ee505b5a5
Docstrings for new tokenizer methods.
11 anni fa
Ben Kurtovic
cd5cc6a7d0
Update copyright notices for 2013.
11 anni fa
Ben Kurtovic
11cf5def75
Fix handling of sections headers with equal signs ( closes #20 )
11 anni fa
Ben Kurtovic
6ea618460f
_get_tag_type_from_stack() makes more sense now
11 anni fa
Ben Kurtovic
6881caf0bd
Fix StringMixIn's methods taking option arguments (thanks Sigma).
11 anni fa
Ben Kurtovic
eed7c918bf
Implement padding support for Tags completely; open_padding->padding.
11 anni fa
Ben Kurtovic
a58c480639
Fix some usage of attrs; shorten a context, fix some behavior I broke.
11 anni fa
Ben Kurtovic
146d1fd006
Fix a bug in rendering Tags; attrs->attributes; update documentation.
11 anni fa
Ben Kurtovic
ca47305074
Fix attribute behavior under certain strange circumstances.
11 anni fa
Ben Kurtovic
26d30f3d1a
Seems to be working for quoted attributes now.
11 anni fa