##// END OF EJS Templates
Use cell.prompt_number rather than cell['prompt_number']
Use cell.prompt_number rather than cell['prompt_number']

File last commit:

r16869:af858551
r17883:30e10449
Show More
test_revealhelp.py
94 lines | 3.6 KiB | text/x-python | PythonLexer
Jonathan Frederic
Added revealhelp transformer tests
r12032 """
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 Module with tests for the revealhelp preprocessor
Jonathan Frederic
Added revealhelp transformer tests
r12032 """
#-----------------------------------------------------------------------------
# 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 IPython.nbformat import current as nbformat
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 from .base import PreprocessorTestsBase
from ..revealhelp import RevealHelpPreprocessor
Jonathan Frederic
Added revealhelp transformer tests
r12032
#-----------------------------------------------------------------------------
# Class
#-----------------------------------------------------------------------------
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 class Testrevealhelp(PreprocessorTestsBase):
Jonathan Frederic
Added revealhelp transformer tests
r12032 """Contains test functions for revealhelp.py"""
def build_notebook(self):
damianavila
Fixed test and add fragments to the list of resets.
r16869 """Build a reveal slides notebook in memory for use with tests.
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 Overrides base in PreprocessorTestsBase"""
Jonathan Frederic
Added revealhelp transformer tests
r12032
outputs = [nbformat.new_output(output_type="stream", stream="stdout", output_text="a")]
damianavila
Fixed test and add fragments to the list of resets.
r16869
Jonathan Frederic
Added revealhelp transformer tests
r12032 slide_metadata = {'slideshow' : {'slide_type': 'slide'}}
subslide_metadata = {'slideshow' : {'slide_type': 'subslide'}}
cells=[nbformat.new_code_cell(input="", prompt_number=1, outputs=outputs),
nbformat.new_text_cell('markdown', source="", metadata=slide_metadata),
nbformat.new_code_cell(input="", prompt_number=2, outputs=outputs),
nbformat.new_text_cell('markdown', source="", metadata=slide_metadata),
nbformat.new_text_cell('markdown', source="", metadata=subslide_metadata)]
worksheets = [nbformat.new_worksheet(name="worksheet1", cells=cells)]
return nbformat.new_notebook(name="notebook1", worksheets=worksheets)
Jonathan Frederic
Fixes small things pointed out by @minrk
r12035
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 def build_preprocessor(self):
"""Make an instance of a preprocessor"""
preprocessor = RevealHelpPreprocessor()
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 RevealHelpPreprocessor be constructed?"""
self.build_preprocessor()
damianavila
Fixed test and add fragments to the list of resets.
r16869
Jonathan Frederic
Added revealhelp transformer tests
r12032
def test_reveal_attribute(self):
"""Make sure the reveal url_prefix resources is set"""
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 revealhelp transformer tests
r12032 assert 'reveal' in res
assert 'url_prefix' in res['reveal']
def test_reveal_output(self):
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 """Make sure that the reveal preprocessor """
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 revealhelp transformer tests
r12032 cells = nb.worksheets[0].cells
# Make sure correct metadata tags are available on every cell.
Jonathan Frederic
Fixes small things pointed out by @minrk
r12035 for cell in cells:
assert 'slide_type' in cell.metadata
Jonathan Frederic
Added revealhelp transformer tests
r12032
# Make sure slide end is only applied to the cells preceeding slide
# cells.
damianavila
Fixed test and add fragments to the list of resets.
r16869 assert 'slide_helper' in cells[1].metadata
self.assertEqual(cells[1].metadata['slide_helper'], '-')
Jonathan Frederic
Added revealhelp transformer tests
r12032
# Verify 'slide-end'
assert 'slide_helper' in cells[0].metadata
self.assertEqual(cells[0].metadata['slide_helper'], 'slide_end')
assert 'slide_helper' in cells[2].metadata
self.assertEqual(cells[2].metadata['slide_helper'], 'slide_end')
assert 'slide_helper' in cells[3].metadata
self.assertEqual(cells[3].metadata['slide_helper'], 'subslide_end')