##// END OF EJS Templates
Allow IPython to run without sqlite3...
Allow IPython to run without sqlite3 The History will always appear empty, so history magics, etc. don't do anything. Readline history for a single session works fine. Test suite should now pass without sqlite

File last commit:

r4891:c4afd4e3
r5147:8d036e23
Show More
test_text.py
87 lines | 2.9 KiB | text/x-python | PythonLexer
Fernando Perez
Add failing test: columnize called with very long entries....
r4538 # encoding: utf-8
"""Tests for IPython.utils.text"""
#-----------------------------------------------------------------------------
# Copyright (C) 2011 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
import os
MinRK
update EvalFormatter to allow arbitrary expressions...
r4654 import math
Fernando Perez
Add failing test: columnize called with very long entries....
r4538
import nose.tools as nt
from nose import with_setup
from IPython.testing import decorators as dec
from IPython.utils import text
#-----------------------------------------------------------------------------
# Globals
#-----------------------------------------------------------------------------
def test_columnize():
Fernando Perez
Fix bug where tab-completion with very long filenames would crash the qt console....
r4539 """Basic columnize tests."""
size = 5
items = [l*size for l in 'abc']
out = text.columnize(items, displaywidth=80)
nt.assert_equals(out, 'aaaaa bbbbb ccccc\n')
out = text.columnize(items, displaywidth=10)
nt.assert_equals(out, 'aaaaa ccccc\nbbbbb\n')
def test_columnize_long():
"""Test columnize with inputs longer than the display window"""
text.columnize(['a'*81, 'b'*81], displaywidth=80)
size = 11
items = [l*size for l in 'abc']
out = text.columnize(items, displaywidth=size-1)
nt.assert_equals(out, '\n'.join(items+['']))
MinRK
update EvalFormatter to allow arbitrary expressions...
r4654
def test_eval_formatter():
f = text.EvalFormatter()
ns = dict(n=12, pi=math.pi, stuff='hello there', os=os)
Thomas Kluyver
Various fixes to tests in IPython.utils.
r4891 s = f.format("{n} {n//4} {stuff.split()[0]}", **ns)
MinRK
update EvalFormatter to allow arbitrary expressions...
r4654 nt.assert_equals(s, "12 3 hello")
s = f.format(' '.join(['{n//%i}'%i for i in range(1,8)]), **ns)
nt.assert_equals(s, "12 6 4 3 2 2 1")
s = f.format('{[n//i for i in range(1,8)]}', **ns)
nt.assert_equals(s, "[12, 6, 4, 3, 2, 2, 1]")
s = f.format("{stuff!s}", **ns)
nt.assert_equals(s, ns['stuff'])
s = f.format("{stuff!r}", **ns)
nt.assert_equals(s, repr(ns['stuff']))
nt.assert_raises(NameError, f.format, '{dne}', **ns)
def test_eval_formatter_slicing():
f = text.EvalFormatter()
f.allow_slicing = True
ns = dict(n=12, pi=math.pi, stuff='hello there', os=os)
s = f.format(" {stuff.split()[:]} ", **ns)
nt.assert_equals(s, " ['hello', 'there'] ")
s = f.format(" {stuff.split()[::-1]} ", **ns)
nt.assert_equals(s, " ['there', 'hello'] ")
s = f.format("{stuff[::2]}", **ns)
nt.assert_equals(s, ns['stuff'][::2])
nt.assert_raises(SyntaxError, f.format, "{n:x}", **ns)
def test_eval_formatter_no_slicing():
f = text.EvalFormatter()
f.allow_slicing = False
ns = dict(n=12, pi=math.pi, stuff='hello there', os=os)
s = f.format('{n:x} {pi**2:+f}', **ns)
nt.assert_equals(s, "c +9.869604")
nt.assert_raises(SyntaxError, f.format, "{a[:]}")