##// END OF EJS Templates
skip permission -> 403 test on Windows...
skip permission -> 403 test on Windows The test actually passes on my VM (Win 7), but not on Jenkins (Server 2012). I haven't figured out how to identify the subset of Windows systems where it won't work, but since the problem appears to be in the test, not the tested code, skipping on Windows seems the right way to go.

File last commit:

r18596:2d590459
r20575:7211fc10
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')