Exemplo n.º 1
0
    def __init__(self, command_str, quiet=False):
        self.command_tokens = CommandStrategy.tokenize(command_str)

        redirection_tuple = \
                CommandStrategy.find_redirection_file_path(self.command_tokens)
        if redirection_tuple is not None:
            self.remove_redirection_tokens()
            (redirection_type, redirection_filepath) = redirection_tuple
            self.print_wrapper = TerminalWriter(redirection_type,
                                                redirection_filepath)
        elif quiet:
            self.print_wrapper = \
                TerminalWriter(redirection_type=RedirectionType.quiet)
        else:
            self.print_wrapper = TerminalWriter(None)

        self._is_regex_global = None
Exemplo n.º 2
0
    def test(self):
        obj = TerminalWriter()
        assert obj.redirection_file_path is None
        assert obj.buffered_text is None
        assert obj._file_mode == 'a+'

        obj = TerminalWriter(RedirectionType.append)
        assert obj.redirection_file_path is None
        assert obj.buffered_text is None
        assert obj._file_mode == 'a+'

        obj = TerminalWriter(RedirectionType.truncate)
        assert obj.redirection_file_path is None
        assert obj.buffered_text is None
        assert obj._file_mode == 'w+'

        obj = TerminalWriter(RedirectionType.quiet)
        assert obj.redirection_file_path is None
        assert obj.buffered_text is None
        assert obj._file_mode == 'quiet'

        obj = TerminalWriter(None)
        assert obj.redirection_file_path is None
        assert obj.buffered_text is None
        assert obj._file_mode is None

        obj = TerminalWriter(redirection_file_path="test")
        assert obj.redirection_file_path == "test"
        assert obj.buffered_text is None
        assert obj._file_mode == 'a+'
Exemplo n.º 3
0
    def test(self):
        obj = TerminalWriter()
        assert obj.get_redirection() == (RedirectionType.append, None)

        obj = TerminalWriter(RedirectionType.append)
        assert obj.get_redirection() == (RedirectionType.append, None)

        obj = TerminalWriter(RedirectionType.truncate)
        assert obj.get_redirection() == (RedirectionType.truncate, None)

        obj = TerminalWriter(RedirectionType.quiet)
        assert obj.get_redirection() == (RedirectionType.quiet, None)

        obj = TerminalWriter(None)
        assert obj.get_redirection() is None

        obj = TerminalWriter(redirection_file_path="test")
        assert obj.get_redirection() == (RedirectionType.append, "test")
Exemplo n.º 4
0
 def test_print(self, capsys):
     obj = TerminalWriter(None)
     obj.error_log("this is a test")
     captured = capsys.readouterr()
     assert captured.out == "[ERROR]\tthis is a test\n"
     assert obj.buffered_text is None
Exemplo n.º 5
0
 def test_not_quiet(self):
     obj = TerminalWriter(RedirectionType.append)
     obj.write("something")
     assert obj.buffered_text == "something"
     obj.write("other line")
     assert obj.buffered_text == "something\nother line"
Exemplo n.º 6
0
 def test_quiet(self):
     obj = TerminalWriter(RedirectionType.quiet)
     obj.write("something")
     assert obj.buffered_text is None
Exemplo n.º 7
0
 def test_incorrect_state(self):
     obj = TerminalWriter()
     obj._file_mode = "incorrect"
     assert obj.get_redirection() is None
Exemplo n.º 8
0
 def test(self):
     obj = TerminalWriter(redirection_file_path="test")
     obj.reset()
     assert obj.redirection_file_path is None
     assert obj.buffered_text is None
Exemplo n.º 9
0
 def test_not_quiet(self):
     obj = TerminalWriter(RedirectionType.append)
     obj.error_log("something")
     assert obj.buffered_text == "[ERROR]\tsomething"
     obj.error_log("other line")
     assert obj.buffered_text == "[ERROR]\tsomething\n[ERROR]\tother line"