mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
gh-133447: Add basic color to sqlite3
CLI (#133461)
This commit is contained in:
parent
116a9f9b37
commit
30b1d8f11d
3 changed files with 36 additions and 13 deletions
|
@ -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()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue