##// END OF EJS Templates
Merge pull request #1852 from minrk/resubmitbufs...
Merge pull request #1852 from minrk/resubmitbufs Fix chained resubmissions, tiny fix for missing buffers, and test. closes #1848

File last commit:

r5747:46260662
r7301:344e5435 merge
Show More
test_prompts.py
62 lines | 1.9 KiB | text/x-python | PythonLexer
Thomas Kluyver
Add tests for prompt system.
r5658 """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)
MinRK
allow access to user_ns in prompt_manager...
r5724 def test_user_ns(self):
self.pm.color_scheme = 'NoColor'
ip.ex("foo='bar'")
self.pm.in_template = "In [{foo}]"
prompt = self.pm.render('in')
self.assertEquals(prompt, u'In [bar]')
def test_builtins(self):
self.pm.color_scheme = 'NoColor'
self.pm.in_template = "In [{int}]"
prompt = self.pm.render('in')
Thomas Kluyver
Fix prompt test for Python 3.
r5747 self.assertEquals(prompt, u"In [%r]" % int)
MinRK
allow access to user_ns in prompt_manager...
r5724
def test_undefined(self):
self.pm.color_scheme = 'NoColor'
self.pm.in_template = "In [{foo_dne}]"
prompt = self.pm.render('in')
self.assertEquals(prompt, u"In [<ERROR: 'foo_dne' not found>]")
Thomas Kluyver
Add tests for prompt system.
r5658 def test_render(self):
self.pm.in_template = r'\#>'
self.assertEqual(self.pm.render('in',color=False), '%d>' % ip.execution_count)