summaryrefslogtreecommitdiff
path: root/tests/postgres_tests/test_json.py
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2016-09-21 22:06:09 -0400
committerSimon Charette <charette.s@gmail.com>2016-09-22 22:19:37 -0400
commitcecef94275118dc49a1b0d89d3ca9734e2ec9776 (patch)
tree0767eb16e3ce83c266ea1362683f61a4c12d240d /tests/postgres_tests/test_json.py
parent658f1e81a7ea29acf30bbf8f61ffec2beff24639 (diff)
Fixed #27257 -- Fixed builtin text lookups on JSONField keys.
Thanks Nick Stefan for the report and Tim for the review.
Diffstat (limited to 'tests/postgres_tests/test_json.py')
-rw-r--r--tests/postgres_tests/test_json.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/postgres_tests/test_json.py b/tests/postgres_tests/test_json.py
index f306284b7f..78dded31a9 100644
--- a/tests/postgres_tests/test_json.py
+++ b/tests/postgres_tests/test_json.py
@@ -124,6 +124,7 @@ class TestQuerying(PostgreSQLTestCase):
'k': True,
'l': False,
}),
+ JSONModel.objects.create(field={'foo': 'bar'}),
]
def test_exact(self):
@@ -237,6 +238,27 @@ class TestQuerying(PostgreSQLTestCase):
self.objs[7:9]
)
+ def test_icontains(self):
+ self.assertFalse(JSONModel.objects.filter(field__foo__icontains='"bar"').exists())
+
+ def test_startswith(self):
+ self.assertTrue(JSONModel.objects.filter(field__foo__startswith='b').exists())
+
+ def test_istartswith(self):
+ self.assertTrue(JSONModel.objects.filter(field__foo__istartswith='B').exists())
+
+ def test_endswith(self):
+ self.assertTrue(JSONModel.objects.filter(field__foo__endswith='r').exists())
+
+ def test_iendswith(self):
+ self.assertTrue(JSONModel.objects.filter(field__foo__iendswith='R').exists())
+
+ def test_regex(self):
+ self.assertTrue(JSONModel.objects.filter(field__foo__regex=r'^bar$').exists())
+
+ def test_iregex(self):
+ self.assertTrue(JSONModel.objects.filter(field__foo__iregex=r'^bAr$').exists())
+
@skipUnlessDBFeature('has_jsonb_datatype')
class TestSerialization(PostgreSQLTestCase):