diff options
author | Corvin <corvin@corvin.dev> | 2023-08-30 05:06:21 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-30 09:06:21 +0000 |
commit | 400a1cebc743515e40157ed7af86e48d654290ce (patch) | |
tree | e4f5f2e61c3cff4743684fd60908db34880ca10a /Lib/test/test_sqlite3/test_dump.py | |
parent | 210a5d7b8b2f5cdaf3740e8b9b468ed5ddf24591 (diff) | |
download | cpython-400a1cebc743515e40157ed7af86e48d654290ce.tar.gz cpython-400a1cebc743515e40157ed7af86e48d654290ce.zip |
gh-108590: Fix sqlite3.iterdump for invalid Unicode in TEXT columns (#108657)
Co-authored-by: Erlend E. Aasland <erlend@python.org>
Diffstat (limited to 'Lib/test/test_sqlite3/test_dump.py')
-rw-r--r-- | Lib/test/test_sqlite3/test_dump.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Lib/test/test_sqlite3/test_dump.py b/Lib/test/test_sqlite3/test_dump.py index 3107e1b165d..0279ce68eeb 100644 --- a/Lib/test/test_sqlite3/test_dump.py +++ b/Lib/test/test_sqlite3/test_dump.py @@ -133,6 +133,21 @@ class DumpTests(MemoryDatabaseMixin, unittest.TestCase): actual = list(self.cx.iterdump()) self.assertEqual(expected, actual) + def test_dump_unicode_invalid(self): + # gh-108590 + expected = [ + "BEGIN TRANSACTION;", + "CREATE TABLE foo (data TEXT);", + "INSERT INTO \"foo\" VALUES('a\x9f');", + "COMMIT;", + ] + self.cu.executescript(""" + CREATE TABLE foo (data TEXT); + INSERT INTO foo VALUES (CAST(X'619f' AS TEXT)); + """) + actual = list(self.cx.iterdump()) + self.assertEqual(expected, actual) + if __name__ == "__main__": unittest.main() |