| 250 | self.db.drop(table) |
| 251 | |
| 252 | def test_escape(self): |
| 253 | # Assert str, unicode, int, long, float, bool and None field values. |
| 254 | for v, s in ( |
| 255 | ( "a", "'a'"), |
| 256 | ( u"a", "'a'"), |
| 257 | ( 1, "1"), |
| 258 | ( 1L, "1"), |
| 259 | ( 1.0, "1.0"), |
| 260 | ( True, "1"), |
| 261 | (False, "0"), |
| 262 | ( None, "null")): |
| 263 | self.assertEqual(db._escape(v), s) |
| 264 | # Assert date. |
| 265 | v = db.date("1707-04-15") |
| 266 | self.assertEqual(db._escape(v), "'1707-04-15 00:00:00'") |
| 267 | # Assert current date. |
| 268 | v = "current_timestamp" |
| 269 | self.assertEqual(db._escape(v), "current_timestamp") |
| 270 | # Assert subquery. |
| 271 | v = self.db.create("dummy", fields=[db.pk()]) |
| 272 | v = v.query() |
| 273 | self.assertEqual(db._escape(v), "(select dummy.* from `dummy`)") |
| 274 | # Assert MySQL and SQLite quotes. |
| 275 | if self.db.type == db.MYSQL: |
| 276 | self.assertEqual(self.db.escape("'"), "'\\''") |
| 277 | if self.db.type == db.SQLITE: |
| 278 | self.assertEqual(self.db.escape("'"), "''''") |
| 279 | print "pattern.db._escape()" |
| 280 | |
| 281 | def test_database(self): |
| 282 | # Assert Database properties. |