test_shell_options.py
94 lines
| 2.9 KiB
| text/x-python
|
PythonLexer
/ test / test_shell_options.py
fperez
|
r903 | #!/usr/bin/env python | ||
"""A few unit tests for the Shell module. | ||||
""" | ||||
from unittest import TestCase, main | ||||
from IPython import Shell | ||||
try: | ||||
import matplotlib | ||||
has_matplotlib = True | ||||
except ImportError: | ||||
has_matplotlib = False | ||||
class ShellTestBase(TestCase): | ||||
def _test(self,argv,ans): | ||||
shell = Shell._select_shell(argv) | ||||
err = 'Got %s != %s' % (shell,ans) | ||||
self.failUnlessEqual(shell,ans,err) | ||||
class ArgsTestCase(ShellTestBase): | ||||
def test_plain(self): | ||||
self._test([],Shell.IPShell) | ||||
def test_tkthread(self): | ||||
self._test(['-tkthread'],Shell.IPShell) | ||||
def test_gthread(self): | ||||
self._test(['-gthread'],Shell.IPShellGTK) | ||||
def test_qthread(self): | ||||
self._test(['-qthread'],Shell.IPShellQt) | ||||
def test_q4thread(self): | ||||
self._test(['-q4thread'],Shell.IPShellQt4) | ||||
def test_wthread(self): | ||||
self._test(['-wthread'],Shell.IPShellWX) | ||||
if has_matplotlib: | ||||
class MplArgsTestCase(ShellTestBase): | ||||
def setUp(self): | ||||
self.backend = matplotlib.rcParams['backend'] | ||||
def tearDown(self): | ||||
matplotlib.rcParams['backend'] = self.backend | ||||
def _test(self,argv,ans): | ||||
shell = Shell._select_shell(argv) | ||||
err = 'Got %s != %s' % (shell,ans) | ||||
self.failUnlessEqual(shell,ans,err) | ||||
def test_tk(self): | ||||
matplotlib.rcParams['backend'] = 'TkAgg' | ||||
self._test(['-pylab'],Shell.IPShellMatplotlib) | ||||
def test_ps(self): | ||||
matplotlib.rcParams['backend'] = 'PS' | ||||
self._test(['-pylab'],Shell.IPShellMatplotlib) | ||||
def test_gtk(self): | ||||
matplotlib.rcParams['backend'] = 'GTKAgg' | ||||
self._test(['-pylab'],Shell.IPShellMatplotlibGTK) | ||||
def test_gtk_2(self): | ||||
self._test(['-gthread','-pylab'],Shell.IPShellMatplotlibGTK) | ||||
self.failUnlessEqual(matplotlib.rcParams['backend'],'GTKAgg') | ||||
def test_qt(self): | ||||
matplotlib.rcParams['backend'] = 'QtAgg' | ||||
self._test(['-pylab'],Shell.IPShellMatplotlibQt) | ||||
def test_qt_2(self): | ||||
self._test(['-qthread','-pylab'],Shell.IPShellMatplotlibQt) | ||||
self.failUnlessEqual(matplotlib.rcParams['backend'],'QtAgg') | ||||
def test_qt4(self): | ||||
matplotlib.rcParams['backend'] = 'Qt4Agg' | ||||
self._test(['-pylab'],Shell.IPShellMatplotlibQt4) | ||||
def test_qt4_2(self): | ||||
self._test(['-q4thread','-pylab'],Shell.IPShellMatplotlibQt4) | ||||
self.failUnlessEqual(matplotlib.rcParams['backend'],'Qt4Agg') | ||||
def test_wx(self): | ||||
matplotlib.rcParams['backend'] = 'WxAgg' | ||||
self._test(['-pylab'],Shell.IPShellMatplotlibWX) | ||||
def test_wx_2(self): | ||||
self._test(['-pylab','-wthread'],Shell.IPShellMatplotlibWX) | ||||
self.failUnlessEqual(matplotlib.rcParams['backend'],'WXAgg') | ||||
main() | ||||