diff options
Diffstat (limited to 'js/src/tests/lib/terminal_unix.py')
-rw-r--r-- | js/src/tests/lib/terminal_unix.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/js/src/tests/lib/terminal_unix.py b/js/src/tests/lib/terminal_unix.py new file mode 100644 index 0000000000..cdf7995776 --- /dev/null +++ b/js/src/tests/lib/terminal_unix.py @@ -0,0 +1,33 @@ +import sys + + +class Terminal(object): + COLOR = {"red": "31", "green": "32", "blue": "34", "gray": "37"} + NORMAL_INTENSITY = "1" + BRIGHT_INTENSITY = "2" + ESCAPE = "\x1b[" + RESET = "0" + SEPARATOR = ";" + COLOR_CODE = "m" + CLEAR_RIGHT_CODE = "K" + + @classmethod + def set_color(cls, color): + """ + color: str - color definition string + """ + mod = Terminal.NORMAL_INTENSITY + if color.startswith("bright"): + mod = Terminal.BRIGHT_INTENSITY + color = color[len("bright") :] + color_code = Terminal.COLOR[color] + + sys.stdout.write(cls.ESCAPE + color_code + cls.SEPARATOR + mod + cls.COLOR_CODE) + + @classmethod + def reset_color(cls): + sys.stdout.write(cls.ESCAPE + cls.RESET + cls.COLOR_CODE) + + @classmethod + def clear_right(cls): + sys.stdout.write(cls.ESCAPE + cls.CLEAR_RIGHT_CODE) |