diff --git a/IPython/core/tests/test_pylabtools.py b/IPython/core/tests/test_pylabtools.py index 3c12523..de3f83b 100644 --- a/IPython/core/tests/test_pylabtools.py +++ b/IPython/core/tests/test_pylabtools.py @@ -61,3 +61,68 @@ def test_import_pylab(): pt.import_pylab(ns, import_all=False) nt.assert_true('plt' in ns) nt.assert_equal(ns['np'], np) + + +class TestPylabSwitch(object): + class Shell(object): + pylab_gui_select = None + + def setup(self): + self._save_am = pt.activate_matplotlib + pt.activate_matplotlib = lambda *a,**kw:None + self._save_ip = pt.import_pylab + pt.import_pylab = lambda *a,**kw:None + self._save_cis = pt.configure_inline_support + pt.configure_inline_support = lambda *a,**kw:None + + def teardown(self): + pt.activate_matplotlib = self._save_am + pt.import_pylab = self._save_ip + pt.configure_inline_support = self._save_cis + + def test_qt(self): + s = self.Shell() + gui = pt.pylab_activate(dict(), 'qt', False, s) + nt.assert_equal(gui, 'qt') + nt.assert_equal(s.pylab_gui_select, 'qt') + + gui = pt.pylab_activate(dict(), 'inline', False, s) + nt.assert_equal(gui, 'inline') + nt.assert_equal(s.pylab_gui_select, 'qt') + + gui = pt.pylab_activate(dict(), None, False, s) + nt.assert_equal(gui, 'qt') + nt.assert_equal(s.pylab_gui_select, 'qt') + + gui = pt.pylab_activate(dict(), 'inline', False, s) + nt.assert_equal(gui, 'inline') + nt.assert_equal(s.pylab_gui_select, 'qt') + + gui = pt.pylab_activate(dict(), None, False, s) + nt.assert_equal(gui, 'qt') + nt.assert_equal(s.pylab_gui_select, 'qt') + + def test_inline(self): + s = self.Shell() + gui = pt.pylab_activate(dict(), 'inline', False, s) + nt.assert_equal(gui, 'inline') + nt.assert_equal(s.pylab_gui_select, None) + + gui = pt.pylab_activate(dict(), 'inline', False, s) + nt.assert_equal(gui, 'inline') + nt.assert_equal(s.pylab_gui_select, None) + + gui = pt.pylab_activate(dict(), 'qt', False, s) + nt.assert_equal(gui, 'qt') + nt.assert_equal(s.pylab_gui_select, 'qt') + + def test_qt_gtk(self): + s = self.Shell() + gui = pt.pylab_activate(dict(), 'qt', False, s) + nt.assert_equal(gui, 'qt') + nt.assert_equal(s.pylab_gui_select, 'qt') + + gui = pt.pylab_activate(dict(), 'gtk', False, s) + nt.assert_equal(gui, 'qt') + nt.assert_equal(s.pylab_gui_select, 'qt') +