diff options
author | Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com> | 2025-05-10 08:59:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-10 07:59:01 +0000 |
commit | 30b1d8f11d5905888f696db14867eb733e7b824c (patch) | |
tree | bfcb0cb4814e1442a742d52ba3e89f544216ec41 /Lib/test/test_sqlite3/test_cli.py | |
parent | 116a9f9b3775c904c98e390d896200e1641498aa (diff) | |
download | cpython-30b1d8f11d5905888f696db14867eb733e7b824c.tar.gz cpython-30b1d8f11d5905888f696db14867eb733e7b824c.zip |
gh-133447: Add basic color to `sqlite3` CLI (#133461)
Diffstat (limited to 'Lib/test/test_sqlite3/test_cli.py')
-rw-r--r-- | Lib/test/test_sqlite3/test_cli.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/Lib/test/test_sqlite3/test_cli.py b/Lib/test/test_sqlite3/test_cli.py index a03d7cbe16b..37e0f74f688 100644 --- a/Lib/test/test_sqlite3/test_cli.py +++ b/Lib/test/test_sqlite3/test_cli.py @@ -8,10 +8,11 @@ from test.support import ( captured_stdout, captured_stderr, captured_stdin, - force_not_colorized, + force_not_colorized_test_class, ) +@force_not_colorized_test_class class CommandLineInterface(unittest.TestCase): def _do_test(self, *args, expect_success=True): @@ -37,7 +38,6 @@ class CommandLineInterface(unittest.TestCase): self.assertEqual(out, "") return err - @force_not_colorized def test_cli_help(self): out = self.expect_success("-h") self.assertIn("usage: ", out) @@ -69,6 +69,7 @@ class CommandLineInterface(unittest.TestCase): self.assertIn("(0,)", out) +@force_not_colorized_test_class class InteractiveSession(unittest.TestCase): MEMORY_DB_MSG = "Connected to a transient in-memory database" PS1 = "sqlite> " @@ -190,6 +191,14 @@ class InteractiveSession(unittest.TestCase): out, _ = self.run_cli(TESTFN, commands=("SELECT count(t) FROM t;",)) self.assertIn("(0,)\n", out) + def test_color(self): + with unittest.mock.patch("_colorize.can_colorize", return_value=True): + out, err = self.run_cli(commands="TEXT\n") + self.assertIn("\x1b[1;35msqlite> \x1b[0m", out) + self.assertIn("\x1b[1;35m ... \x1b[0m\x1b", out) + out, err = self.run_cli(commands=("sel;",)) + self.assertIn('\x1b[1;35mOperationalError (SQLITE_ERROR)\x1b[0m: ' + '\x1b[35mnear "sel": syntax error\x1b[0m', err) if __name__ == "__main__": unittest.main() |