##// END OF EJS Templates
Restore some functionality of the sphinx directive....
Restore some functionality of the sphinx directive. See #11362 The issue is in 2 part, before IPython 7.0 the input splitter was state full, this was (in part) due to readline. The second part is that because of this, we had to be a bit adressive of what was considered complete code (it had to have 2 new line). This is now not required anymore as we can submit stuff as a whole. I hope that this fixes that. I have another fix in mind that count (and reset) the number of consecutive blank line, but that will be more complicated end code.

File last commit:

r23044:7e78dda8
r24710:73f493f5
Show More
test_prompts.py
34 lines | 918 B | text/x-python | PythonLexer
# -*- coding: utf-8
"""Tests for prompt generation."""
import unittest
from IPython.core.prompts import LazyEvaluate
from IPython.testing.globalipapp import get_ipython
ip = get_ipython()
class PromptTests(unittest.TestCase):
def test_lazy_eval_unicode(self):
u = u'ünicødé'
lz = LazyEvaluate(lambda : u)
self.assertEqual(str(lz), u)
self.assertEqual(format(lz), u)
def test_lazy_eval_nonascii_bytes(self):
u = u'ünicødé'
b = u.encode('utf8')
lz = LazyEvaluate(lambda : b)
# unicode(lz) would fail
self.assertEqual(str(lz), str(b))
self.assertEqual(format(lz), str(b))
def test_lazy_eval_float(self):
f = 0.503
lz = LazyEvaluate(lambda : f)
self.assertEqual(str(lz), str(f))
self.assertEqual(format(lz), str(f))
self.assertEqual(format(lz, '.1'), '0.5')