test_citation.py
59 lines
| 2.2 KiB
| text/x-python
|
PythonLexer
Brian E. Granger
|
r12265 | #----------------------------------------------------------------------------- | ||
# 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 | ||||
#----------------------------------------------------------------------------- | ||||
Brian E. Granger
|
r12299 | from ..citation import citation2latex | ||
Thomas Kluyver
|
r13989 | from nose.tools import assert_equal | ||
Brian E. Granger
|
r12265 | |||
#----------------------------------------------------------------------------- | ||||
# Tests | ||||
#----------------------------------------------------------------------------- | ||||
test_md = """ | ||||
# My Heading | ||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus ac magna non augue | ||||
porttitor scelerisque ac id diam <cite data-cite="granger">Granger</cite>. Mauris elit | ||||
velit, lobortis sed interdum at, vestibulum vitae libero <strong data-cite="fperez">Perez</strong>. | ||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit | ||||
<em data-cite="takluyver">Thomas</em>. Quisque iaculis ligula ut ipsum mattis viverra. | ||||
Brian E. Granger
|
r12299 | <p>Here is a plain paragraph that should be unaffected.</p> | ||
Brian E. Granger
|
r12265 | * One <cite data-cite="jdfreder">Jonathan</cite>. | ||
* Two <cite data-cite="carreau">Matthias</cite>. | ||||
* Three <cite data-cite="ivanov">Paul</cite>. | ||||
""" | ||||
test_md_parsed = """ | ||||
# My Heading | ||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus ac magna non augue | ||||
porttitor scelerisque ac id diam \cite{granger}. Mauris elit | ||||
velit, lobortis sed interdum at, vestibulum vitae libero \cite{fperez}. | ||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit | ||||
\cite{takluyver}. Quisque iaculis ligula ut ipsum mattis viverra. | ||||
Brian E. Granger
|
r12299 | <p>Here is a plain paragraph that should be unaffected.</p> | ||
Brian E. Granger
|
r12265 | * One \cite{jdfreder}. | ||
* Two \cite{carreau}. | ||||
* Three \cite{ivanov}. | ||||
""" | ||||
Brian E. Granger
|
r12299 | def test_citation2latex(): | ||
Brian E. Granger
|
r12265 | """Are citations parsed properly?""" | ||
try: | ||||
Thomas Kluyver
|
r13989 | from lxml import html #analysis:ignore | ||
Brian E. Granger
|
r12265 | except ImportError: | ||
Thomas Kluyver
|
r13989 | assert_equal(test_md, citation2latex(test_md)) | ||
Brian E. Granger
|
r12265 | else: | ||
Thomas Kluyver
|
r13989 | assert_equal(test_md_parsed, citation2latex(test_md)) | ||