def test_print_method_weird(): class TextMagicHat(object): def __getattr__(self, key): return key f = HTMLFormatter() text_hat = TextMagicHat() nt.assert_equal(text_hat._repr_html_, '_repr_html_') with capture_output() as captured: result = f(text_hat) nt.assert_is(result, None) nt.assert_not_in("FormatterWarning", captured.stderr) class CallableMagicHat(object): def __getattr__(self, key): return lambda: key call_hat = CallableMagicHat() with capture_output() as captured: result = f(call_hat) nt.assert_equal(result, None) class BadReprArgs(object): def _repr_html_(self, extra, args): return "html" bad = BadReprArgs() with capture_output() as captured: result = f(bad) nt.assert_is(result, None) nt.assert_not_in("FormatterWarning", captured.stderr)
def test_format_config(): """config objects don't pretend to support fancy reprs with lazy attrs""" f = HTMLFormatter() cfg = Config() with capture_output() as captured: result = f(cfg) nt.assert_is(result, None) nt.assert_equal(captured.stderr, "") with capture_output() as captured: result = f(Config) nt.assert_is(result, None) nt.assert_equal(captured.stderr, "")
def test_format_config(): """config objects don't pretend to support fancy reprs with lazy attrs""" f = HTMLFormatter() cfg = Config() with capture_output() as captured: result = f(cfg) nt.assert_is(result, None) nt.assert_equal(captured.stderr, "") with capture_output() as captured: result = f(Config) nt.assert_is(result, None) nt.assert_equal(captured.stderr, "")
def test_print_method_bound(): f = HTMLFormatter() class MyHTML(object): def _repr_html_(self): return "hello" with capture_output() as captured: result = f(MyHTML) nt.assert_is(result, None) nt.assert_not_in("FormatterWarning", captured.stderr) with capture_output() as captured: result = f(MyHTML()) nt.assert_equal(result, "hello") nt.assert_equal(captured.stderr, "")
def test_print_method_bound(): f = HTMLFormatter() class MyHTML(object): def _repr_html_(self): return "hello" with capture_output() as captured: result = f(MyHTML) nt.assert_is(result, None) nt.assert_not_in("FormatterWarning", captured.stderr) with capture_output() as captured: result = f(MyHTML()) nt.assert_equal(result, "hello") nt.assert_equal(captured.stderr, "")
def test_progress_iter(): with capture_output(display=False) as captured: for i in display.ProgressBar(5): out = captured.stdout nt.assert_in('{0}/5'.format(i), out) out = captured.stdout nt.assert_in('5/5', out)
def test_progress_iter(): with capture_output(display=False) as captured: for i in display.ProgressBar(5): out = captured.stdout nt.assert_in('{0}/5'.format(i), out) out = captured.stdout nt.assert_in('5/5', out)
def test_warn_error_for_type(): f = HTMLFormatter() f.for_type(int, lambda i: name_error) with capture_output() as captured: result = f(5) nt.assert_is(result, None) nt.assert_in("Traceback", captured.stdout) nt.assert_in("NameError", captured.stdout) nt.assert_in("name_error", captured.stdout)
def test_config_available_configs(): """ test that config magic prints available configs in unique and sorted order. """ with capture_output() as captured: _ip.magic('config') stdout = captured.stdout config_classes = stdout.strip().split('\n')[1:] nt.assert_list_equal(config_classes, sorted(set(config_classes)))
def test_capture_output(): """capture_output() context works""" with capture_output() as io: print('hi, stdout') print('hi, stderr', file=sys.stderr) nt.assert_equal(io.stdout, 'hi, stdout\n') nt.assert_equal(io.stderr, 'hi, stderr\n')
def test_warn_error_for_type(): f = HTMLFormatter() f.for_type(int, lambda i: name_error) with capture_output() as captured: result = f(5) nt.assert_is(result, None) nt.assert_in("Traceback", captured.stdout) nt.assert_in("NameError", captured.stdout) nt.assert_in("name_error", captured.stdout)
def test_config_available_configs(): """ test that config magic prints available configs in unique and sorted order. """ with capture_output() as captured: _ip.magic('config') stdout = captured.stdout config_classes = stdout.strip().split('\n')[1:] nt.assert_list_equal(config_classes, sorted(set(config_classes)))
def test_bad_repr_traceback(): f = PlainTextFormatter() bad = BadRepr() with capture_output() as captured: result = f(bad) # catches error, returns None nt.assert_is(result, None) nt.assert_in("Traceback", captured.stdout) nt.assert_in("__repr__", captured.stdout) nt.assert_in("ValueError", captured.stdout)
def test_magic_magic(): """Test %magic""" ip = get_ipython() with capture_output() as captured: ip.magic("magic") stdout = captured.stdout nt.assert_in('%magic', stdout) nt.assert_in('yap_ipython', stdout) nt.assert_in('Available', stdout)
def test_bad_repr_traceback(): f = PlainTextFormatter() bad = BadRepr() with capture_output() as captured: result = f(bad) # catches error, returns None nt.assert_is(result, None) nt.assert_in("Traceback", captured.stdout) nt.assert_in("__repr__", captured.stdout) nt.assert_in("ValueError", captured.stdout)
def test_magic_magic(): """Test %magic""" ip = get_ipython() with capture_output() as captured: ip.magic("magic") stdout = captured.stdout nt.assert_in('%magic', stdout) nt.assert_in('yap_ipython', stdout) nt.assert_in('Available', stdout)
def test_config_print_class(): """ test that config with a classname prints the class's options. """ with capture_output() as captured: _ip.magic('config TerminalInteractiveShell') stdout = captured.stdout if not re.match("TerminalInteractiveShell.* options", stdout.splitlines()[0]): print(stdout) raise AssertionError("1st line of stdout not like " "'TerminalInteractiveShell.* options'")
def test_config_print_class(): """ test that config with a classname prints the class's options. """ with capture_output() as captured: _ip.magic('config TerminalInteractiveShell') stdout = captured.stdout if not re.match("TerminalInteractiveShell.* options", stdout.splitlines()[0]): print(stdout) raise AssertionError("1st line of stdout not like " "'TerminalInteractiveShell.* options'")
def test_nowarn_notimplemented(): f = HTMLFormatter() class HTMLNotImplemented(object): def _repr_html_(self): raise NotImplementedError h = HTMLNotImplemented() with capture_output() as captured: result = f(h) nt.assert_is(result, None) nt.assert_equal("", captured.stderr) nt.assert_equal("", captured.stdout)
def test_error_method(): f = HTMLFormatter() class BadHTML(object): def _repr_html_(self): raise ValueError("Bad HTML") bad = BadHTML() with capture_output() as captured: result = f(bad) nt.assert_is(result, None) nt.assert_in("Traceback", captured.stdout) nt.assert_in("Bad HTML", captured.stdout) nt.assert_in("_repr_html_", captured.stdout)
def test_nowarn_notimplemented(): f = HTMLFormatter() class HTMLNotImplemented(object): def _repr_html_(self): raise NotImplementedError h = HTMLNotImplemented() with capture_output() as captured: result = f(h) nt.assert_is(result, None) nt.assert_equal("", captured.stderr) nt.assert_equal("", captured.stdout)
def test_error_pretty_method(): f = PlainTextFormatter() class BadPretty(object): def _repr_pretty_(self): return "hello" bad = BadPretty() with capture_output() as captured: result = f(bad) nt.assert_is(result, None) nt.assert_in("Traceback", captured.stdout) nt.assert_in("_repr_pretty_", captured.stdout) nt.assert_in("given", captured.stdout) nt.assert_in("argument", captured.stdout)
def test_error_method(): f = HTMLFormatter() class BadHTML(object): def _repr_html_(self): raise ValueError("Bad HTML") bad = BadHTML() with capture_output() as captured: result = f(bad) nt.assert_is(result, None) nt.assert_in("Traceback", captured.stdout) nt.assert_in("Bad HTML", captured.stdout) nt.assert_in("_repr_html_", captured.stdout)
def test_error_pretty_method(): f = PlainTextFormatter() class BadPretty(object): def _repr_pretty_(self): return "hello" bad = BadPretty() with capture_output() as captured: result = f(bad) nt.assert_is(result, None) nt.assert_in("Traceback", captured.stdout) nt.assert_in("_repr_pretty_", captured.stdout) nt.assert_in("given", captured.stdout) nt.assert_in("argument", captured.stdout)
def test_print_method_weird(): class TextMagicHat(object): def __getattr__(self, key): return key f = HTMLFormatter() text_hat = TextMagicHat() nt.assert_equal(text_hat._repr_html_, '_repr_html_') with capture_output() as captured: result = f(text_hat) nt.assert_is(result, None) nt.assert_not_in("FormatterWarning", captured.stderr) class CallableMagicHat(object): def __getattr__(self, key): return lambda : key call_hat = CallableMagicHat() with capture_output() as captured: result = f(call_hat) nt.assert_equal(result, None) class BadReprArgs(object): def _repr_html_(self, extra, args): return "html" bad = BadReprArgs() with capture_output() as captured: result = f(bad) nt.assert_is(result, None) nt.assert_not_in("FormatterWarning", captured.stderr)
def test_stdout(self): """ Does the in-process kernel correctly capture IO? """ kernel = InProcessKernel() with capture_output() as io: kernel.shell.run_cell('print("foo")') assert io.stdout == 'foo\n' kc = BlockingInProcessKernelClient(kernel=kernel, session=kernel.session) kernel.frontends.append(kc) kc.execute('print("bar")') out, err = assemble_output(kc.iopub_channel) assert out == 'bar\n'
def test_run_tb(): """Test traceback offset in %run""" with TemporaryDirectory() as td: path = pjoin(td, 'foo.py') with open(path, 'w') as f: f.write('\n'.join([ "def foo():", " return bar()", "def bar():", " raise RuntimeError('hello!')", "foo()", ])) with capture_output() as io: _ip.magic('run {}'.format(path)) out = io.stdout nt.assert_not_in("execfile", out) nt.assert_in("RuntimeError", out) nt.assert_equal(out.count("---->"), 3)