##// END OF EJS Templates
Also catch SyntaxErrors from InputTransformers in run_cell()...
Also catch SyntaxErrors from InputTransformers in run_cell() The run_cell() method is not used in the IPython terminal, so there are two code paths where the SyntaxError needs to be caught. Also, this commit moves the terminal test to IPython/terminal/test/ instead of IPython/app/test. I've checked that this works in the terminal, the Qt console, and the html notebook.

File last commit:

r12388:2805f511
r13525:b06d9d6e
Show More
base.py
53 lines | 2.2 KiB | text/x-python | PythonLexer
"""
Module with utility functions for preprocessor tests
"""
#-----------------------------------------------------------------------------
# Copyright (c) 2013, the IPython Development Team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file COPYING.txt, distributed with this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
from IPython.nbformat import current as nbformat
from ...tests.base import TestsBase
from ...exporters.exporter import ResourcesDict
#-----------------------------------------------------------------------------
# Class
#-----------------------------------------------------------------------------
class PreprocessorTestsBase(TestsBase):
"""Contains test functions preprocessor tests"""
def build_notebook(self):
"""Build a notebook in memory for use with preprocessor tests"""
outputs = [nbformat.new_output(output_type="stream", stream="stdout", output_text="a"),
nbformat.new_output(output_type="text", output_text="b"),
nbformat.new_output(output_type="stream", stream="stdout", output_text="c"),
nbformat.new_output(output_type="stream", stream="stdout", output_text="d"),
nbformat.new_output(output_type="stream", stream="stderr", output_text="e"),
nbformat.new_output(output_type="stream", stream="stderr", output_text="f"),
nbformat.new_output(output_type="png", output_png='Zw==')] #g
cells=[nbformat.new_code_cell(input="$ e $", prompt_number=1,outputs=outputs),
nbformat.new_text_cell('markdown', source="$ e $")]
worksheets = [nbformat.new_worksheet(name="worksheet1", cells=cells)]
return nbformat.new_notebook(name="notebook1", worksheets=worksheets)
def build_resources(self):
"""Build an empty resources dictionary."""
res = ResourcesDict()
res['metadata'] = ResourcesDict()
return res