##// END OF EJS Templates
Separate input and output group from null template...
Separate input and output group from null template This should make it easier to support input output cell styles

File last commit:

r12573:e46115c2
r12657:412a614b
Show More
test_highlightmagics.py
67 lines | 2.4 KiB | text/x-python | PythonLexer
Pablo de Oliveira
Add HighlightMagicsPreprocessor...
r12573 """
Module with tests for the HighlightMagics preprocessor
"""
#-----------------------------------------------------------------------------
# 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 .base import PreprocessorTestsBase
from ..highlightmagics import HighlightMagicsPreprocessor
#-----------------------------------------------------------------------------
# Class
#-----------------------------------------------------------------------------
class TestHighlightMagics(PreprocessorTestsBase):
"""Contains test functions for highlightmagics.py"""
def build_preprocessor(self):
"""Make an instance of a preprocessor"""
preprocessor = HighlightMagicsPreprocessor()
preprocessor.enabled = True
return preprocessor
def test_constructor(self):
"""Can a HighlightMagicsPreprocessor be constructed?"""
self.build_preprocessor()
def test_tagging(self):
"""Test the HighlightMagicsPreprocessor tagging"""
nb = self.build_notebook()
res = self.build_resources()
preprocessor = self.build_preprocessor()
nb.worksheets[0].cells[0].input = """%%R -i x,y -o XYcoef
lm.fit <- lm(y~x)
par(mfrow=c(2,2))
print(summary(lm.fit))
plot(lm.fit)
XYcoef <- coef(lm.fit)"""
nb, res = preprocessor(nb, res)
assert('magics_language' in nb.worksheets[0].cells[0]['metadata'])
self.assertEqual(nb.worksheets[0].cells[0]['metadata']['magics_language'], 'r')
def test_no_false_positive(self):
"""Test that HighlightMagicsPreprocessor does not tag false positives"""
nb = self.build_notebook()
res = self.build_resources()
preprocessor = self.build_preprocessor()
nb.worksheets[0].cells[0].input = """# this should not be detected
print(\"""
%%R -i x, y
\""")"""
nb, res = preprocessor(nb, res)
assert('magics_language' not in nb.worksheets[0].cells[0]['metadata'])