##// END OF EJS Templates
capture_output does not respect trailing semicolon (#13940)...
capture_output does not respect trailing semicolon (#13940) This change tests whether the Python code inside the `%%capture` magic ends with a `';'`. If it does, the code no longer creates the object that is supposed to store the cell output. If such object already exists, it is deleted. Please review and suggest changes if you think they can improve the solution. Thanks.

File last commit:

r27126:8e428a71
r28128:75ecfe93 merge
Show More
test_tempdir.py
29 lines | 1.1 KiB | text/x-python | PythonLexer
#-----------------------------------------------------------------------------
# Copyright (C) 2012- 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.
#-----------------------------------------------------------------------------
from pathlib import Path
from IPython.utils.tempdir import NamedFileInTemporaryDirectory
from IPython.utils.tempdir import TemporaryWorkingDirectory
def test_named_file_in_temporary_directory():
with NamedFileInTemporaryDirectory('filename') as file:
name = file.name
assert not file.closed
assert Path(name).exists()
file.write(b'test')
assert file.closed
assert not Path(name).exists()
def test_temporary_working_directory():
with TemporaryWorkingDirectory() as directory:
directory_path = Path(directory).resolve()
assert directory_path.exists()
assert Path.cwd().resolve() == directory_path
assert not directory_path.exists()
assert Path.cwd().resolve() != directory_path