##// END OF EJS Templates
catch IOError in addition to OSError...
catch IOError in addition to OSError IOError is a subclass of OSError on py3, but not py2

File last commit:

r18602:2377691a
r20489:fb6299ba
Show More
test_extractoutput.py
58 lines | 2.2 KiB | text/x-python | PythonLexer
MinRK
update nbconvert to nbformat 4
r18580 """Tests for the extractoutput preprocessor"""
Jonathan Frederic
Added extract output test
r12029
MinRK
update nbconvert to nbformat 4
r18580 # Copyright (c) IPython Development Team.
Jonathan Frederic
Added extract output test
r12029 # Distributed under the terms of the Modified BSD License.
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 from .base import PreprocessorTestsBase
from ..extractoutput import ExtractOutputPreprocessor
Jonathan Frederic
Added extract output test
r12029
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 class TestExtractOutput(PreprocessorTestsBase):
Jonathan Frederic
Added extract output test
r12029 """Contains test functions for extractoutput.py"""
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 def build_preprocessor(self):
"""Make an instance of a preprocessor"""
preprocessor = ExtractOutputPreprocessor()
MinRK
update nbconvert to nbformat 4
r18580 preprocessor.extract_output_types = {'text/plain', 'image/png', 'application/pdf'}
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 preprocessor.enabled = True
return preprocessor
Jonathan Frederic
Fixes small things pointed out by @minrk
r12035
def test_constructor(self):
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 """Can a ExtractOutputPreprocessor be constructed?"""
self.build_preprocessor()
Jonathan Frederic
Added extract output test
r12029
def test_output(self):
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 """Test the output of the ExtractOutputPreprocessor"""
Jonathan Frederic
Expanded transformer pass line, for easier debugging
r12039 nb = self.build_notebook()
res = self.build_resources()
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 preprocessor = self.build_preprocessor()
nb, res = preprocessor(nb, res)
Jonathan Frederic
Added extract output test
r12029 # Check if text was extracted.
MinRK
update nbconvert to nbformat 4
r18580 output = nb.cells[0].outputs[1]
MinRK
address review from takluyver...
r18602 self.assertIn('filenames', output.metadata)
self.assertIn('text/plain', output.metadata.filenames)
MinRK
move mime-bundle data to rich output.data...
r18589 text_filename = output.metadata.filenames['text/plain']
Jonathan Frederic
Added extract output test
r12029
# Check if png was extracted.
MinRK
update nbconvert to nbformat 4
r18580 output = nb.cells[0].outputs[6]
MinRK
address review from takluyver...
r18602 self.assertIn('filenames', output.metadata)
self.assertIn('image/png', output.metadata.filenames)
MinRK
move mime-bundle data to rich output.data...
r18589 png_filename = output.metadata.filenames['image/png']
MinRK
add pdf to extract output tests
r15386
# Check that pdf was extracted
MinRK
update nbconvert to nbformat 4
r18580 output = nb.cells[0].outputs[7]
MinRK
address review from takluyver...
r18602 self.assertIn('filenames', output.metadata)
self.assertIn('application/pdf', output.metadata.filenames)
MinRK
move mime-bundle data to rich output.data...
r18589 pdf_filename = output.metadata.filenames['application/pdf']
Jonathan Frederic
Added extract output test
r12029
# Verify text output
MinRK
address review from takluyver...
r18602 self.assertIn(text_filename, res['outputs'])
Jonathan Frederic
Extracted output are now test against byte arrays instead of strings
r12038 self.assertEqual(res['outputs'][text_filename], b'b')
Jonathan Frederic
Added extract output test
r12029
# Verify png output
MinRK
address review from takluyver...
r18602 self.assertIn(png_filename, res['outputs'])
Jonathan Frederic
Extracted output are now test against byte arrays instead of strings
r12038 self.assertEqual(res['outputs'][png_filename], b'g')
MinRK
add pdf to extract output tests
r15386
# Verify pdf output
MinRK
address review from takluyver...
r18602 self.assertIn(pdf_filename, res['outputs'])
MinRK
add pdf to extract output tests
r15386 self.assertEqual(res['outputs'][pdf_filename], b'h')