Skip to content

Commit cbc19df

Browse files
Minor adjustments
1 parent 18398ab commit cbc19df

2 files changed

Lines changed: 9 additions & 24 deletions

File tree

‎Lib/sqlite3/__main__.py‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,11 @@
1515
from ._completer import completer
1616

1717

18-
EOF_KEY = "CTRL-Z" if sys.platform == "win32" else "CTRL-D"
18+
# IDLE uses CTRL-D for EOF on all platforms (gh-102628).
19+
if sys.platform == "win32" and "idlelib.run" not in sys.modules:
20+
EOF_KEY = "CTRL-Z"
21+
else:
22+
EOF_KEY = "CTRL-D"
1923

2024

2125
def execute(c, sql, suppress_errors=True, theme=theme_no_color):

‎Lib/test/test_sqlite3/test_cli.py‎

Lines changed: 4 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ class InteractiveSession(unittest.TestCase):
8282
MEMORY_DB_MSG = "Connected to a transient in-memory database"
8383
PS1 = "sqlite> "
8484
PS2 = "... "
85+
EOF_KEY = "CTRL-Z" if sys.platform == "win32" else "CTRL-D"
8586

8687
def run_cli(self, *args, commands=()):
8788
with (
@@ -104,35 +105,15 @@ def run_cli(self, *args, commands=()):
104105
def test_interact(self):
105106
out, err = self.run_cli()
106107
self.assertIn(self.MEMORY_DB_MSG, err)
107-
self.assertIn(self.MEMORY_DB_MSG, err)
108+
self.assertIn(f'type ".quit" or {self.EOF_KEY} to quit', err)
108109
self.assertEndsWith(out, self.PS1)
109110
self.assertEqual(out.count(self.PS1), 1)
110111
self.assertEqual(out.count(self.PS2), 0)
111112

112-
@unittest.skipUnless(sys.platform == "win32", "Windows EOF is CTRL-Z")
113-
def test_interact_banner_win(self):
114-
_, err = self.run_cli()
115-
self.assertIn('type ".quit" or CTRL-Z to quit', err)
116-
117-
@unittest.skipUnless(sys.platform != "win32", "Non-Windows EOF is CTRL-D")
118-
def test_interact_banner_non_win(self):
119-
_, err = self.run_cli()
120-
self.assertIn('type ".quit" or CTRL-D to quit', err)
121-
122-
@unittest.skipUnless(sys.platform == "win32", "Windows EOF is CTRL-Z")
123-
def test_interact_help_eof_win(self):
124-
out, err = self.run_cli(commands=(".help",))
125-
self.assertIn(self.MEMORY_DB_MSG, err)
126-
self.assertIn("Exit the CLI, equivalent to CTRL-Z", out)
127-
self.assertEndsWith(out, self.PS1)
128-
self.assertEqual(out.count(self.PS1), 2)
129-
self.assertEqual(out.count(self.PS2), 0)
130-
131-
@unittest.skipUnless(sys.platform != "win32", "Non-Windows EOF is CTRL-D")
132-
def test_interact_help_eof_non_win(self):
113+
def test_interact_help(self):
133114
out, err = self.run_cli(commands=(".help",))
134115
self.assertIn(self.MEMORY_DB_MSG, err)
135-
self.assertIn("Exit the CLI, equivalent to CTRL-D", out)
116+
self.assertIn(f"Exit the CLI, equivalent to {self.EOF_KEY}", out)
136117
self.assertEndsWith(out, self.PS1)
137118
self.assertEqual(out.count(self.PS1), 2)
138119
self.assertEqual(out.count(self.PS2), 0)

0 commit comments

Comments
 (0)