##// 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:

r12521:eec42358
r18547:4043b271
Show More
test_exporter.py
59 lines | 1.8 KiB | text/x-python | PythonLexer
"""
Module with tests for exporter.py
"""
#-----------------------------------------------------------------------------
# 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.config import Config
from .base import ExportersTestsBase
from ...preprocessors.base import Preprocessor
from ..exporter import Exporter
#-----------------------------------------------------------------------------
# Class
#-----------------------------------------------------------------------------
class PizzaPreprocessor(Preprocessor):
"""Simple preprocessor that adds a 'pizza' entry to the NotebookNode. Used
to test Exporter.
"""
def preprocess(self, nb, resources):
nb['pizza'] = 'cheese'
return nb, resources
class TestExporter(ExportersTestsBase):
"""Contains test functions for exporter.py"""
def test_constructor(self):
"""Can an Exporter be constructed?"""
Exporter()
def test_export(self):
"""Can an Exporter export something?"""
exporter = Exporter()
(notebook, resources) = exporter.from_filename(self._get_notebook())
assert isinstance(notebook, dict)
def test_preprocessor(self):
"""Do preprocessors work?"""
config = Config({'Exporter': {'preprocessors': [PizzaPreprocessor()]}})
exporter = Exporter(config=config)
(notebook, resources) = exporter.from_filename(self._get_notebook())
self.assertEqual(notebook['pizza'], 'cheese')