summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_format.py
Commit message (Collapse)AuthorAgeFilesLines
* Bug 415514 reported that e.g.Tim Peters2001-04-121-4/+4
| | | | | | | | | | | | "%#x" % 0 blew up, at heart because C sprintf supplies a base marker if and only if the value is not 0. I then fixed that, by tolerating C's inconsistency when it does %#x, and taking away that *Python* produced 0x0 when formatting 0L (the "long" flavor of 0) under %#x itself. But after talking with Guido, we agreed it would be better to supply 0x for the short int case too, despite that it's inconsistent with C, because C is inconsistent with itself and with Python's hex(0) (plus, while "%#x" % 0 didn't work before, "%#x" % 0L *did*, and returned "0x0"). Similarly for %#X conversion.
* Fix for SF bug #415514: "%#x" % 0 caused assertion failure/abort.Tim Peters2001-04-121-0/+16
| | | | | | | | | | | | | http://sourceforge.net/tracker/index.php?func=detail&aid=415514&group_id=5470&atid=105470 For short ints, Python defers to the platform C library to figure out what %#x should do. The code asserted that the platform C returned a string beginning with "0x". However, that's not true when-- and only when --the *value* being formatted is 0. Changed the code to live with C's inconsistency here. In the meantime, the problem does not arise if you format a long 0 (0L) instead. However, that's because the code *we* wrote to do %#x conversions on longs produces a leading "0x" regardless of value. That's probably wrong too: we should drop leading "0x", for consistency with C, when (& only when) formatting 0L. So I changed the long formatting code to do that too.
* String method conversion.Eric S. Raymond2001-02-091-1/+1
| | | | (This one was trivial -- no actual string. references in it!)
* Whitespace normalization. Leaving tokenize_tests.py alone for now.Tim Peters2001-01-181-1/+0
|
* a bold attempt to fix things broken by MAL's verify patch: importFredrik Lundh2001-01-171-2/+2
| | | | 'verify' iff it's used by a test module...
* This patch removes all uses of "assert" in the regression test suiteMarc-André Lemburg2001-01-171-1/+1
| | | | | | | and replaces them with a new API verify(). As a result the regression suite will also perform its tests in optimization mode. Written by Marc-Andre Lemburg. Copyright assigned to Guido van Rossum.
* Change expected message for ValueError, fixing bug #126400Andrew M. Kuchling2000-12-201-1/+1
|
* Add test case for error message raised by bad % format characterAndrew M. Kuchling2000-12-151-0/+25
| | | | (Oh, look, it adds another little utility function for testing)
* Fox for SF bug #123859: %[duxXo] long formats inconsistent.Tim Peters2000-11-301-5/+16
|
* Derived from Martin's SF patch 110609: support unbounded ints in ↵Tim Peters2000-09-211-23/+136
| | | | | | | | | | | | | | | | %d,i,u,x,X,o formats. Note a curious extension to the std C rules: x, X and o formatting can never produce a sign character in C, so the '+' and ' ' flags are meaningless for them. But unbounded ints *can* produce a sign character under these conversions (no fixed- width bitstring is wide enough to hold all negative values in 2's-comp form). So these flags become meaningful in Python when formatting a Python long which is too big to fit in a C long. This required shuffling around existing code, which hacked x and X conversions to death when both the '#' and '0' flags were specified: the hacks weren't strong enough to deal with the simultaneous possibility of the ' ' or '+' flags too, since signs were always meaningless before for x and X conversions. Isomorphic shuffling was required in unicodeobject.c. Also added dozens of non-trivial new unbounded-int test cases to test_format.py.
* Marc-Andre Lemburg <mal@lemburg.com>:Marc-André Lemburg2000-06-301-0/+52
New test for huge formatting strings (these could cause core dumps in previous versions). By Trent Mick.