Author: Amaury Forgeot d'Arc <[email protected]>
Branch: py3k
Changeset: r48019:8e1f509bd8dd
Date: 2011-10-13 22:37 +0200
http://bitbucket.org/pypy/pypy/changeset/8e1f509bd8dd/
Log: Fix test_newformat: bytes.format always return a unicode string
diff --git a/pypy/objspace/std/test/test_newformat.py
b/pypy/objspace/std/test/test_newformat.py
--- a/pypy/objspace/std/test/test_newformat.py
+++ b/pypy/objspace/std/test/test_newformat.py
@@ -7,18 +7,17 @@
"""Test format and __format__ methods of string objects."""
def test_escape(self):
- assert self.s("{{").format() == self.s("{")
- assert self.s("}}").format() == self.s("}")
- assert self.s("{} {{ {}").format(1, 2) == self.s("1 { 2")
- assert self.s("{{}}").format() == self.s("{}")
+ assert self.s("{{").format() == "{"
+ assert self.s("}}").format() == "}"
+ assert self.s("{} {{ {}").format(1, 2) == "1 { 2"
+ assert self.s("{{}}").format() == "{}"
def test_empty(self):
- assert self.s().format() == self.s()
- assert self.s("x").format() == self.s("x")
+ assert self.s().format() == ""
+ assert self.s("x").format() == "x"
def test_several(self):
- res = self.s("x32 stuff 42m")
- assert self.s("x{} stuff {}m").format(32, 42) == res
+ assert self.s("x{} stuff {}m").format(32, 42) == "x32 stuff 42m"
def test_stray_brackets(self):
raises(ValueError, self.s("}").format, 3)
@@ -26,44 +25,43 @@
raises(ValueError, self.s("{}}").format, 3)
def test_auto_numbering(self):
- res = "1 3 2"
- assert self.s("{} {name} {}").format(1, 2, name=3) == self.s(res)
+ assert self.s("{} {name} {}").format(1, 2, name=3) == "1 3 2"
raises(ValueError, self.s("{} {2}").format, 2, 3)
raises(ValueError, self.s("{0} {}").format, 2, 3)
def test_positional_args(self):
- assert self.s("{1}{0}").format(2, 3) == self.s("32")
+ assert self.s("{1}{0}").format(2, 3) == "32"
raises(IndexError, self.s("{2}").format, 2)
big = self.s("{123476028570192873049182730984172039840712934}")
raises(ValueError, big.format)
def test_kwargs(self):
- assert self.s("{what}").format(what=42) == self.s("42")
+ assert self.s("{what}").format(what=42) == "42"
raises(KeyError, self.s("{nothing}").format)
def test_attr(self):
class x:
apple = 42
- assert self.s("{.apple}").format(x) == self.s("42")
+ assert self.s("{.apple}").format(x) == "42"
#
raises(ValueError, self.s("{.}").format, x)
def test_index(self):
seq = (1, 42)
- assert self.s("{[1]}").format(seq) == self.s("42")
+ assert self.s("{[1]}").format(seq) == "42"
big = self.s("{[1092837041982035981720398471029384012937412]}")
raises(ValueError, big.format, [0])
def test_getitem(self):
d = {"hi" : 32}
- assert self.s("{[hi]}").format(d) == self.s("32")
+ assert self.s("{[hi]}").format(d) == "32"
def test_chained(self):
class x:
y = [1, 2, 3]
- assert self.s("{.y[1]}").format(x) == self.s("2")
+ assert self.s("{.y[1]}").format(x) == "2"
l = [1, x]
- assert self.s("{[1].y[2]}").format(l) == self.s("3")
+ assert self.s("{[1].y[2]}").format(l) == "3"
def test_invalid_field_name(self):
raises(ValueError, self.s("{[x]y}").format, {"x" : 2})
@@ -72,8 +70,8 @@
class x(object):
def __repr__(self):
return "32"
- assert self.s("{!r}").format(x()) == self.s("32")
- assert self.s("{!s}").format(x()) == self.s("32")
+ assert self.s("{!r}").format(x()) == "32"
+ assert self.s("{!s}").format(x()) == "32"
def test_format_spec(self):
assert self.s('{0!s:}').format('Hello') == 'Hello'
@@ -87,27 +85,27 @@
raises(ValueError, self.s("{!}").format)
def test_recursive(self):
- assert self.s("{:{}}").format(42, "#o") == self.s("0o52")
+ assert self.s("{:{}}").format(42, "#o") == "0o52"
raises(ValueError, self.s("{{}:s}").format)
raises(ValueError, self.s("{:{:{}}}").format, 1, 2, 3)
def test_presentation(self):
- assert format(self.s("blah"), "s") == self.s("blah")
- assert format(self.s("blah")) == self.s("blah")
+ assert format(self.s("blah"), "s") == "blah"
+ assert format(self.s("blah")) == "blah"
for pres in "bcdoxXeEfFgGn%":
raises(ValueError, format, self.s("blah"), pres)
def test_padding(self):
- assert format(self.s("h"), "3") == self.s("h ")
- assert format(self.s("h"), "<3") == self.s("h ")
- assert format(self.s("h"), ">3") == self.s(" h")
- assert format(self.s("h"), "^3") == self.s(" h ")
- assert format(self.s("h"), "^4") == self.s(" h ")
- assert format(self.s("h"), "c<3") == self.s("hcc")
+ assert format(self.s("h"), "3") == "h "
+ assert format(self.s("h"), "<3") == "h "
+ assert format(self.s("h"), ">3") == " h"
+ assert format(self.s("h"), "^3") == " h "
+ assert format(self.s("h"), "^4") == " h "
+ assert format(self.s("h"), "c<3") == "hcc"
raises(ValueError, format, self.s("blah"), "=12")
def test_precision(self):
- assert format(self.s("abcdef"), ".3") == self.s("abc")
+ assert format(self.s("abcdef"), ".3") == "abc"
def test_non_ascii_presentation(self):
raises(ValueError, format, self.s(""), "\x234")
@@ -140,26 +138,26 @@
return 'G(' + self.x + ')'
return object.__format__(self, format_spec)
- assert self.s("{1}{0}").format(D(10), D(20)) == self.s("2010")
- assert self.s("{0._x.x}").format(C(D("abc"))) == self.s("abc")
- assert self.s("{0[1][0].x}").format(["abc", [D("def")]]) ==
self.s("def")
- assert self.s("{0}").format(E("data")) == self.s("E(data)")
- assert self.s("{0:d}").format(G("data")) == self.s("G(data)")
- assert self.s("{0!s}").format(G("data")) == self.s("string is data")
+ assert self.s("{1}{0}").format(D(10), D(20)) == "2010"
+ assert self.s("{0._x.x}").format(C(D("abc"))) == "abc"
+ assert self.s("{0[1][0].x}").format(["abc", [D("def")]]) == "def"
+ assert self.s("{0}").format(E("data")) == "E(data)"
+ assert self.s("{0:d}").format(G("data")) == "G(data)"
+ assert self.s("{0!s}").format(G("data")) == "string is data"
msg = "object.__format__ with a non-empty format string is deprecated",
with warnings.catch_warnings(record=True) as log:
# This is ok because warnings.catch_warnings resets the filters
warnings.simplefilter("always", PendingDeprecationWarning)
- assert self.s("{0:^10}").format(E("data")) == self.s(" E(data) ")
+ assert self.s("{0:^10}").format(E("data")) == " E(data) "
assert log[0].message.args == msg
assert type(log[0].message) is PendingDeprecationWarning
- assert self.s("{0:^10s}").format(E("data")) == self.s(" E(data) ")
+ assert self.s("{0:^10s}").format(E("data")) == " E(data) "
assert log[1].message.args == msg
assert type(log[1].message) is PendingDeprecationWarning
- assert self.s("{0:>15s}").format(G("data")) == self.s(" string is
data")
+ assert self.s("{0:>15s}").format(G("data")) == " string is data"
assert log[2].message.args == msg
assert type(log[2].message) is PendingDeprecationWarning
assert len(log) == 3
@@ -183,8 +181,8 @@
return "18"
def __unicode__(self):
return "42"
- assert self.s("{!s}").format(x()) == self.s("42")
- assert self.s("{!r}").format(x()) == self.s("32")
+ assert self.s("{!s}").format(x()) == "42"
+ assert self.s("{!r}").format(x()) == "32"
def test_non_latin1_key(self):
raises(KeyError, self.s("{\u1000}").format)
@@ -204,8 +202,8 @@
return "18"
def __unicode__(self):
return "42"
- assert self.s("{!s}").format(x()) == self.s("18")
- assert self.s("{!r}").format(x()) == self.s("32")
+ assert self.s("{!s}").format(x()) == "18"
+ assert self.s("{!r}").format(x()) == "32"
class BaseIntegralFormattingTest:
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit