def test_generate_table_max_width_1(basic_table, capsys): rows, headers = basic_table output_obj = sys.stdout with pytest.raises(SystemExit): generate_table(rows, headers, output_obj, max_width=1) out, err = capsys.readouterr() assert not out and err
def test_generate_table_cols_align(basic_table, capsys): rows, headers = basic_table output_obj = sys.stdout cols_align = ['l', 'r', 'l'] + ['l'] * (len(headers) - 3) generate_table(rows, headers, output_obj, cols_align=cols_align) out, err = capsys.readouterr() assert out and not err
def test_generate_table_named_tuple_fail_textable(basic_table, capsys): rows, headers = basic_table tkv = TableKeysValues(headers, rows) output_obj = sys.stdout with pytest.raises(AttributeError): # This fails because generate_table treats rows as list, # and calls rows.insert. generate_table(rows=tkv, headers='rows', output_obj=output_obj)
def test_generate_table_tabulate_okay(basic_table, capsys): rows, headers = basic_table output_obj = sys.stdout # Any string other than 'texttable' or falsey will take 'tabulate' branch, # because 'tabulate' supports a bunch of options. # table_type = 'tabulate' # default tabulate table type table_type = 'fancy_grid' # specific tabulate table type generate_table(rows, headers, output_obj, table_type=table_type) out, err = capsys.readouterr() assert out and not err
def test_generate_table_named_tuple_fail_tabulate(basic_table, capsys): rows, headers = basic_table tkv = TableKeysValues(headers, rows) with pytest.raises(ValueError): generate_table( rows=tkv, headers='rows', table_type='tabulate', output_obj=sys.stdout, )
def test_generate_table_tabulate_fail_table_type(basic_table, capsys): rows, headers = basic_table output_obj = sys.stdout table_type = 'foo' # unrecognized tabulate table type with pytest.raises(ValueError): generate_table(rows, headers, output_obj, table_type=table_type)
def test_generate_table_basic(basic_table, capsys): rows, headers = basic_table output_obj = sys.stdout generate_table(rows, headers, output_obj) out, err = capsys.readouterr() assert out and not err