Mercurial > cpython-lru_cache-weakref
annotate Lib/test/test_format.py @ 79691:05c8928362ee
Merge __next__ method link fixes with 3.3.
| author | Ezio Melotti <ezio.melotti@gmail.com> |
|---|---|
| date | Fri, 12 Oct 2012 13:46:37 +0300 |
| parents | 559a430e563c |
| children | 562ba95dd4c9 |
| rev | line source |
|---|---|
|
47201
9c930a32cebb
#2621 rename test.test_support to test.support
Benjamin Peterson <benjamin@python.org>
parents:
46115
diff
changeset
|
1 from test.support import verbose, TestFailed |
|
75231
f89e2f4cda88
Issue #13706: Fix format(int, "n") for locale with non-ASCII thousands separator
Victor Stinner <victor.stinner@haypocalc.com>
parents:
74557
diff
changeset
|
2 import locale |
|
16516
af88465999c7
String method conversion.
Eric S. Raymond <esr@thyrsus.com>
parents:
15977
diff
changeset
|
3 import sys |
|
47201
9c930a32cebb
#2621 rename test.test_support to test.support
Benjamin Peterson <benjamin@python.org>
parents:
46115
diff
changeset
|
4 import test.support as support |
|
46115
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
5 import unittest |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
6 |
|
47201
9c930a32cebb
#2621 rename test.test_support to test.support
Benjamin Peterson <benjamin@python.org>
parents:
46115
diff
changeset
|
7 maxsize = support.MAX_Py_ssize_t |
|
13194
753af62ab8a1
Marc-Andre Lemburg <mal@lemburg.com>:
Marc-André Lemburg <mal@egenix.com>
parents:
diff
changeset
|
8 |
|
753af62ab8a1
Marc-Andre Lemburg <mal@lemburg.com>:
Marc-André Lemburg <mal@egenix.com>
parents:
diff
changeset
|
9 # test string formatting operator (I am not sure if this is being tested |
|
753af62ab8a1
Marc-Andre Lemburg <mal@lemburg.com>:
Marc-André Lemburg <mal@egenix.com>
parents:
diff
changeset
|
10 # elsewhere but, surely, some of the given cases are *not* tested because |
|
753af62ab8a1
Marc-Andre Lemburg <mal@lemburg.com>:
Marc-André Lemburg <mal@egenix.com>
parents:
diff
changeset
|
11 # they crash python) |
|
753af62ab8a1
Marc-Andre Lemburg <mal@lemburg.com>:
Marc-André Lemburg <mal@egenix.com>
parents:
diff
changeset
|
12 # test on unicode strings as well |
|
753af62ab8a1
Marc-Andre Lemburg <mal@lemburg.com>:
Marc-André Lemburg <mal@egenix.com>
parents:
diff
changeset
|
13 |
|
59069
8690d08d953f
Merged revisions 78372-78373 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
58811
diff
changeset
|
14 def testformat(formatstr, args, output=None, limit=None, overflowok=False): |
|
14713
58b832b8745e
Derived from Martin's SF patch 110609: support unbounded ints in %d,i,u,x,X,o formats.
Tim Peters <tim.peters@gmail.com>
parents:
13194
diff
changeset
|
15 if verbose: |
|
58b832b8745e
Derived from Martin's SF patch 110609: support unbounded ints in %d,i,u,x,X,o formats.
Tim Peters <tim.peters@gmail.com>
parents:
13194
diff
changeset
|
16 if output: |
|
42012
59c6f4cbb326
Adapt to new exception message.
Walter Dörwald <walter@livinglogic.de>
parents:
41820
diff
changeset
|
17 print("%r %% %r =? %r ..." %\ |
|
59c6f4cbb326
Adapt to new exception message.
Walter Dörwald <walter@livinglogic.de>
parents:
41820
diff
changeset
|
18 (formatstr, args, output), end=' ') |
|
14713
58b832b8745e
Derived from Martin's SF patch 110609: support unbounded ints in %d,i,u,x,X,o formats.
Tim Peters <tim.peters@gmail.com>
parents:
13194
diff
changeset
|
19 else: |
|
42012
59c6f4cbb326
Adapt to new exception message.
Walter Dörwald <walter@livinglogic.de>
parents:
41820
diff
changeset
|
20 print("%r %% %r works? ..." % (formatstr, args), end=' ') |
|
14713
58b832b8745e
Derived from Martin's SF patch 110609: support unbounded ints in %d,i,u,x,X,o formats.
Tim Peters <tim.peters@gmail.com>
parents:
13194
diff
changeset
|
21 try: |
|
58b832b8745e
Derived from Martin's SF patch 110609: support unbounded ints in %d,i,u,x,X,o formats.
Tim Peters <tim.peters@gmail.com>
parents:
13194
diff
changeset
|
22 result = formatstr % args |
|
58b832b8745e
Derived from Martin's SF patch 110609: support unbounded ints in %d,i,u,x,X,o formats.
Tim Peters <tim.peters@gmail.com>
parents:
13194
diff
changeset
|
23 except OverflowError: |
|
58b832b8745e
Derived from Martin's SF patch 110609: support unbounded ints in %d,i,u,x,X,o formats.
Tim Peters <tim.peters@gmail.com>
parents:
13194
diff
changeset
|
24 if not overflowok: |
|
58b832b8745e
Derived from Martin's SF patch 110609: support unbounded ints in %d,i,u,x,X,o formats.
Tim Peters <tim.peters@gmail.com>
parents:
13194
diff
changeset
|
25 raise |
|
58b832b8745e
Derived from Martin's SF patch 110609: support unbounded ints in %d,i,u,x,X,o formats.
Tim Peters <tim.peters@gmail.com>
parents:
13194
diff
changeset
|
26 if verbose: |
|
40775
4cdf21a0dbbc
Fix most trivially-findable print statements.
Guido van Rossum <guido@python.org>
parents:
40644
diff
changeset
|
27 print('overflow (this is fine)') |
|
14713
58b832b8745e
Derived from Martin's SF patch 110609: support unbounded ints in %d,i,u,x,X,o formats.
Tim Peters <tim.peters@gmail.com>
parents:
13194
diff
changeset
|
28 else: |
|
58811
1be7114473eb
Merged revisions 78082,78086 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
53187
diff
changeset
|
29 if output and limit is None and result != output: |
|
42309
bd6acfdb47d2
Merged revisions 56301-56442 via svnmerge from
Guido van Rossum <guido@python.org>
parents:
42084
diff
changeset
|
30 if verbose: |
|
bd6acfdb47d2
Merged revisions 56301-56442 via svnmerge from
Guido van Rossum <guido@python.org>
parents:
42084
diff
changeset
|
31 print('no') |
|
46115
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
32 raise AssertionError("%r %% %r == %r != %r" % |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
33 (formatstr, args, result, output)) |
|
45504
1b6fb5699634
Merged revisions 61034-61036,61038-61048 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44160
diff
changeset
|
34 # when 'limit' is specified, it determines how many characters |
|
1b6fb5699634
Merged revisions 61034-61036,61038-61048 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44160
diff
changeset
|
35 # must match exactly; lengths must always match. |
|
1b6fb5699634
Merged revisions 61034-61036,61038-61048 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44160
diff
changeset
|
36 # ex: limit=5, '12345678' matches '12345___' |
|
1b6fb5699634
Merged revisions 61034-61036,61038-61048 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44160
diff
changeset
|
37 # (mainly for floating point format tests for which an exact match |
|
1b6fb5699634
Merged revisions 61034-61036,61038-61048 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44160
diff
changeset
|
38 # can't be guaranteed due to rounding and representation errors) |
|
1b6fb5699634
Merged revisions 61034-61036,61038-61048 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44160
diff
changeset
|
39 elif output and limit is not None and ( |
|
1b6fb5699634
Merged revisions 61034-61036,61038-61048 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44160
diff
changeset
|
40 len(result)!=len(output) or result[:limit]!=output[:limit]): |
|
1b6fb5699634
Merged revisions 61034-61036,61038-61048 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44160
diff
changeset
|
41 if verbose: |
|
1b6fb5699634
Merged revisions 61034-61036,61038-61048 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44160
diff
changeset
|
42 print('no') |
|
1b6fb5699634
Merged revisions 61034-61036,61038-61048 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44160
diff
changeset
|
43 print("%s %% %s == %s != %s" % \ |
|
1b6fb5699634
Merged revisions 61034-61036,61038-61048 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44160
diff
changeset
|
44 (repr(formatstr), repr(args), repr(result), repr(output))) |
|
14713
58b832b8745e
Derived from Martin's SF patch 110609: support unbounded ints in %d,i,u,x,X,o formats.
Tim Peters <tim.peters@gmail.com>
parents:
13194
diff
changeset
|
45 else: |
|
58b832b8745e
Derived from Martin's SF patch 110609: support unbounded ints in %d,i,u,x,X,o formats.
Tim Peters <tim.peters@gmail.com>
parents:
13194
diff
changeset
|
46 if verbose: |
|
40775
4cdf21a0dbbc
Fix most trivially-findable print statements.
Guido van Rossum <guido@python.org>
parents:
40644
diff
changeset
|
47 print('yes') |
|
13194
753af62ab8a1
Marc-Andre Lemburg <mal@lemburg.com>:
Marc-André Lemburg <mal@egenix.com>
parents:
diff
changeset
|
48 |
|
753af62ab8a1
Marc-Andre Lemburg <mal@lemburg.com>:
Marc-André Lemburg <mal@egenix.com>
parents:
diff
changeset
|
49 |
|
46115
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
50 class FormatTest(unittest.TestCase): |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
51 def test_format(self): |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
52 testformat("%.1d", (1,), "1") |
|
59069
8690d08d953f
Merged revisions 78372-78373 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
58811
diff
changeset
|
53 testformat("%.*d", (sys.maxsize,1), overflowok=True) # expect overflow |
|
8690d08d953f
Merged revisions 78372-78373 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
58811
diff
changeset
|
54 testformat("%.100d", (1,), '00000000000000000000000000000000000000' |
|
8690d08d953f
Merged revisions 78372-78373 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
58811
diff
changeset
|
55 '000000000000000000000000000000000000000000000000000000' |
|
8690d08d953f
Merged revisions 78372-78373 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
58811
diff
changeset
|
56 '00000001', overflowok=True) |
|
8690d08d953f
Merged revisions 78372-78373 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
58811
diff
changeset
|
57 testformat("%#.117x", (1,), '0x00000000000000000000000000000000000' |
|
8690d08d953f
Merged revisions 78372-78373 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
58811
diff
changeset
|
58 '000000000000000000000000000000000000000000000000000000' |
|
8690d08d953f
Merged revisions 78372-78373 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
58811
diff
changeset
|
59 '0000000000000000000000000001', |
|
8690d08d953f
Merged revisions 78372-78373 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
58811
diff
changeset
|
60 overflowok=True) |
|
8690d08d953f
Merged revisions 78372-78373 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
58811
diff
changeset
|
61 testformat("%#.118x", (1,), '0x00000000000000000000000000000000000' |
|
8690d08d953f
Merged revisions 78372-78373 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
58811
diff
changeset
|
62 '000000000000000000000000000000000000000000000000000000' |
|
8690d08d953f
Merged revisions 78372-78373 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
58811
diff
changeset
|
63 '00000000000000000000000000001', |
|
8690d08d953f
Merged revisions 78372-78373 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
58811
diff
changeset
|
64 overflowok=True) |
|
14713
58b832b8745e
Derived from Martin's SF patch 110609: support unbounded ints in %d,i,u,x,X,o formats.
Tim Peters <tim.peters@gmail.com>
parents:
13194
diff
changeset
|
65 |
|
46115
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
66 testformat("%f", (1.0,), "1.000000") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
67 # these are trying to test the limits of the internal magic-number-length |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
68 # formatting buffer, if that number changes then these tests are less |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
69 # effective |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
70 testformat("%#.*g", (109, -1.e+49/3.)) |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
71 testformat("%#.*g", (110, -1.e+49/3.)) |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
72 testformat("%#.*g", (110, -1.e+100/3.)) |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
73 # test some ridiculously large precision, expect overflow |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
74 testformat('%12.*f', (123456, 1.0)) |
|
58811
1be7114473eb
Merged revisions 78082,78086 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
53187
diff
changeset
|
75 |
|
46115
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
76 # check for internal overflow validation on length of precision |
|
58811
1be7114473eb
Merged revisions 78082,78086 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
53187
diff
changeset
|
77 # these tests should no longer cause overflow in Python |
|
1be7114473eb
Merged revisions 78082,78086 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
53187
diff
changeset
|
78 # 2.7/3.1 and later. |
|
46115
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
79 testformat("%#.*g", (110, -1.e+100/3.)) |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
80 testformat("%#.*G", (110, -1.e+100/3.)) |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
81 testformat("%#.*f", (110, -1.e+100/3.)) |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
82 testformat("%#.*F", (110, -1.e+100/3.)) |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
83 # Formatting of integers. Overflow is not ok |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
84 testformat("%x", 10, "a") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
85 testformat("%x", 100000000000, "174876e800") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
86 testformat("%o", 10, "12") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
87 testformat("%o", 100000000000, "1351035564000") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
88 testformat("%d", 10, "10") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
89 testformat("%d", 100000000000, "100000000000") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
90 big = 123456789012345678901234567890 |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
91 testformat("%d", big, "123456789012345678901234567890") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
92 testformat("%d", -big, "-123456789012345678901234567890") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
93 testformat("%5d", -big, "-123456789012345678901234567890") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
94 testformat("%31d", -big, "-123456789012345678901234567890") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
95 testformat("%32d", -big, " -123456789012345678901234567890") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
96 testformat("%-32d", -big, "-123456789012345678901234567890 ") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
97 testformat("%032d", -big, "-0123456789012345678901234567890") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
98 testformat("%-032d", -big, "-123456789012345678901234567890 ") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
99 testformat("%034d", -big, "-000123456789012345678901234567890") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
100 testformat("%034d", big, "0000123456789012345678901234567890") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
101 testformat("%0+34d", big, "+000123456789012345678901234567890") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
102 testformat("%+34d", big, " +123456789012345678901234567890") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
103 testformat("%34d", big, " 123456789012345678901234567890") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
104 testformat("%.2d", big, "123456789012345678901234567890") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
105 testformat("%.30d", big, "123456789012345678901234567890") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
106 testformat("%.31d", big, "0123456789012345678901234567890") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
107 testformat("%32.31d", big, " 0123456789012345678901234567890") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
108 testformat("%d", float(big), "123456________________________", 6) |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
109 big = 0x1234567890abcdef12345 # 21 hex digits |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
110 testformat("%x", big, "1234567890abcdef12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
111 testformat("%x", -big, "-1234567890abcdef12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
112 testformat("%5x", -big, "-1234567890abcdef12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
113 testformat("%22x", -big, "-1234567890abcdef12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
114 testformat("%23x", -big, " -1234567890abcdef12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
115 testformat("%-23x", -big, "-1234567890abcdef12345 ") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
116 testformat("%023x", -big, "-01234567890abcdef12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
117 testformat("%-023x", -big, "-1234567890abcdef12345 ") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
118 testformat("%025x", -big, "-0001234567890abcdef12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
119 testformat("%025x", big, "00001234567890abcdef12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
120 testformat("%0+25x", big, "+0001234567890abcdef12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
121 testformat("%+25x", big, " +1234567890abcdef12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
122 testformat("%25x", big, " 1234567890abcdef12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
123 testformat("%.2x", big, "1234567890abcdef12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
124 testformat("%.21x", big, "1234567890abcdef12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
125 testformat("%.22x", big, "01234567890abcdef12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
126 testformat("%23.22x", big, " 01234567890abcdef12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
127 testformat("%-23.22x", big, "01234567890abcdef12345 ") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
128 testformat("%X", big, "1234567890ABCDEF12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
129 testformat("%#X", big, "0X1234567890ABCDEF12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
130 testformat("%#x", big, "0x1234567890abcdef12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
131 testformat("%#x", -big, "-0x1234567890abcdef12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
132 testformat("%#.23x", -big, "-0x001234567890abcdef12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
133 testformat("%#+.23x", big, "+0x001234567890abcdef12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
134 testformat("%# .23x", big, " 0x001234567890abcdef12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
135 testformat("%#+.23X", big, "+0X001234567890ABCDEF12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
136 testformat("%#-+.23X", big, "+0X001234567890ABCDEF12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
137 testformat("%#-+26.23X", big, "+0X001234567890ABCDEF12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
138 testformat("%#-+27.23X", big, "+0X001234567890ABCDEF12345 ") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
139 testformat("%#+27.23X", big, " +0X001234567890ABCDEF12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
140 # next one gets two leading zeroes from precision, and another from the |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
141 # 0 flag and the width |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
142 testformat("%#+027.23X", big, "+0X0001234567890ABCDEF12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
143 # same, except no 0 flag |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
144 testformat("%#+27.23X", big, " +0X001234567890ABCDEF12345") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
145 testformat("%x", float(big), "123456_______________", 6) |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
146 big = 0o12345670123456701234567012345670 # 32 octal digits |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
147 testformat("%o", big, "12345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
148 testformat("%o", -big, "-12345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
149 testformat("%5o", -big, "-12345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
150 testformat("%33o", -big, "-12345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
151 testformat("%34o", -big, " -12345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
152 testformat("%-34o", -big, "-12345670123456701234567012345670 ") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
153 testformat("%034o", -big, "-012345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
154 testformat("%-034o", -big, "-12345670123456701234567012345670 ") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
155 testformat("%036o", -big, "-00012345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
156 testformat("%036o", big, "000012345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
157 testformat("%0+36o", big, "+00012345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
158 testformat("%+36o", big, " +12345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
159 testformat("%36o", big, " 12345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
160 testformat("%.2o", big, "12345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
161 testformat("%.32o", big, "12345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
162 testformat("%.33o", big, "012345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
163 testformat("%34.33o", big, " 012345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
164 testformat("%-34.33o", big, "012345670123456701234567012345670 ") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
165 testformat("%o", big, "12345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
166 testformat("%#o", big, "0o12345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
167 testformat("%#o", -big, "-0o12345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
168 testformat("%#.34o", -big, "-0o0012345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
169 testformat("%#+.34o", big, "+0o0012345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
170 testformat("%# .34o", big, " 0o0012345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
171 testformat("%#+.34o", big, "+0o0012345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
172 testformat("%#-+.34o", big, "+0o0012345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
173 testformat("%#-+37.34o", big, "+0o0012345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
174 testformat("%#+37.34o", big, "+0o0012345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
175 # next one gets one leading zero from precision |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
176 testformat("%.33o", big, "012345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
177 # base marker shouldn't change that, since "0" is redundant |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
178 testformat("%#.33o", big, "0o012345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
179 # but reduce precision, and base marker should add a zero |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
180 testformat("%#.32o", big, "0o12345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
181 # one leading zero from precision, and another from "0" flag & width |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
182 testformat("%034.33o", big, "0012345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
183 # base marker shouldn't change that |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
184 testformat("%0#34.33o", big, "0o012345670123456701234567012345670") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
185 testformat("%o", float(big), "123456__________________________", 6) |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
186 # Some small ints, in both Python int and flavors). |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
187 testformat("%d", 42, "42") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
188 testformat("%d", -42, "-42") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
189 testformat("%d", 42, "42") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
190 testformat("%d", -42, "-42") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
191 testformat("%d", 42.0, "42") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
192 testformat("%#x", 1, "0x1") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
193 testformat("%#x", 1, "0x1") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
194 testformat("%#X", 1, "0X1") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
195 testformat("%#X", 1, "0X1") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
196 testformat("%#x", 1.0, "0x1") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
197 testformat("%#o", 1, "0o1") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
198 testformat("%#o", 1, "0o1") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
199 testformat("%#o", 0, "0o0") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
200 testformat("%#o", 0, "0o0") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
201 testformat("%o", 0, "0") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
202 testformat("%o", 0, "0") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
203 testformat("%d", 0, "0") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
204 testformat("%d", 0, "0") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
205 testformat("%#x", 0, "0x0") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
206 testformat("%#x", 0, "0x0") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
207 testformat("%#X", 0, "0X0") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
208 testformat("%#X", 0, "0X0") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
209 testformat("%x", 0x42, "42") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
210 testformat("%x", -0x42, "-42") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
211 testformat("%x", 0x42, "42") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
212 testformat("%x", -0x42, "-42") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
213 testformat("%x", float(0x42), "42") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
214 testformat("%o", 0o42, "42") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
215 testformat("%o", -0o42, "-42") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
216 testformat("%o", 0o42, "42") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
217 testformat("%o", -0o42, "-42") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
218 testformat("%o", float(0o42), "42") |
|
49142
51ff934562c2
The Unicode database was updated to 5.1, and some characters have become printable.
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
48523
diff
changeset
|
219 testformat("%r", "\u0378", "'\\u0378'") # non printable |
|
51ff934562c2
The Unicode database was updated to 5.1, and some characters have become printable.
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
48523
diff
changeset
|
220 testformat("%a", "\u0378", "'\\u0378'") # non printable |
|
48428
ea7cc18c9ac8
Correct a test after r64701.
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
47611
diff
changeset
|
221 testformat("%r", "\u0374", "'\u0374'") # printable |
|
ea7cc18c9ac8
Correct a test after r64701.
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
47611
diff
changeset
|
222 testformat("%a", "\u0374", "'\\u0374'") # printable |
|
53187
b653eab13b73
The other half of Issue #1580: use short float repr where possible.
Eric Smith <eric@trueblade.com>
parents:
49142
diff
changeset
|
223 |
|
b653eab13b73
The other half of Issue #1580: use short float repr where possible.
Eric Smith <eric@trueblade.com>
parents:
49142
diff
changeset
|
224 # alternate float formatting |
|
b653eab13b73
The other half of Issue #1580: use short float repr where possible.
Eric Smith <eric@trueblade.com>
parents:
49142
diff
changeset
|
225 testformat('%g', 1.1, '1.1') |
|
b653eab13b73
The other half of Issue #1580: use short float repr where possible.
Eric Smith <eric@trueblade.com>
parents:
49142
diff
changeset
|
226 testformat('%#g', 1.1, '1.10000') |
|
b653eab13b73
The other half of Issue #1580: use short float repr where possible.
Eric Smith <eric@trueblade.com>
parents:
49142
diff
changeset
|
227 |
|
46115
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
228 # Test exception for unknown format characters |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
229 if verbose: |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
230 print('Testing exceptions') |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
231 def test_exc(formatstr, args, exception, excmsg): |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
232 try: |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
233 testformat(formatstr, args) |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
234 except exception as exc: |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
235 if str(exc) == excmsg: |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
236 if verbose: |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
237 print("yes") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
238 else: |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
239 if verbose: print('no') |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
240 print('Unexpected ', exception, ':', repr(str(exc))) |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
241 except: |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
242 if verbose: print('no') |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
243 print('Unexpected exception') |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
244 raise |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
245 else: |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
246 raise TestFailed('did not get expected exception: %s' % excmsg) |
|
47611
da47e7e135ae
#2630: Implement PEP 3138.
Georg Brandl <georg@python.org>
parents:
47463
diff
changeset
|
247 test_exc('abc %b', 1, ValueError, |
|
da47e7e135ae
#2630: Implement PEP 3138.
Georg Brandl <georg@python.org>
parents:
47463
diff
changeset
|
248 "unsupported format character 'b' (0x62) at index 5") |
|
46115
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
249 #test_exc(unicode('abc %\u3000','raw-unicode-escape'), 1, ValueError, |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
250 # "unsupported format character '?' (0x3000) at index 5") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
251 test_exc('%d', '1', TypeError, "%d format: a number is required, not str") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
252 test_exc('%g', '1', TypeError, "a float is required") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
253 test_exc('no format', '1', TypeError, |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
254 "not all arguments converted during string formatting") |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
255 test_exc('no format', '1', TypeError, |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
256 "not all arguments converted during string formatting") |
|
15455
d0146d128897
Fox for SF bug #123859: %[duxXo] long formats inconsistent.
Tim Peters <tim.peters@gmail.com>
parents:
14713
diff
changeset
|
257 |
|
46115
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
258 if maxsize == 2**31-1: |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
259 # crashes 2.2.1 and earlier: |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
260 try: |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
261 "%*d"%(maxsize, -127) |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
262 except MemoryError: |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
263 pass |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
264 else: |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
265 raise TestFailed('"%*d"%(maxsize, -127) should fail') |
|
15580
668166a50c70
Add test case for error message raised by bad % format character
Andrew M. Kuchling <amk@amk.ca>
parents:
15455
diff
changeset
|
266 |
|
74557
231c6042c40c
Issue #13706: Support non-ASCII fill characters
Victor Stinner <victor.stinner@haypocalc.com>
parents:
59069
diff
changeset
|
267 def test_non_ascii(self): |
|
77462
73ff365bbb1d
Fix "%f" format of str%args if the result is not an ASCII or latin1 string
Victor Stinner <victor.stinner@gmail.com>
parents:
75307
diff
changeset
|
268 testformat("\u20ac=%f", (1.0,), "\u20ac=1.000000") |
|
73ff365bbb1d
Fix "%f" format of str%args if the result is not an ASCII or latin1 string
Victor Stinner <victor.stinner@gmail.com>
parents:
75307
diff
changeset
|
269 |
|
74557
231c6042c40c
Issue #13706: Support non-ASCII fill characters
Victor Stinner <victor.stinner@haypocalc.com>
parents:
59069
diff
changeset
|
270 self.assertEqual(format("abc", "\u2007<5"), "abc\u2007\u2007") |
|
231c6042c40c
Issue #13706: Support non-ASCII fill characters
Victor Stinner <victor.stinner@haypocalc.com>
parents:
59069
diff
changeset
|
271 self.assertEqual(format(123, "\u2007<5"), "123\u2007\u2007") |
|
231c6042c40c
Issue #13706: Support non-ASCII fill characters
Victor Stinner <victor.stinner@haypocalc.com>
parents:
59069
diff
changeset
|
272 self.assertEqual(format(12.3, "\u2007<6"), "12.3\u2007\u2007") |
|
231c6042c40c
Issue #13706: Support non-ASCII fill characters
Victor Stinner <victor.stinner@haypocalc.com>
parents:
59069
diff
changeset
|
273 self.assertEqual(format(0j, "\u2007<4"), "0j\u2007\u2007") |
|
231c6042c40c
Issue #13706: Support non-ASCII fill characters
Victor Stinner <victor.stinner@haypocalc.com>
parents:
59069
diff
changeset
|
274 self.assertEqual(format(1+2j, "\u2007<8"), "(1+2j)\u2007\u2007") |
|
231c6042c40c
Issue #13706: Support non-ASCII fill characters
Victor Stinner <victor.stinner@haypocalc.com>
parents:
59069
diff
changeset
|
275 |
|
231c6042c40c
Issue #13706: Support non-ASCII fill characters
Victor Stinner <victor.stinner@haypocalc.com>
parents:
59069
diff
changeset
|
276 self.assertEqual(format("abc", "\u2007>5"), "\u2007\u2007abc") |
|
231c6042c40c
Issue #13706: Support non-ASCII fill characters
Victor Stinner <victor.stinner@haypocalc.com>
parents:
59069
diff
changeset
|
277 self.assertEqual(format(123, "\u2007>5"), "\u2007\u2007123") |
|
231c6042c40c
Issue #13706: Support non-ASCII fill characters
Victor Stinner <victor.stinner@haypocalc.com>
parents:
59069
diff
changeset
|
278 self.assertEqual(format(12.3, "\u2007>6"), "\u2007\u200712.3") |
|
231c6042c40c
Issue #13706: Support non-ASCII fill characters
Victor Stinner <victor.stinner@haypocalc.com>
parents:
59069
diff
changeset
|
279 self.assertEqual(format(1+2j, "\u2007>8"), "\u2007\u2007(1+2j)") |
|
231c6042c40c
Issue #13706: Support non-ASCII fill characters
Victor Stinner <victor.stinner@haypocalc.com>
parents:
59069
diff
changeset
|
280 self.assertEqual(format(0j, "\u2007>4"), "\u2007\u20070j") |
|
231c6042c40c
Issue #13706: Support non-ASCII fill characters
Victor Stinner <victor.stinner@haypocalc.com>
parents:
59069
diff
changeset
|
281 |
|
231c6042c40c
Issue #13706: Support non-ASCII fill characters
Victor Stinner <victor.stinner@haypocalc.com>
parents:
59069
diff
changeset
|
282 self.assertEqual(format("abc", "\u2007^5"), "\u2007abc\u2007") |
|
231c6042c40c
Issue #13706: Support non-ASCII fill characters
Victor Stinner <victor.stinner@haypocalc.com>
parents:
59069
diff
changeset
|
283 self.assertEqual(format(123, "\u2007^5"), "\u2007123\u2007") |
|
231c6042c40c
Issue #13706: Support non-ASCII fill characters
Victor Stinner <victor.stinner@haypocalc.com>
parents:
59069
diff
changeset
|
284 self.assertEqual(format(12.3, "\u2007^6"), "\u200712.3\u2007") |
|
231c6042c40c
Issue #13706: Support non-ASCII fill characters
Victor Stinner <victor.stinner@haypocalc.com>
parents:
59069
diff
changeset
|
285 self.assertEqual(format(1+2j, "\u2007^8"), "\u2007(1+2j)\u2007") |
|
231c6042c40c
Issue #13706: Support non-ASCII fill characters
Victor Stinner <victor.stinner@haypocalc.com>
parents:
59069
diff
changeset
|
286 self.assertEqual(format(0j, "\u2007^4"), "\u20070j\u2007") |
|
231c6042c40c
Issue #13706: Support non-ASCII fill characters
Victor Stinner <victor.stinner@haypocalc.com>
parents:
59069
diff
changeset
|
287 |
|
75231
f89e2f4cda88
Issue #13706: Fix format(int, "n") for locale with non-ASCII thousands separator
Victor Stinner <victor.stinner@haypocalc.com>
parents:
74557
diff
changeset
|
288 def test_locale(self): |
|
f89e2f4cda88
Issue #13706: Fix format(int, "n") for locale with non-ASCII thousands separator
Victor Stinner <victor.stinner@haypocalc.com>
parents:
74557
diff
changeset
|
289 try: |
|
75307
1ea466240792
Issue #14113: Fix a test_strptime failure caused by changes to LC_ALL.
Stefan Krah <skrah@bytereef.org>
parents:
75234
diff
changeset
|
290 oldloc = locale.setlocale(locale.LC_ALL) |
|
1ea466240792
Issue #14113: Fix a test_strptime failure caused by changes to LC_ALL.
Stefan Krah <skrah@bytereef.org>
parents:
75234
diff
changeset
|
291 locale.setlocale(locale.LC_ALL, '') |
|
75231
f89e2f4cda88
Issue #13706: Fix format(int, "n") for locale with non-ASCII thousands separator
Victor Stinner <victor.stinner@haypocalc.com>
parents:
74557
diff
changeset
|
292 except locale.Error as err: |
|
f89e2f4cda88
Issue #13706: Fix format(int, "n") for locale with non-ASCII thousands separator
Victor Stinner <victor.stinner@haypocalc.com>
parents:
74557
diff
changeset
|
293 self.skipTest("Cannot set locale: {}".format(err)) |
|
f89e2f4cda88
Issue #13706: Fix format(int, "n") for locale with non-ASCII thousands separator
Victor Stinner <victor.stinner@haypocalc.com>
parents:
74557
diff
changeset
|
294 try: |
|
75234
a29d20fa85b4
Issue #13706: Fix format(float, "n") for locale with non-ASCII decimal point (e.g. ps_aF)
Victor Stinner <victor.stinner@haypocalc.com>
parents:
75231
diff
changeset
|
295 localeconv = locale.localeconv() |
|
a29d20fa85b4
Issue #13706: Fix format(float, "n") for locale with non-ASCII decimal point (e.g. ps_aF)
Victor Stinner <victor.stinner@haypocalc.com>
parents:
75231
diff
changeset
|
296 sep = localeconv['thousands_sep'] |
|
a29d20fa85b4
Issue #13706: Fix format(float, "n") for locale with non-ASCII decimal point (e.g. ps_aF)
Victor Stinner <victor.stinner@haypocalc.com>
parents:
75231
diff
changeset
|
297 point = localeconv['decimal_point'] |
|
a29d20fa85b4
Issue #13706: Fix format(float, "n") for locale with non-ASCII decimal point (e.g. ps_aF)
Victor Stinner <victor.stinner@haypocalc.com>
parents:
75231
diff
changeset
|
298 |
|
75231
f89e2f4cda88
Issue #13706: Fix format(int, "n") for locale with non-ASCII thousands separator
Victor Stinner <victor.stinner@haypocalc.com>
parents:
74557
diff
changeset
|
299 text = format(123456789, "n") |
|
f89e2f4cda88
Issue #13706: Fix format(int, "n") for locale with non-ASCII thousands separator
Victor Stinner <victor.stinner@haypocalc.com>
parents:
74557
diff
changeset
|
300 self.assertIn(sep, text) |
|
f89e2f4cda88
Issue #13706: Fix format(int, "n") for locale with non-ASCII thousands separator
Victor Stinner <victor.stinner@haypocalc.com>
parents:
74557
diff
changeset
|
301 self.assertEqual(text.replace(sep, ''), '123456789') |
|
75234
a29d20fa85b4
Issue #13706: Fix format(float, "n") for locale with non-ASCII decimal point (e.g. ps_aF)
Victor Stinner <victor.stinner@haypocalc.com>
parents:
75231
diff
changeset
|
302 |
|
a29d20fa85b4
Issue #13706: Fix format(float, "n") for locale with non-ASCII decimal point (e.g. ps_aF)
Victor Stinner <victor.stinner@haypocalc.com>
parents:
75231
diff
changeset
|
303 text = format(1234.5, "n") |
|
a29d20fa85b4
Issue #13706: Fix format(float, "n") for locale with non-ASCII decimal point (e.g. ps_aF)
Victor Stinner <victor.stinner@haypocalc.com>
parents:
75231
diff
changeset
|
304 self.assertIn(sep, text) |
|
a29d20fa85b4
Issue #13706: Fix format(float, "n") for locale with non-ASCII decimal point (e.g. ps_aF)
Victor Stinner <victor.stinner@haypocalc.com>
parents:
75231
diff
changeset
|
305 self.assertIn(point, text) |
|
a29d20fa85b4
Issue #13706: Fix format(float, "n") for locale with non-ASCII decimal point (e.g. ps_aF)
Victor Stinner <victor.stinner@haypocalc.com>
parents:
75231
diff
changeset
|
306 self.assertEqual(text.replace(sep, ''), '1234' + point + '5') |
|
75231
f89e2f4cda88
Issue #13706: Fix format(int, "n") for locale with non-ASCII thousands separator
Victor Stinner <victor.stinner@haypocalc.com>
parents:
74557
diff
changeset
|
307 finally: |
|
f89e2f4cda88
Issue #13706: Fix format(int, "n") for locale with non-ASCII thousands separator
Victor Stinner <victor.stinner@haypocalc.com>
parents:
74557
diff
changeset
|
308 locale.setlocale(locale.LC_ALL, oldloc) |
|
f89e2f4cda88
Issue #13706: Fix format(int, "n") for locale with non-ASCII thousands separator
Victor Stinner <victor.stinner@haypocalc.com>
parents:
74557
diff
changeset
|
309 |
|
79390
559a430e563c
Issue #15609: Optimize str%args for integer argument
Victor Stinner <victor.stinner@gmail.com>
parents:
77462
diff
changeset
|
310 @support.cpython_only |
|
559a430e563c
Issue #15609: Optimize str%args for integer argument
Victor Stinner <victor.stinner@gmail.com>
parents:
77462
diff
changeset
|
311 def test_optimisations(self): |
|
559a430e563c
Issue #15609: Optimize str%args for integer argument
Victor Stinner <victor.stinner@gmail.com>
parents:
77462
diff
changeset
|
312 text = "abcde" # 5 characters |
|
559a430e563c
Issue #15609: Optimize str%args for integer argument
Victor Stinner <victor.stinner@gmail.com>
parents:
77462
diff
changeset
|
313 |
|
559a430e563c
Issue #15609: Optimize str%args for integer argument
Victor Stinner <victor.stinner@gmail.com>
parents:
77462
diff
changeset
|
314 self.assertIs("%s" % text, text) |
|
559a430e563c
Issue #15609: Optimize str%args for integer argument
Victor Stinner <victor.stinner@gmail.com>
parents:
77462
diff
changeset
|
315 self.assertIs("%.5s" % text, text) |
|
559a430e563c
Issue #15609: Optimize str%args for integer argument
Victor Stinner <victor.stinner@gmail.com>
parents:
77462
diff
changeset
|
316 self.assertIs("%.10s" % text, text) |
|
559a430e563c
Issue #15609: Optimize str%args for integer argument
Victor Stinner <victor.stinner@gmail.com>
parents:
77462
diff
changeset
|
317 self.assertIs("%1s" % text, text) |
|
559a430e563c
Issue #15609: Optimize str%args for integer argument
Victor Stinner <victor.stinner@gmail.com>
parents:
77462
diff
changeset
|
318 self.assertIs("%5s" % text, text) |
|
559a430e563c
Issue #15609: Optimize str%args for integer argument
Victor Stinner <victor.stinner@gmail.com>
parents:
77462
diff
changeset
|
319 |
|
559a430e563c
Issue #15609: Optimize str%args for integer argument
Victor Stinner <victor.stinner@gmail.com>
parents:
77462
diff
changeset
|
320 self.assertIs("{0}".format(text), text) |
|
559a430e563c
Issue #15609: Optimize str%args for integer argument
Victor Stinner <victor.stinner@gmail.com>
parents:
77462
diff
changeset
|
321 self.assertIs("{0:s}".format(text), text) |
|
559a430e563c
Issue #15609: Optimize str%args for integer argument
Victor Stinner <victor.stinner@gmail.com>
parents:
77462
diff
changeset
|
322 self.assertIs("{0:.5s}".format(text), text) |
|
559a430e563c
Issue #15609: Optimize str%args for integer argument
Victor Stinner <victor.stinner@gmail.com>
parents:
77462
diff
changeset
|
323 self.assertIs("{0:.10s}".format(text), text) |
|
559a430e563c
Issue #15609: Optimize str%args for integer argument
Victor Stinner <victor.stinner@gmail.com>
parents:
77462
diff
changeset
|
324 self.assertIs("{0:1s}".format(text), text) |
|
559a430e563c
Issue #15609: Optimize str%args for integer argument
Victor Stinner <victor.stinner@gmail.com>
parents:
77462
diff
changeset
|
325 self.assertIs("{0:5s}".format(text), text) |
|
75231
f89e2f4cda88
Issue #13706: Fix format(int, "n") for locale with non-ASCII thousands separator
Victor Stinner <victor.stinner@haypocalc.com>
parents:
74557
diff
changeset
|
326 |
|
74557
231c6042c40c
Issue #13706: Support non-ASCII fill characters
Victor Stinner <victor.stinner@haypocalc.com>
parents:
59069
diff
changeset
|
327 |
|
46115
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
328 def test_main(): |
|
47201
9c930a32cebb
#2621 rename test.test_support to test.support
Benjamin Peterson <benjamin@python.org>
parents:
46115
diff
changeset
|
329 support.run_unittest(FormatTest) |
|
15580
668166a50c70
Add test case for error message raised by bad % format character
Andrew M. Kuchling <amk@amk.ca>
parents:
15455
diff
changeset
|
330 |
|
24415
f5cfa0ee02cf
Fix the problem of not raising a TypeError exception when doing:
Neal Norwitz <nnorwitz@gmail.com>
parents:
24364
diff
changeset
|
331 |
|
46115
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
332 if __name__ == "__main__": |
|
1b6c0ff134fa
Merged revisions 61913,61915-61916,61918-61919,61922-61926,61928-61929,61931,61935,61938,61943 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
45514
diff
changeset
|
333 unittest.main() |
