test_extractoutput.py
65 lines
| 2.2 KiB
| text/x-python
|
PythonLexer
Jonathan Frederic
|
r12029 | """ | ||
Paul Ivanov
|
r12219 | Module with tests for the extractoutput preprocessor | ||
Jonathan Frederic
|
r12029 | """ | ||
#----------------------------------------------------------------------------- | ||||
# 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 | ||||
#----------------------------------------------------------------------------- | ||||
Paul Ivanov
|
r12219 | from .base import PreprocessorTestsBase | ||
from ..extractoutput import ExtractOutputPreprocessor | ||||
Jonathan Frederic
|
r12029 | |||
#----------------------------------------------------------------------------- | ||||
# Class | ||||
#----------------------------------------------------------------------------- | ||||
Paul Ivanov
|
r12219 | class TestExtractOutput(PreprocessorTestsBase): | ||
Jonathan Frederic
|
r12029 | """Contains test functions for extractoutput.py""" | ||
Jonathan Frederic
|
r12035 | |||
Paul Ivanov
|
r12219 | def build_preprocessor(self): | ||
"""Make an instance of a preprocessor""" | ||||
preprocessor = ExtractOutputPreprocessor() | ||||
Thomas Kluyver
|
r13922 | preprocessor.extract_output_types = {'text', 'png'} | ||
Paul Ivanov
|
r12219 | preprocessor.enabled = True | ||
return preprocessor | ||||
Jonathan Frederic
|
r12035 | |||
def test_constructor(self): | ||||
Paul Ivanov
|
r12219 | """Can a ExtractOutputPreprocessor be constructed?""" | ||
self.build_preprocessor() | ||||
Jonathan Frederic
|
r12029 | |||
def test_output(self): | ||||
Paul Ivanov
|
r12219 | """Test the output of the ExtractOutputPreprocessor""" | ||
Jonathan Frederic
|
r12039 | nb = self.build_notebook() | ||
res = self.build_resources() | ||||
Paul Ivanov
|
r12219 | preprocessor = self.build_preprocessor() | ||
nb, res = preprocessor(nb, res) | ||||
Jonathan Frederic
|
r12029 | |||
# Check if text was extracted. | ||||
MinRK
|
r12388 | output = nb.worksheets[0].cells[0].outputs[1] | ||
assert 'text_filename' in output | ||||
text_filename = output['text_filename'] | ||||
Jonathan Frederic
|
r12029 | |||
# Check if png was extracted. | ||||
MinRK
|
r12388 | output = nb.worksheets[0].cells[0].outputs[6] | ||
assert 'png_filename' in output | ||||
png_filename = output['png_filename'] | ||||
Jonathan Frederic
|
r12029 | |||
# Verify text output | ||||
assert text_filename in res['outputs'] | ||||
Jonathan Frederic
|
r12038 | self.assertEqual(res['outputs'][text_filename], b'b') | ||
Jonathan Frederic
|
r12029 | |||
# Verify png output | ||||
assert png_filename in res['outputs'] | ||||
Jonathan Frederic
|
r12038 | self.assertEqual(res['outputs'][png_filename], b'g') | ||