test_convert.py
72 lines
| 1.8 KiB
| text/x-python
|
PythonLexer
MinRK
|
r18710 | # -*- coding: utf-8 -*- | ||
import copy | ||||
import nose.tools as nt | ||||
Min RK
|
r18711 | from ..nbbase import validate | ||
MinRK
|
r18710 | from .. import convert | ||
from . import nbexamples | ||||
from IPython.nbformat.v3.tests import nbexamples as v3examples | ||||
from IPython.nbformat import v3, v4 | ||||
def test_upgrade_notebook(): | ||||
nb03 = copy.deepcopy(v3examples.nb0) | ||||
validate(nb03) | ||||
nb04 = convert.upgrade(nb03) | ||||
validate(nb04) | ||||
def test_downgrade_notebook(): | ||||
nb04 = copy.deepcopy(nbexamples.nb0) | ||||
validate(nb04) | ||||
nb03 = convert.downgrade(nb04) | ||||
validate(nb03) | ||||
def test_upgrade_heading(): | ||||
v3h = v3.new_heading_cell | ||||
v4m = v4.new_markdown_cell | ||||
for v3cell, expected in [ | ||||
( | ||||
v3h(source='foo', level=1), | ||||
v4m(source='# foo'), | ||||
), | ||||
( | ||||
v3h(source='foo\nbar\nmulti-line\n', level=4), | ||||
v4m(source='#### foo bar multi-line'), | ||||
), | ||||
( | ||||
v3h(source=u'ünìcö∂e–cønvërsioñ', level=4), | ||||
v4m(source=u'#### ünìcö∂e–cønvërsioñ'), | ||||
), | ||||
]: | ||||
upgraded = convert.upgrade_cell(v3cell) | ||||
nt.assert_equal(upgraded, expected) | ||||
def test_downgrade_heading(): | ||||
v3h = v3.new_heading_cell | ||||
v4m = v4.new_markdown_cell | ||||
v3m = lambda source: v3.new_text_cell('markdown', source) | ||||
for v4cell, expected in [ | ||||
( | ||||
v4m(source='# foo'), | ||||
v3h(source='foo', level=1), | ||||
), | ||||
( | ||||
v4m(source='#foo'), | ||||
v3h(source='foo', level=1), | ||||
), | ||||
( | ||||
v4m(source='#\tfoo'), | ||||
v3h(source='foo', level=1), | ||||
), | ||||
( | ||||
v4m(source='# \t foo'), | ||||
v3h(source='foo', level=1), | ||||
), | ||||
( | ||||
v4m(source='# foo\nbar'), | ||||
v3m(source='# foo\nbar'), | ||||
), | ||||
]: | ||||
downgraded = convert.downgrade_cell(v4cell) | ||||
nt.assert_equal(downgraded, expected) | ||||