##// END OF EJS Templates
setting an option to null sets the default in CodeMirror...
setting an option to null sets the default in CodeMirror matching the unset behavior in config

File last commit:

r18596:2d590459
r19311:9c060bc5
Show More
test_nbbase.py
101 lines | 3.2 KiB | text/x-python | PythonLexer
# coding: utf-8
"""Tests for the Python API for composing notebook elements"""
import nose.tools as nt
from IPython.nbformat.validator import isvalid, validate, ValidationError
from ..nbbase import (
NotebookNode, nbformat,
new_code_cell, new_markdown_cell, new_notebook,
new_output, new_raw_cell,
)
def test_empty_notebook():
nb = new_notebook()
nt.assert_equal(nb.cells, [])
nt.assert_equal(nb.metadata, NotebookNode())
nt.assert_equal(nb.nbformat, nbformat)
def test_empty_markdown_cell():
cell = new_markdown_cell()
nt.assert_equal(cell.cell_type, 'markdown')
nt.assert_equal(cell.source, '')
def test_markdown_cell():
cell = new_markdown_cell(u'* Søme markdown')
nt.assert_equal(cell.source, u'* Søme markdown')
def test_empty_raw_cell():
cell = new_raw_cell()
nt.assert_equal(cell.cell_type, u'raw')
nt.assert_equal(cell.source, '')
def test_raw_cell():
cell = new_raw_cell('hi')
nt.assert_equal(cell.source, u'hi')
def test_empty_code_cell():
cell = new_code_cell('hi')
nt.assert_equal(cell.cell_type, 'code')
nt.assert_equal(cell.source, u'hi')
def test_empty_display_data():
output = new_output('display_data')
nt.assert_equal(output.output_type, 'display_data')
def test_empty_stream():
output = new_output('stream')
nt.assert_equal(output.output_type, 'stream')
nt.assert_equal(output.name, 'stdout')
nt.assert_equal(output.text, '')
def test_empty_execute_result():
output = new_output('execute_result', execution_count=1)
nt.assert_equal(output.output_type, 'execute_result')
mimebundle = {
'text/plain': "some text",
"application/json": {
"key": "value"
},
"image/svg+xml": 'ABCDEF',
"application/octet-stream": 'ABC-123',
"application/vnd.foo+bar": "Some other stuff",
}
def test_display_data():
output = new_output('display_data', mimebundle)
for key, expected in mimebundle.items():
nt.assert_equal(output.data[key], expected)
def test_execute_result():
output = new_output('execute_result', mimebundle, execution_count=10)
nt.assert_equal(output.execution_count, 10)
for key, expected in mimebundle.items():
nt.assert_equal(output.data[key], expected)
def test_error():
o = new_output(output_type=u'error', ename=u'NameError',
evalue=u'Name not found', traceback=[u'frame 0', u'frame 1', u'frame 2']
)
nt.assert_equal(o.output_type, u'error')
nt.assert_equal(o.ename, u'NameError')
nt.assert_equal(o.evalue, u'Name not found')
nt.assert_equal(o.traceback, [u'frame 0', u'frame 1', u'frame 2'])
def test_code_cell_with_outputs():
cell = new_code_cell(execution_count=10, outputs=[
new_output('display_data', mimebundle),
new_output('stream', text='hello'),
new_output('execute_result', mimebundle, execution_count=10),
])
nt.assert_equal(cell.execution_count, 10)
nt.assert_equal(len(cell.outputs), 3)
er = cell.outputs[-1]
nt.assert_equal(er.execution_count, 10)
nt.assert_equal(er['output_type'], 'execute_result')
def test_stream():
output = new_output('stream', name='stderr', text='hello there')
nt.assert_equal(output.name, 'stderr')
nt.assert_equal(output.text, 'hello there')