On 17/01/2014 11:30, Chris Angelico wrote:
On Fri, Jan 17, 2014 at 10:24 PM, Chris Angelico <ros...@gmail.com> wrote:
Do your test strings contain any non-ASCII characters? If not, you
might be able to do this:

def func(a):
     """
     >>> str(func(u'aaa'))
     'aaa'
     """
     return a

Actually, probably better than that:

def func(a):
     """
     >>> text(func(u'aaa'))
     'aaa'
     """
     return a

try:
     class text(unicode): # Will throw NameError in Py3
         def __repr__(self):
             return unicode.__repr__(self)[1:]
except NameError:
     # Python 3 doesn't need this wrapper.
     text = str

Little helper class that does what I don't think monkey-patching will
do. I've tested this and it appears to work in both 2.7.4 and 3.4.0b2,
but that doesn't necessarily mean that the repr of any given Unicode
string will be exactly the same on both versions. It's likely to be
better than depending on the strings being ASCII, though.

ChrisA


I tried this approach with a few more complicated outcomes and they fail in python2 or 3 depending on how I try to render the result in the doctest.
--
Robin Becker

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to