55 lines
1.7 KiB
Python
55 lines
1.7 KiB
Python
|
"""Tests for the latex preprocessor"""
|
||
|
|
||
|
# Copyright (c) IPython Development Team.
|
||
|
# Distributed under the terms of the Modified BSD License.
|
||
|
|
||
|
from .base import PreprocessorTestsBase
|
||
|
from ..latex import LatexPreprocessor
|
||
|
|
||
|
|
||
|
class TestLatex(PreprocessorTestsBase):
|
||
|
"""Contains test functions for latex.py"""
|
||
|
|
||
|
|
||
|
def build_preprocessor(self):
|
||
|
"""Make an instance of a preprocessor"""
|
||
|
preprocessor = LatexPreprocessor()
|
||
|
preprocessor.enabled = True
|
||
|
return preprocessor
|
||
|
|
||
|
def test_constructor(self):
|
||
|
"""Can a LatexPreprocessor be constructed?"""
|
||
|
self.build_preprocessor()
|
||
|
|
||
|
|
||
|
def test_output(self):
|
||
|
"""Test the output of the LatexPreprocessor"""
|
||
|
nb = self.build_notebook()
|
||
|
res = self.build_resources()
|
||
|
preprocessor = self.build_preprocessor()
|
||
|
nb, res = preprocessor(nb, res)
|
||
|
|
||
|
# Make sure the code cell wasn't modified.
|
||
|
self.assertEqual(nb.cells[0].source, '$ e $')
|
||
|
|
||
|
# Verify that the markdown cell wasn't processed.
|
||
|
self.assertEqual(nb.cells[1].source, '$ e $')
|
||
|
|
||
|
def test_highlight(self):
|
||
|
"""Check that highlighting style can be changed"""
|
||
|
nb = self.build_notebook()
|
||
|
res = self.build_resources()
|
||
|
preprocessor = self.build_preprocessor()
|
||
|
|
||
|
# Set the style to a known builtin that's not the default
|
||
|
preprocessor.style='colorful'
|
||
|
nb, res = preprocessor(nb, res)
|
||
|
style_defs = res['latex']['pygments_definitions']
|
||
|
|
||
|
# Get the default
|
||
|
from pygments.formatters import LatexFormatter
|
||
|
default_defs = LatexFormatter(style='default').get_style_defs()
|
||
|
|
||
|
# Verify that the style was in fact changed
|
||
|
assert style_defs != default_defs
|