##// END OF EJS Templates
Backport PR #8159: Fix action do not provide icon....
Backport PR #8159: Fix action do not provide icon. action might be undefined then button will get no icon. Prevent throwing an uncatched error and insert warning sign on button Will do better one I allow text instead of icon

File last commit:

r18602:2377691a
r20970:9ccefc96
Show More
test_extractoutput.py
58 lines | 2.2 KiB | text/x-python | PythonLexer
"""Tests for the extractoutput preprocessor"""
# Copyright (c) IPython Development Team.
# Distributed under the terms of the Modified BSD License.
from .base import PreprocessorTestsBase
from ..extractoutput import ExtractOutputPreprocessor
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/plain', 'image/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.cells[0].outputs[1]
self.assertIn('filenames', output.metadata)
self.assertIn('text/plain', output.metadata.filenames)
text_filename = output.metadata.filenames['text/plain']
# Check if png was extracted.
output = nb.cells[0].outputs[6]
self.assertIn('filenames', output.metadata)
self.assertIn('image/png', output.metadata.filenames)
png_filename = output.metadata.filenames['image/png']
# Check that pdf was extracted
output = nb.cells[0].outputs[7]
self.assertIn('filenames', output.metadata)
self.assertIn('application/pdf', output.metadata.filenames)
pdf_filename = output.metadata.filenames['application/pdf']
# Verify text output
self.assertIn(text_filename, res['outputs'])
self.assertEqual(res['outputs'][text_filename], b'b')
# Verify png output
self.assertIn(png_filename, res['outputs'])
self.assertEqual(res['outputs'][png_filename], b'g')
# Verify pdf output
self.assertIn(pdf_filename, res['outputs'])
self.assertEqual(res['outputs'][pdf_filename], b'h')