Author: Amaury Forgeot d'Arc <amaur...@gmail.com> 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 pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit