##// END OF EJS Templates
test that rename fails with 409 if it would clobber...
test that rename fails with 409 if it would clobber (test already passes, but it should still be tested) closes #4600

File last commit:

r8262:99483a20
r13710:aeb5b086
Show More
test_octavemagic.py
85 lines | 2.2 KiB | text/x-python | PythonLexer
"""Tests for Octave magics extension."""
import nose.tools as nt
try:
import oct2py
import numpy as np
import numpy.testing as npt
from IPython.extensions import octavemagic
except Exception as e:
__test__ = False
global octave
def setup():
ip = get_ipython()
global octave
octave = octavemagic.OctaveMagics(ip)
ip.register_magics(octave)
ip.ex('import numpy as np')
def test_octave_inline():
ip = get_ipython()
result = ip.run_line_magic('octave', '[1, 2, 3] + 1;')
npt.assert_array_equal(result, [[2, 3, 4]])
def test_octave_roundtrip():
ip = get_ipython()
ip.ex('x = np.arange(3); y = 4.5')
ip.run_line_magic('octave_push', 'x y')
ip.run_line_magic('octave', 'x = x + 1; y = y + 1;')
ip.run_line_magic('octave_pull', 'x y')
npt.assert_array_equal(ip.user_ns['x'], [[1, 2, 3]])
nt.assert_equal(ip.user_ns['y'], 5.5)
def test_octave_cell_magic():
ip = get_ipython()
ip.ex('x = 3; y = [1, 2]')
ip.run_cell_magic('octave', '-f png -s 400,400 -i x,y -o z',
'z = x + y;')
npt.assert_array_equal(ip.user_ns['z'], [[4, 5]])
def verify_publish_data(source, data):
if 'image/svg+xml' in data:
svg = data['image/svg+xml']
assert 'height="500px"' in svg
assert 'width="400px"' in svg
test_octave_plot.svgs_generated += 1
def test_octave_plot():
octave._publish_display_data = verify_publish_data
test_octave_plot.svgs_generated = 0
ip = get_ipython()
ip.run_cell_magic('octave', '-f svg -s 400,500',
'plot([1, 2, 3]); figure; plot([4, 5, 6]);')
nt.assert_equal(test_octave_plot.svgs_generated, 2)
def test_octavemagic_localscope():
ip = get_ipython()
ip.magic('load_ext octavemagic')
ip.push({'x':0})
ip.run_line_magic('octave', '-i x -o result result = x+1')
result = ip.user_ns['result']
nt.assert_equal(result, 1)
ip.run_cell('''def octavemagic_addone(u):
%octave -i u -o result result = u+1
return result''')
ip.run_cell('result = octavemagic_addone(1)')
result = ip.user_ns['result']
nt.assert_equal(result, 2)
nt.assert_raises(
KeyError,
ip.run_line_magic,
"octave",
"-i var_not_defined 1+1")