##// END OF EJS Templates
Merge pull request #1780 from jonathan-taylor/rmagic_extension...
Merge pull request #1780 from jonathan-taylor/rmagic_extension Rmagic extension to use R (the statistical package) seamlessly from IPython. The rmagic extension allows R inline code as well as cell level magics. An example notebook is provided in docs/examples/notebooks/rmagic_extension.ipynb to demonstrate its usage. Main points: 1) Allows capture of plots to R via inline png plots (like --pylab inline) 2) Allows capture of R's stdout() connection to the notebook 3) Allows simple push/pull for array data to/from R (via rpy2) with copy only on push to R -- this seems necessary.

File last commit:

r5747:46260662
r7296:b1088356 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)