|
|
import io
|
|
|
import nose.tools as nt
|
|
|
import os
|
|
|
from nose.tools import nottest
|
|
|
from converters import (
|
|
|
ConverterLaTeX, ConverterMarkdown, ConverterPy, ConverterHTML
|
|
|
)
|
|
|
|
|
|
@nottest
|
|
|
def cleanfile(stn):
|
|
|
return filter(None, map(unicode.strip, stn.split('\n')))
|
|
|
|
|
|
@nottest
|
|
|
def skipiftravis(func):
|
|
|
if os.getenv('TRAVIS') == True:
|
|
|
func.__test__ = False
|
|
|
return func
|
|
|
|
|
|
@nottest
|
|
|
def is_travis():
|
|
|
return os.getenv('TRAVIS') == 'true'
|
|
|
|
|
|
@nottest
|
|
|
def is_not_travis():
|
|
|
return not is_travis()
|
|
|
|
|
|
|
|
|
def test_evens():
|
|
|
######
|
|
|
# for now, we don't need to really run inkscape to extract svg
|
|
|
# from file, on unix, for test, we monkeypathc it to 'true'
|
|
|
# which does not fail as doing anything.
|
|
|
####
|
|
|
ConverterLaTeX.inkscape = 'true'
|
|
|
|
|
|
# commenting rst for now as travis build
|
|
|
# fail because of pandoc version.
|
|
|
converters = [
|
|
|
#(ConverterRST, 'rst'),
|
|
|
(ConverterMarkdown, 'md'),
|
|
|
(ConverterLaTeX, 'tex'),
|
|
|
(ConverterPy, 'py'),
|
|
|
]
|
|
|
if is_not_travis() :
|
|
|
converters.append((ConverterHTML, 'html'))
|
|
|
|
|
|
reflist = [
|
|
|
'tests/ipynbref/data_geeks_team_calendar.orig',
|
|
|
'tests/ipynbref/00_notebook_tour.orig',
|
|
|
'tests/ipynbref/IntroNumPy.orig',
|
|
|
'tests/ipynbref/XKCD_plots.orig',
|
|
|
'tests/ipynbref/Gun_Data.orig',
|
|
|
]
|
|
|
for root in reflist:
|
|
|
for conv, ext in converters:
|
|
|
yield test_conversion, conv, root + '.ipynb', root + '.' + ext
|
|
|
|
|
|
|
|
|
@nottest
|
|
|
def compfiles(stra, strb):
|
|
|
nt.assert_equal(cleanfile(stra),
|
|
|
cleanfile(strb))
|
|
|
|
|
|
|
|
|
@nottest
|
|
|
def test_conversion(ConverterClass, ipynb, ref_file):
|
|
|
converter = ConverterClass(infile=ipynb)
|
|
|
converter.read()
|
|
|
cv = converter.convert()
|
|
|
with io.open(ref_file) as ref:
|
|
|
value = ref.read()
|
|
|
compfiles(cv, value)
|
|
|
|