##// END OF EJS Templates
Merged ipython-frontend branch. All changes in IPython.frontend except for updates to IPython.kernel.engineservice.ThreadedEngineService and associated tests.
Merged ipython-frontend branch. All changes in IPython.frontend except for updates to IPython.kernel.engineservice.ThreadedEngineService and associated tests.

File last commit:

r1291:f18505ed
r1294:defe9154 merge
Show More
test_cocoa_frontend.py
72 lines | 3.0 KiB | text/x-python | PythonLexer
/ IPython / frontend / cocoa / tests / test_cocoa_frontend.py
Barry Wark
moved frontend from ipython1-dev. Got engineservice.ThreadedEngineService running, but does nto correctly propagate errors during execute()
r1263 # encoding: utf-8
Barry Wark
pep8 compliance, first pass
r1291 """This file contains unittests for the
IPython.frontend.cocoa.cocoa_frontend module.
Barry Wark
moved frontend from ipython1-dev. Got engineservice.ThreadedEngineService running, but does nto correctly propagate errors during execute()
r1263 """
__docformat__ = "restructuredtext en"
Barry Wark
pep8 compliance, first pass
r1291
#---------------------------------------------------------------------------
# Copyright (C) 2005 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
#---------------------------------------------------------------------------
from IPython.kernel.core.interpreter import Interpreter
Barry Wark
fixed ipython1->IPython in cocoa/tests/test_cocoa_frontend.py
r1264 import IPython.kernel.engineservice as es
Barry Wark
cocoa frontend tests
r1275 from IPython.testing.util import DeferredTestCase
Barry Wark
moved frontend from ipython1-dev. Got engineservice.ThreadedEngineService running, but does nto correctly propagate errors during execute()
r1263 from twisted.internet.defer import succeed
Barry Wark
cocoa frontend tests
r1275 from IPython.frontend.cocoa.cocoa_frontend import IPythonCocoaController
Barry Wark
moved frontend from ipython1-dev. Got engineservice.ThreadedEngineService running, but does nto correctly propagate errors during execute()
r1263
Barry Wark
cocoa frontend tests
r1275 from Foundation import NSMakeRect
from AppKit import NSTextView, NSScrollView
Barry Wark
moved frontend from ipython1-dev. Got engineservice.ThreadedEngineService running, but does nto correctly propagate errors during execute()
r1263
class TestIPythonCocoaControler(DeferredTestCase):
"""Tests for IPythonCocoaController"""
def setUp(self):
self.controller = IPythonCocoaController.alloc().init()
self.engine = es.EngineService()
self.engine.startService()
def tearDown(self):
self.controller = None
self.engine.stopService()
def testControllerExecutesCode(self):
code ="""5+5"""
expected = Interpreter().execute(code)
del expected['number']
def removeNumberAndID(result):
del result['number']
del result['id']
return result
Barry Wark
pep8 compliance, first pass
r1291 self.assertDeferredEquals(
self.controller.execute(code).addCallback(removeNumberAndID),
expected)
Barry Wark
moved frontend from ipython1-dev. Got engineservice.ThreadedEngineService running, but does nto correctly propagate errors during execute()
r1263
def testControllerMirrorsUserNSWithValuesAsStrings(self):
code = """userns1=1;userns2=2"""
def testControllerUserNS(result):
Barry Wark
cocoa frontend tests
r1275 self.assertEquals(self.controller.userNS['userns1'], 1)
self.assertEquals(self.controller.userNS['userns2'], 2)
Barry Wark
moved frontend from ipython1-dev. Got engineservice.ThreadedEngineService running, but does nto correctly propagate errors during execute()
r1263
Barry Wark
cocoa frontend tests
r1275 self.controller.execute(code).addCallback(testControllerUserNS)
Barry Wark
moved frontend from ipython1-dev. Got engineservice.ThreadedEngineService running, but does nto correctly propagate errors during execute()
r1263
def testControllerInstantiatesIEngine(self):
Barry Wark
cocoa frontend tests
r1275 self.assert_(es.IEngineBase.providedBy(self.controller.engine))
Barry Wark
moved frontend from ipython1-dev. Got engineservice.ThreadedEngineService running, but does nto correctly propagate errors during execute()
r1263
def testControllerCompletesToken(self):
code = """longNameVariable=10"""
def testCompletes(result):
self.assert_("longNameVariable" in result)
def testCompleteToken(result):
self.controller.complete("longNa").addCallback(testCompletes)
Barry Wark
cocoa frontend tests
r1275 self.controller.execute(code).addCallback(testCompletes)
Barry Wark
moved frontend from ipython1-dev. Got engineservice.ThreadedEngineService running, but does nto correctly propagate errors during execute()
r1263