Let u'%s' % obj try obj.__unicode__() first and fallback to obj.__str__().

This commit is contained in:
Marc-André Lemburg 2004-07-23 16:13:25 +00:00
parent fe0808382b
commit d25c650461
2 changed files with 20 additions and 10 deletions

View file

@ -438,6 +438,14 @@ class UnicodeTest(
self.assertEqual(unicode(o), u'unicode(obj) is compatible to str()')
self.assertEqual(str(o), 'unicode(obj) is compatible to str()')
# %-formatting and .__unicode__()
self.assertEqual(u'%s' %
UnicodeCompat(u"u'%s' % obj uses obj.__unicode__()"),
u"u'%s' % obj uses obj.__unicode__()")
self.assertEqual(u'%s' %
UnicodeCompat(u"u'%s' % obj falls back to obj.__str__()"),
u"u'%s' % obj falls back to obj.__str__()")
for obj in (123, 123.45, 123L):
self.assertEqual(unicode(obj), unicode(str(obj)))