##// END OF EJS Templates
cd completer: no longer greedy. If you are using a buggy readline that inserts...
cd completer: no longer greedy. If you are using a buggy readline that inserts spaces after completions (so you need to press backspace), do import ipy_completers ipy_completers.greedy_cd_completer = True

File last commit:

r1234:52b55407
r1266:89765fe6
Show More
test_shell.py
66 lines | 2.4 KiB | text/x-python | PythonLexer
Brian E Granger
This is a manual merge of certain things in the ipython1-dev branch, revision 46, into the main ...
r1234 # encoding: utf-8
"""This file contains unittests for the shell.py module."""
__docformat__ = "restructuredtext en"
#-------------------------------------------------------------------------------
# Copyright (C) 2008 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# Imports
#-------------------------------------------------------------------------------
import unittest
from IPython.kernel.core import shell
resultKeys = ('commandIndex', 'stdin', 'stdout', 'stderr')
class BasicShellTest(unittest.TestCase):
def setUp(self):
self.s = shell.InteractiveShell()
def testExecute(self):
commands = [(0,"a = 5","",""),
(1,"b = 10","",""),
(2,"c = a + b","",""),
(3,"print c","15\n",""),
(4,"import math","",""),
(5,"2.0*math.pi","6.2831853071795862\n","")]
for c in commands:
result = self.s.execute(c[1])
self.assertEquals(result, dict(zip(resultKeys,c)))
def testPutGet(self):
objs = [10,"hi there",1.2342354,{"p":(1,2)}]
for o in objs:
self.s.put("key",o)
value = self.s.get("key")
self.assertEquals(value,o)
self.assertRaises(TypeError, self.s.put,10)
self.assertRaises(TypeError, self.s.get,10)
self.s.reset()
self.assertRaises(NameError, self.s.get, 'a')
def testUpdate(self):
d = {"a": 10, "b": 34.3434, "c": "hi there"}
self.s.update(d)
for k in d.keys():
value = self.s.get(k)
self.assertEquals(value, d[k])
self.assertRaises(TypeError, self.s.update, [1,2,2])
def testCommand(self):
self.assertRaises(IndexError,self.s.getCommand)
self.s.execute("a = 5")
self.assertEquals(self.s.getCommand(), dict(zip(resultKeys, (0,"a = 5","",""))))
self.assertEquals(self.s.getCommand(0), dict(zip(resultKeys, (0,"a = 5","",""))))
self.s.reset()
self.assertEquals(self.s.getLastCommandIndex(),-1)
self.assertRaises(IndexError,self.s.getCommand)