##// END OF EJS Templates
Remove EventManager reset methods, because they violate encapsulation....
Remove EventManager reset methods, because they violate encapsulation. The whole idea of the EventManager is that you can register hooks without worrying about what hooks other pieces of code might be registering. The reset methods violate this separation of concerns, since they will blow away everyone else's hooks too. (See gh-6680 for an example of this breaking things.) Since there is never any safe way to use them, we simply remove them entirely.

File last commit:

r16008:134a379b
r18547:4043b271
Show More
test_rst.py
65 lines | 2.0 KiB | text/x-python | PythonLexer
"""Tests for RSTExporter"""
#-----------------------------------------------------------------------------
# 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
#-----------------------------------------------------------------------------
import io
from IPython.nbformat import current
from .base import ExportersTestsBase
from ..rst import RSTExporter
from IPython.testing.decorators import onlyif_cmds_exist
#-----------------------------------------------------------------------------
# Class
#-----------------------------------------------------------------------------
class TestRSTExporter(ExportersTestsBase):
"""Tests for RSTExporter"""
exporter_class = RSTExporter
should_include_raw = ['rst']
def test_constructor(self):
"""
Can a RSTExporter be constructed?
"""
RSTExporter()
@onlyif_cmds_exist('pandoc')
def test_export(self):
"""
Can a RSTExporter export something?
"""
(output, resources) = RSTExporter().from_filename(self._get_notebook())
assert len(output) > 0
@onlyif_cmds_exist('pandoc')
def test_empty_code_cell(self):
"""No empty code cells in rst"""
nbname = self._get_notebook()
with io.open(nbname, encoding='utf8') as f:
nb = current.read(f, 'json')
exporter = self.exporter_class()
(output, resources) = exporter.from_notebook_node(nb)
# add an empty code cell
nb.worksheets[0].cells.append(
current.new_code_cell(input="")
)
(output2, resources) = exporter.from_notebook_node(nb)
# adding an empty code cell shouldn't change output
self.assertEqual(output.strip(), output2.strip())