Browse files

Add tests for prompt system.

  • Loading branch information...
1 parent 82193fb commit 96e853995203aae902416b4ba82707161ac6170c @takluyver committed Dec 8, 2011
Showing with 43 additions and 0 deletions.
  1. +43 −0 IPython/core/tests/test_prompts.py
View
43 IPython/core/tests/test_prompts.py
@@ -0,0 +1,43 @@
+"""Tests for prompt generation."""
+
+import unittest
+
+import nose.tools as nt
+
+from IPython.testing import tools as tt, decorators as dec
+from IPython.core.prompts import PromptManager
+from IPython.testing.globalipapp import get_ipython
+
+ip = get_ipython()
+
+
+class PromptTests(unittest.TestCase):
+ def setUp(self):
+ self.pm = PromptManager(shell=ip, config=ip.config)
+
+ def test_multiline_prompt(self):
+ self.pm.in_template = "[In]\n>>>"
+ self.pm.render('in')
+ self.assertEqual(self.pm.width, 3)
+ self.assertEqual(self.pm.txtwidth, 3)
+
+ self.pm.in_template = '[In]\n'
+ self.pm.render('in')
+ self.assertEqual(self.pm.width, 0)
+ self.assertEqual(self.pm.txtwidth, 0)
+
+ def test_translate_abbreviations(self):
+ def do_translate(template):
+ self.pm.in_template = template
+ return self.pm.templates['in']
+
+ pairs = [(r'%n>', '{color.number}{count}{color.prompt}>'),
+ (r'\T', '{time}'),
+ (r'\n', '\n')
+ ]
+
+ tt.check_pairs(do_translate, pairs)
+
+ def test_render(self):
+ self.pm.in_template = r'\#>'
+ self.assertEqual(self.pm.render('in',color=False), '%d>' % ip.execution_count)

0 comments on commit 96e8539

Please sign in to comment.