##// 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
MinRK
test raw cell inclusion based on raw_format metadata
r13665 """Tests for HTMLExporter"""
Jonathan Frederic
Added exporter tests
r11480
#-----------------------------------------------------------------------------
# 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
Jonathan Frederic
Fixed tests
r11740 from ..html import HTMLExporter
MinRK
run html nbconvert tests if node or pandoc is available
r15439 from IPython.testing.decorators import onlyif_any_cmd_exists
Jessica B. Hamrick
Add regression tests for html nbconvert
r18342 import re
Jonathan Frederic
Added exporter tests
r11480
#-----------------------------------------------------------------------------
# Class
#-----------------------------------------------------------------------------
Jonathan Frederic
Fixed tests
r11740 class TestHTMLExporter(ExportersTestsBase):
MinRK
test raw cell inclusion based on raw_format metadata
r13665 """Tests for HTMLExporter"""
exporter_class = HTMLExporter
should_include_raw = ['html']
Jonathan Frederic
Added exporter tests
r11480
def test_constructor(self):
"""
Jonathan Frederic
Fixed tests
r11740 Can a HTMLExporter be constructed?
Jonathan Frederic
Added exporter tests
r11480 """
Jonathan Frederic
Fixed tests
r11740 HTMLExporter()
Jonathan Frederic
Added exporter tests
r11480
Jonathan Frederic
Add @ivanov 's logic to PANDOC tests
r11749
MinRK
run html nbconvert tests if node or pandoc is available
r15439 @onlyif_any_cmd_exists('nodejs', 'node', 'pandoc')
Jonathan Frederic
Added exporter tests
r11480 def test_export(self):
"""
Jonathan Frederic
Fixed tests
r11740 Can a HTMLExporter export something?
Jonathan Frederic
Added exporter tests
r11480 """
Jonathan Frederic
Fixed tests
r11740 (output, resources) = HTMLExporter().from_filename(self._get_notebook())
Paul Ivanov
skip tests that require pandoc
r11714 assert len(output) > 0
Jonathan Frederic
Updated tests to try flavors
r11738
MinRK
run html nbconvert tests if node or pandoc is available
r15439 @onlyif_any_cmd_exists('nodejs', 'node', 'pandoc')
Jonathan Frederic
Updated tests to try flavors
r11738 def test_export_basic(self):
"""
Jonathan Frederic
flavor=template
r11745 Can a HTMLExporter export using the 'basic' template?
Jonathan Frederic
Updated tests to try flavors
r11738 """
MinRK
don't allow 'template' to specify 'template_file'...
r11852 (output, resources) = HTMLExporter(template_file='basic').from_filename(self._get_notebook())
Jonathan Frederic
Updated tests to try flavors
r11738 assert len(output) > 0
MinRK
run html nbconvert tests if node or pandoc is available
r15439 @onlyif_any_cmd_exists('nodejs', 'node', 'pandoc')
Jonathan Frederic
Updated tests to try flavors
r11738 def test_export_full(self):
"""
Jonathan Frederic
flavor=template
r11745 Can a HTMLExporter export using the 'full' template?
Jonathan Frederic
Updated tests to try flavors
r11738 """
MinRK
don't allow 'template' to specify 'template_file'...
r11852 (output, resources) = HTMLExporter(template_file='full').from_filename(self._get_notebook())
Jonathan Frederic
Updated tests to try flavors
r11738 assert len(output) > 0
MinRK
test raw cell inclusion based on raw_format metadata
r13665
Jessica B. Hamrick
Add regression tests for html nbconvert
r18342 @onlyif_any_cmd_exists('nodejs', 'node', 'pandoc')
def test_prompt_number(self):
"""
Does HTMLExporter properly format input and output prompts?
"""
Jessica B. Hamrick
Have prompt number tests use a special prompt number notebook
r18347 (output, resources) = HTMLExporter(template_file='full').from_filename(
self._get_notebook(nb_name="prompt_numbers.ipynb"))
Jessica B. Hamrick
Add regression tests for html nbconvert
r18342 in_regex = r"In \[(.*)\]:"
out_regex = r"Out\[(.*)\]:"
Jessica B. Hamrick
Make prompt numbers notebook more specific
r18349 ins = ["2", "10", " ", " ", "*", "0"]
outs = ["10"]
Jessica B. Hamrick
Add regression tests for html nbconvert
r18342
assert re.findall(in_regex, output) == ins
assert re.findall(out_regex, output) == outs