##// END OF EJS Templates
only check for formatters on instances...
only check for formatters on instances use inspect.isclass to disallow unbound methods, not type checking on the method itself

File last commit:

r18349:64589602
r19026:7658e7aa
Show More
test_html.py
77 lines | 2.5 KiB | text/x-python | PythonLexer
"""Tests for HTMLExporter"""
#-----------------------------------------------------------------------------
# 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 ExportersTestsBase
from ..html import HTMLExporter
from IPython.testing.decorators import onlyif_any_cmd_exists
import re
#-----------------------------------------------------------------------------
# Class
#-----------------------------------------------------------------------------
class TestHTMLExporter(ExportersTestsBase):
"""Tests for HTMLExporter"""
exporter_class = HTMLExporter
should_include_raw = ['html']
def test_constructor(self):
"""
Can a HTMLExporter be constructed?
"""
HTMLExporter()
@onlyif_any_cmd_exists('nodejs', 'node', 'pandoc')
def test_export(self):
"""
Can a HTMLExporter export something?
"""
(output, resources) = HTMLExporter().from_filename(self._get_notebook())
assert len(output) > 0
@onlyif_any_cmd_exists('nodejs', 'node', 'pandoc')
def test_export_basic(self):
"""
Can a HTMLExporter export using the 'basic' template?
"""
(output, resources) = HTMLExporter(template_file='basic').from_filename(self._get_notebook())
assert len(output) > 0
@onlyif_any_cmd_exists('nodejs', 'node', 'pandoc')
def test_export_full(self):
"""
Can a HTMLExporter export using the 'full' template?
"""
(output, resources) = HTMLExporter(template_file='full').from_filename(self._get_notebook())
assert len(output) > 0
@onlyif_any_cmd_exists('nodejs', 'node', 'pandoc')
def test_prompt_number(self):
"""
Does HTMLExporter properly format input and output prompts?
"""
(output, resources) = HTMLExporter(template_file='full').from_filename(
self._get_notebook(nb_name="prompt_numbers.ipynb"))
in_regex = r"In \[(.*)\]:"
out_regex = r"Out\[(.*)\]:"
ins = ["2", "10", " ", " ", "*", "0"]
outs = ["10"]
assert re.findall(in_regex, output) == ins
assert re.findall(out_regex, output) == outs