Skip to content

Commit 5b5e92a

Browse files
author
Kareem Zidane
committed
added unit tests
1 parent b9187ba commit 5b5e92a

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

tests/sql.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,24 @@ def test_update_returns_affected_rows(self):
7575
self.assertEqual(self.db.execute("UPDATE cs50 SET val = 'foo' WHERE id > 1"), 2)
7676
self.assertEqual(self.db.execute("UPDATE cs50 SET val = 'foo' WHERE id = -50"), 0)
7777

78+
def test_string_literal_with_colon(self):
79+
rows = [
80+
{"id": 1, "val": ":foo"},
81+
{"id": 2, "val": "foo:bar"},
82+
{"id": 3, "val": " :baz"},
83+
{"id": 3, "val": ":bar :baz"},
84+
{"id": 3, "val": " :bar :baz"}
85+
]
86+
for row in rows:
87+
self.db.execute("INSERT INTO cs50(val) VALUES(:val)", val=row["val"])
88+
89+
self.assertEqual(self.db.execute("SELECT val FROM cs50 WHERE val = ':foo'"), [{"val": ":foo"}])
90+
self.assertEqual(self.db.execute("SELECT val FROM cs50 WHERE val = ':bar'"), [])
91+
self.assertEqual(self.db.execute("SELECT val FROM cs50 WHERE val = 'foo:bar'"), [{"val": "foo:bar"}])
92+
self.assertEqual(self.db.execute("SELECT val FROM cs50 WHERE val = ' :baz'"), [{"val": " :baz"}])
93+
self.assertEqual(self.db.execute("SELECT val FROM cs50 WHERE val = ':bar :baz'"), [{"val": ":bar :baz"}])
94+
self.assertEqual(self.db.execute("SELECT val FROM cs50 WHERE val = ' :bar :baz'"), [{"val": " :bar :baz"}])
95+
7896
def tearDown(self):
7997
self.db.execute("DROP TABLE cs50")
8098

0 commit comments

Comments
 (0)