##// END OF EJS Templates
minor test fixes for win32
minor test fixes for win32

File last commit:

r3917:03c097c7
r5297:c270d040
Show More
test_prefilter.py
68 lines | 2.3 KiB | text/x-python | PythonLexer
Fernando Perez
Add transformers to understand code pasted with >>> or IPython prompts....
r2426 """Tests for input manipulation machinery."""
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
import nose.tools as nt
from IPython.testing import tools as tt, decorators as dec
Paul Ivanov
check that multiline string literals don't expand as magic...
r2618 from IPython.testing.globalipapp import get_ipython
Fernando Perez
Add transformers to understand code pasted with >>> or IPython prompts....
r2426
#-----------------------------------------------------------------------------
# Tests
#-----------------------------------------------------------------------------
Fernando Perez
Add some extra tests for prefiltering.
r2551 ip = get_ipython()
Fernando Perez
Add transformers to understand code pasted with >>> or IPython prompts....
r2426 @dec.parametric
def test_prefilter():
"""Test user input conversions"""
# pairs of (raw, expected correct) input
pairs = [ ('2+2','2+2'),
('>>> 2+2','2+2'),
('>>> # This is a comment\n'
'... 2+2',
'# This is a comment\n'
'2+2'),
# Some IPython input
('In [1]: 1', '1'),
('In [2]: for i in range(5):\n'
' ...: print i,',
'for i in range(5):\n'
' print i,'),
]
for raw, correct in pairs:
yield nt.assert_equals(ip.prefilter(raw), correct)
Fernando Perez
Add some extra tests for prefiltering.
r2551
@dec.parametric
def test_autocall_binops():
Thomas Kluyver
Replace links to launchpad bugs in comments/docstrings with equivalent github links.
r3917 """See https://github.com/ipython/ipython/issues/81"""
Fernando Perez
Add some extra tests for prefiltering.
r2551 ip.magic('autocall 2')
f = lambda x: x
ip.user_ns['f'] = f
try:
yield nt.assert_equals(ip.prefilter('f 1'),'f(1)')
for t in ['f +1', 'f -1']:
yield nt.assert_equals(ip.prefilter(t), t)
finally:
ip.magic('autocall 0')
del ip.user_ns['f']
Paul Ivanov
check that multiline string literals don't expand as magic...
r2618
@dec.parametric
def test_issue114():
"""Check that multiline string literals don't expand as magic
see http://github.com/ipython/ipython/issues/#issue/114"""
Fernando Perez
Fix test for issue #114, in this case the test had a small error....
r2648
Paul Ivanov
check that multiline string literals don't expand as magic...
r2618 template = '"""\n%s\n"""'
Fernando Perez
Fix test for issue #114, in this case the test had a small error....
r2648 # Store the current value of multi_line_specials and turn it off before
# running test, since it could be true (case in which the test doesn't make
# sense, as multiline string literals *will* expand as magic in that case).
msp = ip.prefilter_manager.multi_line_specials
ip.prefilter_manager.multi_line_specials = False
try:
for mgk in ip.lsmagic():
raw = template % mgk
yield nt.assert_equals(ip.prefilter(raw), raw)
finally:
ip.prefilter_manager.multi_line_specials = msp