Show More
@@ -0,0 +1,37 | |||
|
1 | import nose.tools as nt | |
|
2 | ||
|
3 | from IPython.core import inputtransformer2 | |
|
4 | from IPython.core.inputtransformer2 import make_tokens_by_line | |
|
5 | ||
|
6 | MULTILINE_MAGIC_ASSIGN = ("""\ | |
|
7 | a = f() | |
|
8 | b = %foo \\ | |
|
9 | bar | |
|
10 | g() | |
|
11 | """.splitlines(keepends=True), """\ | |
|
12 | a = f() | |
|
13 | b = get_ipython().run_line_magic('foo', ' bar') | |
|
14 | g() | |
|
15 | """.splitlines(keepends=True)) | |
|
16 | ||
|
17 | MULTILINE_SYSTEM_ASSIGN = ("""\ | |
|
18 | a = f() | |
|
19 | b = !foo \\ | |
|
20 | bar | |
|
21 | g() | |
|
22 | """.splitlines(keepends=True), """\ | |
|
23 | a = f() | |
|
24 | b = get_ipython().getoutput('foo bar') | |
|
25 | g() | |
|
26 | """.splitlines(keepends=True)) | |
|
27 | ||
|
28 | def test_find_assign_magic(): | |
|
29 | tbl = make_tokens_by_line(MULTILINE_MAGIC_ASSIGN[0]) | |
|
30 | nt.assert_equal(inputtransformer2.MagicAssign.find(tbl), (2, 4)) | |
|
31 | ||
|
32 | tbl = make_tokens_by_line(MULTILINE_SYSTEM_ASSIGN[0]) # Nothing to find | |
|
33 | nt.assert_equal(inputtransformer2.MagicAssign.find(tbl), None) | |
|
34 | ||
|
35 | def test_transform_assign_magic(): | |
|
36 | res = inputtransformer2.MagicAssign.transform(MULTILINE_MAGIC_ASSIGN[0], (2, 4)) | |
|
37 | nt.assert_equal(res, MULTILINE_MAGIC_ASSIGN[1]) |
General Comments 0
You need to be logged in to leave comments.
Login now