Commit Graph

97 Commits

Author SHA1 Message Date
Eli Bendersky 8be90396f2 Clean-up duplicated code in tests 2013-05-25 07:12:38 -07:00
Eli Bendersky 4ace240fe5 Clean-up duplicated code in tests 2013-05-25 07:12:14 -07:00
Eli Bendersky 7b3022f24f Issue #13612: handle unknown encodings without a buffer overflow.
This affects pyexpat and _elementtree. PyExpat_CAPI now exposes a new
function - DefaultUnknownEncodingHandler.

Based on a patch by Serhiy Storchaka.
2013-05-25 05:27:10 -07:00
Eli Bendersky 6dc32b34dd Issue #13612: handle unknown encodings without a buffer overflow.
This affects pyexpat and _elementtree. PyExpat_CAPI now exposes a new
function - DefaultUnknownEncodingHandler.

Based on a patch by Serhiy Storchaka.
2013-05-25 05:25:48 -07:00
Serhiy Storchaka 447b6e3c6e Issue #16986: ElementTree now correctly parses a string input not only when
an internal XML encoding is UTF-8 or US-ASCII.
2013-05-22 17:21:06 +03:00
Serhiy Storchaka 66d53fa9ad Issue #16986: ElementTree now correctly parses a string input not only when
an internal XML encoding is UTF-8 or US-ASCII.
2013-05-22 17:07:51 +03:00
Eli Bendersky e26fa1bdcb Add some testing to verify which module was imported in ET tests.
This is useful when mucking with import_fresh_module to either force or block
importing of the _elementtree accelerator. These tests in place provide an
immediate indication whether the accelerator was actually imported and overrode
the classes it should have.
2013-05-19 17:49:54 -07:00
Eli Bendersky c4e98a6a9b Cleanup more old ET library leftovers 2013-05-19 09:24:43 -07:00
Eli Bendersky 46955b2d30 Issue #17988: remove unused alias for Element and rename the used one
Renaming to _Element_Py for clarity and moving it to a more logical location.
_ElementInterface OTOH is unused and is therefore removed.

Close #17988
2013-05-19 09:20:50 -07:00
Eli Bendersky 3a4fbd8241 _elementtree.XMLParser._setevents should support any sequence, not just tuples
Also clean up some code around this
2013-05-19 09:01:49 -07:00
Eli Bendersky 20c1cdd64a Issue #17901: fix TreeBuilder construction for an explicit element_factory=None
Based on report and patch by Aaron Oakley.
2013-05-18 15:47:58 -07:00
Eli Bendersky 08231a9c6a Issue #17901: fix TreeBuilder construction for an explicit element_factory=None
Based on report and patch by Aaron Oakley.
2013-05-18 15:47:16 -07:00
Antoine Pitrou 5b235d0923 Issue #17741: Add ElementTree.IncrementalParser, an event-driven parser for non-blocking applications. 2013-04-18 19:37:06 +02:00
Eli Bendersky b26545e7b4 Some cosmetic changes 2013-02-26 05:54:04 -08:00
Eli Bendersky 236870439c Some cosmetic changes 2013-02-26 05:53:23 -08:00
Serhiy Storchaka 91d0ca72de Issue #15083: Convert ElementTree doctests to unittests. 2013-02-25 17:21:42 +02:00
Serhiy Storchaka f8cf59e8aa Issue #15083: Convert ElementTree doctests to unittests. 2013-02-25 17:20:59 +02:00
Eli Bendersky c4d5e08e3f Issue #9708: Fix support for iterparse(parser=...) argument per documentation.
When _elementtree is imported, iterparse is redefined as a class and the parser
argument was ommitted. Fix this, and add a docstring to the class.
2013-01-24 07:15:46 -08:00
Eli Bendersky aaa9780fe1 Issue #9708: Fix support for iterparse(parser=...) argument per documentation.
When _elementtree is imported, iterparse is redefined as a class and the parser
argument was ommitted. Fix this, and add a docstring to the class.
2013-01-24 07:15:19 -08:00
Eli Bendersky 5c6198b3fd Issue #12323: Strengthen error checking of the position XPath selectors 2013-01-24 06:29:26 -08:00
Eli Bendersky 791c97a6a8 Add some tests for XPath numeric indexing 2013-01-22 06:15:29 -08:00
Eli Bendersky a80f761a6d Add some tests for XPath numeric indexing 2013-01-22 06:12:54 -08:00
Eli Bendersky a9a2ef5550 Close #14377: Add a new parameter to ElementTree.write and some module-level
serialization functions - short_empty_elements. It controls how elements
without contents are emitted.

