##// END OF EJS Templates
updated whatsnew
updated whatsnew

File last commit:

r25167:79c601b9
r26239:d80f7dbb
Show More
test_displayhook.py
112 lines | 3.5 KiB | text/x-python | PythonLexer
/ IPython / core / tests / test_displayhook.py
Matthew Seal
Added missing imports for test
r24298 import sys
nottaanibot
Added tests for displayhook...
r21420 from IPython.testing.tools import AssertPrints, AssertNotPrints
Matthew Seal
Added missing imports for test
r24298 from IPython.core.displayhook import CapturingDisplayHook
from IPython.utils.capture import CapturedIO
nottaanibot
Added tests for displayhook...
r21420
def test_output_displayed():
"""Checking to make sure that output is displayed"""
with AssertPrints('2'):
Matthias Bussonnier
pep8
r21425 ip.run_cell('1+1', store_history=True)
nottaanibot
Added tests for displayhook...
r21420
with AssertPrints('2'):
Matthias Bussonnier
pep8
r21425 ip.run_cell('1+1 # comment with a semicolon;', store_history=True)
Sebastian Bank
adapt DisplayHook.quiet() for multiline input
r22076
with AssertPrints('2'):
ip.run_cell('1+1\n#commented_out_function();', store_history=True)
nottaanibot
Added tests for displayhook...
r21420
def test_output_quiet():
"""Checking to make sure that output is quiet"""
with AssertNotPrints('2'):
Matthias Bussonnier
pep8
r21425 ip.run_cell('1+1;', store_history=True)
nottaanibot
Added tests for displayhook...
r21420
with AssertNotPrints('2'):
Matthias Bussonnier
pep8
r21425 ip.run_cell('1+1; # comment with a semicolon', store_history=True)
Sebastian Bank
adapt DisplayHook.quiet() for multiline input
r22076
with AssertNotPrints('2'):
ip.run_cell('1+1;\n#commented_out_function()', store_history=True)
Matthias Bussonnier
Do not update the unders if they are user defined...
r22838
def test_underscore_no_overrite_user():
ip.run_cell('_ = 42', store_history=True)
ip.run_cell('1+1', store_history=True)
with AssertPrints('42'):
ip.run_cell('print(_)', store_history=True)
ip.run_cell('del _', store_history=True)
ip.run_cell('6+6', store_history=True)
with AssertPrints('12'):
ip.run_cell('_', store_history=True)
def test_underscore_no_overrite_builtins():
ip.run_cell("import gettext ; gettext.install('foo')", store_history=True)
ip.run_cell('3+3', store_history=True)
with AssertPrints('gettext'):
ip.run_cell('print(_)', store_history=True)
ip.run_cell('_ = "userset"', store_history=True)
with AssertPrints('userset'):
ip.run_cell('print(_)', store_history=True)
ip.run_cell('import builtins; del builtins._')
Matthias Bussonnier
Add new interactivity mode for ast....
r23730
def test_interactivehooks_ast_modes():
"""
luzpaz
Misc. typo fixes...
r24084 Test that ast nodes can be triggered with different modes
Matthias Bussonnier
Add new interactivity mode for ast....
r23730 """
saved_mode = ip.ast_node_interactivity
ip.ast_node_interactivity = 'last_expr_or_assign'
try:
with AssertPrints('2'):
ip.run_cell('a = 1+1', store_history=True)
with AssertPrints('9'):
ip.run_cell('b = 1+8 # comment with a semicolon;', store_history=False)
with AssertPrints('7'):
ip.run_cell('c = 1+6\n#commented_out_function();', store_history=True)
ip.run_cell('d = 11', store_history=True)
with AssertPrints('12'):
ip.run_cell('d += 1', store_history=True)
with AssertNotPrints('42'):
ip.run_cell('(u,v) = (41+1, 43-1)')
finally:
ip.ast_node_interactivity = saved_mode
Min ho Kim
Fixed typos
r25167 def test_interactivehooks_ast_modes_semi_suppress():
Matthias Bussonnier
Add new interactivity mode for ast....
r23730 """
luzpaz
Misc. typo fixes...
r24084 Test that ast nodes can be triggered with different modes and suppressed
Matthias Bussonnier
Add new interactivity mode for ast....
r23730 by semicolon
"""
saved_mode = ip.ast_node_interactivity
ip.ast_node_interactivity = 'last_expr_or_assign'
try:
with AssertNotPrints('2'):
ip.run_cell('x = 1+1;', store_history=True)
with AssertNotPrints('7'):
ip.run_cell('y = 1+6; # comment with a semicolon', store_history=True)
with AssertNotPrints('9'):
ip.run_cell('z = 1+8;\n#commented_out_function()', store_history=True)
finally:
ip.ast_node_interactivity = saved_mode
Matthew Seal
Added fix for display hook call output format
r24296
def test_capture_display_hook_format():
"""Tests that the capture display hook conforms to the CapturedIO output format"""
hook = CapturingDisplayHook(ip)
hook({"foo": "bar"})
captured = CapturedIO(sys.stdout, sys.stderr, hook.outputs)
# Should not raise with RichOutput transformation error
captured.outputs