def test_cmd_default(default_command): cmd = create_cmd() if default_command is not None: cmd.default = default_command add_comm(cmd) add_comm2(cmd) add_comm3(cmd) cmd.queue("comm") cmd.queue("comm2") cmd.queue("") cmd.queue("quit") cmd.run() expected_lines = [ COMM_TEXT, COMM_TEXT2, ] if default_command is IGNORE or default_command is None: pass elif default_command is REPEAT_LAST: expected_lines.append(COMM_TEXT2) elif default_command == "comm3": expected_lines.append(COMM_TEXT3) expected_lines.append("") expected_text = '\n'.join(expected_lines) #print(cmd.stdout.getvalue()) #print(repr(cmd.stdout.getvalue())) #print() #print(repr(expected_text)) assert cmd.stdout.getvalue() == expected_text
def cmdhis(): cmd = create_cmd() add_comm(cmd) add_comm2(cmd) add_comm3(cmd) add_history(cmd) return cmd
def test_ignore(): cmd = create_cmd() add_comm(cmd) add_comm2(cmd) add_quit(cmd) cmd.exec_command_line("comm") assert cmd.stdout.getvalue() == COMM_TEXT + '\n' assert not IGNORE(cmd) cmd.queue("quit") cmd.run() assert cmd.stdout.getvalue() == COMM_TEXT + '\n'
def test_repeat_last(): cmd = create_cmd() add_comm(cmd) add_comm2(cmd) add_quit(cmd) cmd.exec_command_line("comm") assert cmd.stdout.getvalue() == COMM_TEXT + '\n' assert not REPEAT_LAST(cmd) cmd.queue("quit") cmd.run() assert cmd.stdout.getvalue() == COMM_TEXT + '\n' + COMM_TEXT + '\n'
def test_load(tmpdir): cmd = create_cmd() add_comm(cmd) add_comm2(cmd) add_comm3(cmd) add_quit(cmd) fname = os.path.join(tmpdir.strpath, "load.txt") with open(fname, "w") as f_out: f_out.write("comm\n") f_out.write("comm3\n") f_out.write("comm2\n") f_out.write("quit\n") assert not LOAD(cmd, fname) cmd.run() expected_lines = [ COMM_TEXT, COMM_TEXT3, COMM_TEXT2, '', ] assert cmd.stdout.getvalue() == '\n'.join(expected_lines)