##// END OF EJS Templates
flush replies when entering an eventloop...
flush replies when entering an eventloop avoids possible hangs when the GUI eventloop prevents queued replies from being sent

File last commit:

r14830:6871539d
r15232:158d7616
Show More
test_pandoc.py
62 lines | 2.4 KiB | text/x-python | PythonLexer
"""Test Pandoc module"""
#-----------------------------------------------------------------------------
# Copyright (C) 2014 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
import os
from IPython.testing import decorators as dec
from IPython.nbconvert.tests.base import TestsBase
from .. import pandoc
#-----------------------------------------------------------------------------
# Classes and functions
#-----------------------------------------------------------------------------
class TestPandoc(TestsBase):
"""Collection of Pandoc tests"""
def __init__(self, *args, **kwargs):
super(TestPandoc, self).__init__(*args, **kwargs)
self.original_env = os.environ.copy()
@dec.onlyif_cmds_exist('pandoc')
def test_pandoc_available(self):
""" Test behaviour that pandoc functions raise PandocMissing as documented """
pandoc.clean_cache()
os.environ["PATH"] = ""
assert pandoc_function_raised_missing(pandoc.get_pandoc_version) == True
assert pandoc_function_raised_missing(pandoc.check_pandoc_version) == True
assert pandoc_function_raised_missing(pandoc.pandoc, "", "markdown", "html") == True
# original_env["PATH"] should contain pandoc
os.environ["PATH"] = self.original_env["PATH"]
assert pandoc_function_raised_missing(pandoc.get_pandoc_version) == False
assert pandoc_function_raised_missing(pandoc.check_pandoc_version) == False
assert pandoc_function_raised_missing(pandoc.pandoc, "", "markdown", "html") == False
@dec.onlyif_cmds_exist('pandoc')
def test_minimal_version(self):
original_minversion = pandoc._minimal_version
pandoc._minimal_version = "120.0"
assert not pandoc.check_pandoc_version()
pandoc._minimal_version = pandoc.get_pandoc_version()
assert pandoc.check_pandoc_version()
def pandoc_function_raised_missing(f, *args, **kwargs):
try:
f(*args, **kwargs)
except pandoc.PandocMissing:
return True
else:
return False