summaryrefslogtreecommitdiff
path: root/tests/model_validation
diff options
context:
space:
mode:
authorDonald Stufft <donald@stufft.io>2013-05-18 11:31:16 -0400
committerDonald Stufft <donald@stufft.io>2013-05-18 11:31:16 -0400
commit398841d6d3fce45b21bdfcd8385889098079f84a (patch)
tree570b586cdb0de1871a28ccd429b7b5a765e7df23 /tests/model_validation
parent78de9b19027d3aee268797ad8899ac7283024c0c (diff)
parenta19e9d80ffa10f8da43addcaa4ddd440beee8a4d (diff)
Merge branch 'allow-any-iterable-for-choices'
Diffstat (limited to 'tests/model_validation')
-rw-r--r--tests/model_validation/__init__.py0
-rw-r--r--tests/model_validation/models.py27
-rw-r--r--tests/model_validation/tests.py14
3 files changed, 41 insertions, 0 deletions
diff --git a/tests/model_validation/__init__.py b/tests/model_validation/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/tests/model_validation/__init__.py
diff --git a/tests/model_validation/models.py b/tests/model_validation/models.py
new file mode 100644
index 0000000000..9a2a5f7cd0
--- /dev/null
+++ b/tests/model_validation/models.py
@@ -0,0 +1,27 @@
+from django.db import models
+
+
+class ThingItem(object):
+
+ def __init__(self, value, display):
+ self.value = value
+ self.display = display
+
+ def __iter__(self):
+ return (x for x in [self.value, self.display])
+
+ def __len__(self):
+ return 2
+
+
+class Things(object):
+
+ def __iter__(self):
+ return (x for x in [ThingItem(1, 2), ThingItem(3, 4)])
+
+
+class ThingWithIterableChoices(models.Model):
+
+ # Testing choices= Iterable of Iterables
+ # See: https://code.djangoproject.com/ticket/20430
+ thing = models.CharField(max_length=100, blank=True, choices=Things())
diff --git a/tests/model_validation/tests.py b/tests/model_validation/tests.py
new file mode 100644
index 0000000000..96baf640eb
--- /dev/null
+++ b/tests/model_validation/tests.py
@@ -0,0 +1,14 @@
+import io
+
+from django.core import management
+from django.test import TestCase
+
+
+class ModelValidationTest(TestCase):
+
+ def test_models_validate(self):
+ # All our models should validate properly
+ # Validation Tests:
+ # * choices= Iterable of Iterables
+ # See: https://code.djangoproject.com/ticket/20430
+ management.call_command("validate", stdout=io.BytesIO())