'If a L{FlattenerError} is created with a unicode root, up to around 40
characters from that string are included in the string representation
of the exception.'

def test_unicode(self):

    u = ({'u': ''} if _PY3 else {'u': 'u'})
    self.assertEqual(str(error.FlattenerError(RuntimeError('reason'), [u'abc\u2603xyz'], [])), ("Exception    while    flattening:\n        %(u)s'abc\\u2603xyz'\nRuntimeError:    reason\n" % u))
    self.assertEqual(str(error.FlattenerError(RuntimeError('reason'), [(u'01234567\u26039' * 10)], [])), ("Exception    while    flattening:\n        %(u)s'01234567\\u2603901234567\\u26039<...>01234567\\u2603901234567\\u26039'\nRuntimeError:    reason\n" % u))
