1 # -*- coding: utf-8 2 """Tests for prompt generation.""" 3 4 import unittest 5 6 from IPython.core.prompts import LazyEvaluate 7 8 class PromptTests(unittest.TestCase): 9 def test_lazy_eval_unicode(self): 10 u = u'ünicødé' 11 lz = LazyEvaluate(lambda : u) 12 self.assertEqual(str(lz), u) 13 self.assertEqual(format(lz), u) 14 15 def test_lazy_eval_nonascii_bytes(self): 16 u = u'ünicødé' 17 b = u.encode('utf8') 18 lz = LazyEvaluate(lambda : b) 19 # unicode(lz) would fail 20 self.assertEqual(str(lz), str(b)) 21 self.assertEqual(format(lz), str(b)) 22 23 def test_lazy_eval_float(self): 24 f = 0.503 25 lz = LazyEvaluate(lambda : f) 26 27 self.assertEqual(str(lz), str(f)) 28 self.assertEqual(format(lz), str(f)) 29 self.assertEqual(format(lz, '.1'), '0.5') 30 31