##// END OF EJS Templates
Explicitly set the current working directory when running tests...
Explicitly set the current working directory when running tests Because of the profile directory searching algorithm, if the current working directory has a directory named 'profile_default', that will be used instead of the temporary profile directory the tests expect.

File last commit:

r15386:5ee6cfdf
r17469:70f5afef
Show More
test_extractoutput.py
74 lines | 2.5 KiB | text/x-python | PythonLexer
"""
Module with tests for the extractoutput preprocessor
"""
#-----------------------------------------------------------------------------
# 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 .base import PreprocessorTestsBase
from ..extractoutput import ExtractOutputPreprocessor
#-----------------------------------------------------------------------------
# Class
#-----------------------------------------------------------------------------
class TestExtractOutput(PreprocessorTestsBase):
"""Contains test functions for extractoutput.py"""
def build_preprocessor(self):
"""Make an instance of a preprocessor"""
preprocessor = ExtractOutputPreprocessor()
preprocessor.extract_output_types = {'text', 'png', 'application/pdf'}
preprocessor.enabled = True
return preprocessor
def test_constructor(self):
"""Can a ExtractOutputPreprocessor be constructed?"""
self.build_preprocessor()
def test_output(self):
"""Test the output of the ExtractOutputPreprocessor"""
nb = self.build_notebook()
res = self.build_resources()
preprocessor = self.build_preprocessor()
nb, res = preprocessor(nb, res)
# Check if text was extracted.
output = nb.worksheets[0].cells[0].outputs[1]
assert 'text_filename' in output
text_filename = output['text_filename']
# Check if png was extracted.
output = nb.worksheets[0].cells[0].outputs[6]
assert 'png_filename' in output
png_filename = output['png_filename']
# Check that pdf was extracted
output = nb.worksheets[0].cells[0].outputs[7]
assert 'application/pdf_filename' in output
pdf_filename = output['application/pdf_filename']
# Verify text output
assert text_filename in res['outputs']
self.assertEqual(res['outputs'][text_filename], b'b')
# Verify png output
assert png_filename in res['outputs']
self.assertEqual(res['outputs'][png_filename], b'g')
# Verify pdf output
assert pdf_filename in res['outputs']
self.assertEqual(res['outputs'][pdf_filename], b'h')