Patch by Serhiy Storchaka. Feature initially proposed by Ariel Poliak.
2013-01-13 06:04:43 -08:00
Eli Bendersky 25771b3749 Issue #16922: fixed findtext() to return empty Unicode string instead of empty bytes object when there's no text.
Patch by Serhiy Storchaka.
2013-01-13 05:26:07 -08:00
Eli Bendersky c31f77355c clean trailing whitespace 2013-01-12 07:44:32 -08:00
Eli Bendersky ceab1a950b Issues #15083 and #16992: port find.* method tests to unittest 2013-01-12 07:42:46 -08:00
Eli Bendersky e6174ca85e Issue #16913: Fix Element.itertext()'s handling of text with XML entities.
Patch by Serhiy Storchaka
2013-01-10 06:27:53 -08:00
Eli Bendersky 458c0d5a77 normalize whitespace 2013-01-10 06:07:00 -08:00
Eli Bendersky 698bdb2a6c Issue #16076: make _elementtree.Element pickle-able in a way that is compatible
with the Python version of the class.

Patch by Daniel Shahaf.
2013-01-10 06:01:06 -08:00
Eli Bendersky a873690d2c The get() and iter() are now able to accept keyword arguments.
In conformance with the documentation and the Python version.
Patch by Franck Michea.
2013-01-05 06:26:39 -08:00
Eli Bendersky 52280c427a Skip a test correctly for the C-version. The decorator doesn't really work
because it evaluates its condition before pyET is even set by test_main.
Therefore, the check it moved to "runtime".
2012-12-30 06:27:56 -08:00
Eli Bendersky 7ec45f7a36 For Issue #16076: make sure that pickling of Element objects is tested, and do
it properly to avoid problems with test-run-order dependencies.
2012-12-30 06:17:49 -08:00
Antoine Pitrou ee329318db Issue #16089: Allow ElementTree.TreeBuilder to work again with a non-Element element_factory (fixes a regression in SimpleTAL). 2012-10-04 19:53:29 +02:00
Ezio Melotti ab9b661fdd #15970: merge with 3.2. 2012-09-19 08:25:01 +03:00
Ezio Melotti c90111f9ab #15970: xml.etree.ElementTree now serializes correctly the empty HTML elements "meta" and "param". 2012-09-19 08:19:12 +03:00
Eli Bendersky 426e248feb Preserve the invariant tostring(elem) == b''.join(tostringlist(elem)) and add a test to make sure it keeps working 2012-07-17 05:45:11 +03:00
Eli Bendersky 00f402bfcb Close #1767933: Badly formed XML using etree and utf-16. Patch by Serhiy Storchaka, with some minor fixes by me 2012-07-15 06:02:22 +03:00
Eli Bendersky 6319e0fa20 Make the test more resilient to test-run order (closes #15075) 2012-06-16 06:47:44 +03:00
Eli Bendersky 307693a8bb Skip XincludeTest entirely instead of just ignoring failures, because it may segfault, depending on the order of running tests 2012-06-15 09:40:44 +03:00
Eli Bendersky 27cbb19ae5 Removed _SimpleElementPath and its flaky test. The test monkey-patches the module, which causes other failures and fails itself depending on the order tests are run. 2012-06-15 09:03:19 +03:00
Eli Bendersky 175fada429 mark problematic test as expected failure - investigating 2012-06-15 08:37:08 +03:00
Eli Bendersky 64d11e60f2 Replace the iter/itertext methods of Element in _elementtree with true C implementations, instead of the bootstrapped Python code. In addition to being cleaner (removing the last remains of the bootstrapping code in _elementtree), this gives a 10x performance boost for iter() on large documents.
Also reorganized the tests a bit to be more robust.
2012-06-15 07:42:50 +03:00
Eli Bendersky 2b6b73e7e1 Issue #14007: implement doctype() method calling in XMLParser of _elementtree.
Includes exposing a doctype handler from expat through pyexpat.
2012-06-01 11:32:34 +03:00
Eli Bendersky 52467b167e Issue #14007: make XMLParser a real subclassable type exported from _elementtree. +cleanups 2012-06-01 07:13:08 +03:00
Eli Bendersky 48d358ba86 Issue #14007: implemented the 'element_factory' feature of TreeBuilder in
_elementtree, with a test.
2012-05-30 17:57:50 +03:00
Eli Bendersky 58d548dff1 Issue #14007: make TreeBuilder an actual type exposed from _elementtree, and subclassable. 2012-05-29 15:45:16 +03:00
Eli Bendersky 737b173355 Issue 14814: Add namespaces keyword arg to find(*) methods in _elementtree.
Add attrib keyword to Element and SubElement in _elementtree.
Patch developed with Ezio Melotti.
2012-05-29 06:02:56 +03:00
Eli Bendersky b20df95827 Issue #14849: setup Element data members to be assignable in subclasses 2012-05-20 06:33:29 +03:00
Eli Bendersky ebf37a2ffb Fixes and enhancements to _elementtree:
* Fixed refleak problems when GC collection is run (see messages in
  issue #14065)
* Added weakref support to Element objects
2012-04-03 22:02:37 +03:00
Eli Bendersky 0261d754cd Removing the test of Element that causes ref-leak in GC (issue #14464).
I will now continue investigating the cause of the ref-leak, but I wanted
to remove the test so that the refcount test in the buildbots could be clean.
The whole change (adding GC to Element) is not reverted because it improved
the situation (GC works for immediate cycles) and didn't cause regressions
(the test is new and was added together with the fix).
2012-04-01 17:40:17 +03:00