Revision 5401c39d test/ganeti.utils.text_unittest.py

b/test/ganeti.utils.text_unittest.py
545 545
      self.assertEqual(utils.FormatOrdinal(value), ordinal)
546 546

  
547 547

  
548
class TestTruncate(unittest.TestCase):
549
  def _Test(self, text, length):
550
    result = utils.Truncate(text, length)
551
    self.assertTrue(len(result) <= length)
552
    return result
553

  
554
  def test(self):
555
    self.assertEqual(self._Test("", 80), "")
556
    self.assertEqual(self._Test("abc", 4), "abc")
557
    self.assertEqual(self._Test("Hello World", 80), "Hello World")
558
    self.assertEqual(self._Test("Hello World", 4), "H...")
559
    self.assertEqual(self._Test("Hello World", 5), "He...")
560

  
561
    for i in [4, 10, 100]:
562
      data = i * "FooBarBaz"
563
      self.assertEqual(self._Test(data, len(data)), data)
564

  
565
    for (length, exp) in [(8, u"T\u00e4st\u2026xyz"), (7, u"T\u00e4st...")]:
566
      self.assertEqual(self._Test(u"T\u00e4st\u2026xyz", length), exp)
567

  
568
    self.assertEqual(self._Test(range(100), 20), "[0, 1, 2, 3, 4, 5...")
569

  
570
  def testError(self):
571
    for i in range(4):
572
      self.assertRaises(AssertionError, utils.Truncate, "", i)
573

  
574

  
548 575
if __name__ == "__main__":
549 576
  testutils.GanetiTestProgram()

Also available in: Unified diff