"""utility functions for preprocessor tests""" # Copyright (c) IPython Development Team. # Distributed under the terms of the Modified BSD License. from nbformat import v4 as nbformat from ...exporters.exporter import ResourcesDict from ...tests.base import TestsBase class PreprocessorTestsBase(TestsBase): """Contains test functions preprocessor tests""" def build_notebook(self, with_json_outputs=False): """Build a notebook in memory for use with preprocessor tests""" outputs = [ nbformat.new_output("stream", name="stdout", text="a"), nbformat.new_output("display_data", data={"text/plain": "b"}), nbformat.new_output("stream", name="stdout", text="c"), nbformat.new_output("stream", name="stdout", text="d"), nbformat.new_output("stream", name="stderr", text="e"), nbformat.new_output("stream", name="stderr", text="f"), nbformat.new_output("display_data", data={"image/png": "Zw=="}), # g nbformat.new_output("display_data", data={"application/pdf": "aA=="}), # h ] if with_json_outputs: outputs.extend( [ nbformat.new_output("display_data", data={"application/json": [1, 2, 3]}), # j nbformat.new_output( "display_data", data={"application/json": {"a": 1, "c": {"b": 2}}} ), # k nbformat.new_output("display_data", data={"application/json": "abc"}), # l nbformat.new_output("display_data", data={"application/json": 15.03}), # m ] ) cells = [ nbformat.new_code_cell(source="$ e $", execution_count=1, outputs=outputs), nbformat.new_markdown_cell(source="$ e $"), ] return nbformat.new_notebook(cells=cells) def build_resources(self): """Build an empty resources dictionary.""" res = ResourcesDict() res["metadata"] = ResourcesDict() return res