def test_ambiguous_width(self): adj = fmt.EastAsianTextAdjustment() self.assertEqual(adj.len(u'¡¡ab'), 4) with cf.option_context('display.unicode.ambiguous_as_wide', True): adj = fmt.EastAsianTextAdjustment() self.assertEqual(adj.len(u'¡¡ab'), 6) data = [[u'あ', 'b', 'c'], ['dd', u'ええ', 'ff'], ['ggg', u'¡¡ab', u'いいい']] expected = u'あ dd ggg \nb ええ ¡¡ab\nc ff いいい' adjoined = adj.adjoin(2, *data) self.assertEqual(adjoined, expected)
def test_adjoin_unicode(self): data = [[u'あ', 'b', 'c'], ['dd', u'ええ', 'ff'], ['ggg', 'hhh', u'いいい']] expected = u'あ dd ggg\nb ええ hhh\nc ff いいい' adjoined = printing.adjoin(2, *data) self.assertEqual(adjoined, expected) adj = fmt.EastAsianTextAdjustment() expected = u"""あ dd ggg b ええ hhh c ff いいい""" adjoined = adj.adjoin(2, *data) self.assertEqual(adjoined, expected) cols = adjoined.split('\n') self.assertEqual(adj.len(cols[0]), 13) self.assertEqual(adj.len(cols[1]), 13) self.assertEqual(adj.len(cols[2]), 16) expected = u"""あ dd ggg b ええ hhh c ff いいい""" adjoined = adj.adjoin(7, *data) self.assertEqual(adjoined, expected) cols = adjoined.split('\n') self.assertEqual(adj.len(cols[0]), 23) self.assertEqual(adj.len(cols[1]), 23) self.assertEqual(adj.len(cols[2]), 26)
def test_east_asian_len(self): adj = fmt.EastAsianTextAdjustment() self.assertEqual(adj.len('abc'), 3) self.assertEqual(adj.len(u'abc'), 3) self.assertEqual(adj.len(u'パンダ'), 6) self.assertEqual(adj.len(u'パンダ'), 5) self.assertEqual(adj.len(u'パンダpanda'), 11) self.assertEqual(adj.len(u'パンダpanda'), 10)
def test_justify(self): adj = fmt.EastAsianTextAdjustment() def just(x, *args, **kwargs): # wrapper to test single str return adj.justify([x], *args, **kwargs)[0] self.assertEqual(just('abc', 5, mode='left'), 'abc ') self.assertEqual(just('abc', 5, mode='center'), ' abc ') self.assertEqual(just('abc', 5, mode='right'), ' abc') self.assertEqual(just(u'abc', 5, mode='left'), 'abc ') self.assertEqual(just(u'abc', 5, mode='center'), ' abc ') self.assertEqual(just(u'abc', 5, mode='right'), ' abc') self.assertEqual(just(u'パンダ', 5, mode='left'), u'パンダ') self.assertEqual(just(u'パンダ', 5, mode='center'), u'パンダ') self.assertEqual(just(u'パンダ', 5, mode='right'), u'パンダ') self.assertEqual(just(u'パンダ', 10, mode='left'), u'パンダ ') self.assertEqual(just(u'パンダ', 10, mode='center'), u' パンダ ') self.assertEqual(just(u'パンダ', 10, mode='right'), u' パンダ')