summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_pyexpat.py
Commit message (Collapse)AuthorAgeFilesLines
* Patch #1014930. Expose current parse location to XMLParser.Dave Cole2004-08-261-0/+39
|
* include at least one example of an exception passing through pyexpatFred Drake2004-08-131-0/+15
|
* Replace backticks with repr() or "%r"Walter Dörwald2004-02-121-3/+3
| | | | From SF patch #852334.
* Get rid of relative imports in all unittests. Now anything thatBarry Warsaw2002-07-231-1/+1
| | | | | | | | | | | imports e.g. test_support must do so using an absolute package name such as "import test.test_support" or "from test import test_support". This also updates the README in Lib/test, and gets rid of the duplicate data dirctory in Lib/test/data (replaced by Lib/email/test/data). Now Tim and Jack can have at it. :)
* Added character data buffering to pyexpat parser objects.Fred Drake2002-06-281-1/+94
| | | | | | | | | Setting the buffer_text attribute to true causes the parser to collect character data, waiting as long as possible to report it to the Python callback. This can save an enormous number of callbacks from C to Python, which can be a substantial performance improvement. buffer_text defaults to false.
* Integrate the tests for name interning from PyXML (test_pyexpat.pyFred Drake2002-06-271-0/+18
| | | | revision 1.12 in PyXML).
* Fix when pyexpat not builtJeremy Hylton2001-07-301-0/+1
| | | | | Import pyexpat first so that import error occurs when it is not available.
* Get rid of the superstitious "~" in dict hashing's "i = (~hash) & mask".Tim Peters2001-05-131-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The comment following used to say: /* We use ~hash instead of hash, as degenerate hash functions, such as for ints <sigh>, can have lots of leading zeros. It's not really a performance risk, but better safe than sorry. 12-Dec-00 tim: so ~hash produces lots of leading ones instead -- what's the gain? */ That is, there was never a good reason for doing it. And to the contrary, as explained on Python-Dev last December, it tended to make the *sum* (i + incr) & mask (which is the first table index examined in case of collison) the same "too often" across distinct hashes. Changing to the simpler "i = hash & mask" reduced the number of string-dict collisions (== # number of times we go around the lookup for-loop) from about 6 million to 5 million during a full run of the test suite (these are approximate because the test suite does some random stuff from run to run). The number of collisions in non-string dicts also decreased, but not as dramatically. Note that this may, for a given dict, change the order (wrt previous releases) of entries exposed by .keys(), .values() and .items(). A number of std tests suffered bogus failures as a result. For dicts keyed by small ints, or (less so) by characters, the order is much more likely to be in increasing order of key now; e.g., >>> d = {} >>> for i in range(10): ... d[i] = i ... >>> d {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9} >>> Unfortunately. people may latch on to that in small examples and draw a bogus conclusion. test_support.py Moved test_extcall's sortdict() into test_support, made it stronger, and imported sortdict into other std tests that needed it. test_unicode.py Excluced cp875 from the "roundtrip over range(128)" test, because cp875 doesn't have a well-defined inverse for unicode("?", "cp875"). See Python-Dev for excruciating details. Cookie.py Chaged various output functions to sort dicts before building strings from them. test_extcall Fiddled the expected-result file. This remains sensitive to native dict ordering, because, e.g., if there are multiple errors in a keyword-arg dict (and test_extcall sets up many cases like that), the specific error Python complains about first depends on native dict ordering.
* Update test to accomodate the change to the namespace_separator parameterFred Drake2001-04-251-7/+23
| | | | | | | of ParserCreate(). Added assignment tests for the ordered_attributes and specified_attributes values, similar to the checks for the returns_unicode attribute.
* The "context" parameter to the ExternalEntityRefParameter exposes internalFred Drake2000-12-231-1/+32
| | | | | | | | | information from the Expat library that is not part of its public API. Do not print this information as the format of the string may (and will) change as Expat evolves. Add additional tests to make sure the ParserCreate() function raises the right exceptions on illegal parameters.
* Make reindent.py happy (convert everything to 4-space indents!).Fred Drake2000-10-231-5/+5
|
* Rename the public interface from "pyexpat" to "xml.parsers.expat".Fred Drake2000-09-231-10/+10
|
* Revise the test case for pyexpat to avoid using asserts. Conform betterFred Drake2000-09-211-28/+32
| | | | to the Python style guide, and remove unneeded imports.
* Change pyexpat test suite to exercise the .returns_unicode attribute,Andrew M. Kuchling2000-06-271-10/+51
| | | | parsing the sample data once with 8-bit strings and once with Unicode.
* Untabified file to fix problems reported by tabnannyAndrew M. Kuchling2000-04-021-17/+17
|
* Added test case for pyexpat module that tries to exercise all the handlersAndrew M. Kuchling2000-03-311-0/+107