test_highlightmagics.py
49 lines
| 1.6 KiB
| text/x-python
|
PythonLexer
MinRK
|
r18580 | """Tests for the HighlightMagics preprocessor""" | |
Pablo de Oliveira
|
r12573 | ||
from .base import PreprocessorTestsBase | |||
from ..highlightmagics import HighlightMagicsPreprocessor | |||
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() | |||
MinRK
|
r18580 | nb.cells[0].source = """%%R -i x,y -o XYcoef | |
Pablo de Oliveira
|
r12573 | 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) | |||
MinRK
|
r18580 | assert('magics_language' in nb.cells[0]['metadata']) | |
Pablo de Oliveira
|
r12573 | ||
MinRK
|
r18580 | self.assertEqual(nb.cells[0]['metadata']['magics_language'], 'r') | |
Pablo de Oliveira
|
r12573 | ||
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() | |||
MinRK
|
r18580 | nb.cells[0].source = """# this should not be detected | |
Pablo de Oliveira
|
r12573 | print(\""" | |
%%R -i x, y | |||
\""")""" | |||
nb, res = preprocessor(nb, res) | |||
MinRK
|
r18580 | assert('magics_language' not in nb.cells[0]['metadata']) |