diff options
author | Raphaël Barrois <raphael.barrois@polytechnique.org> | 2012-05-17 16:59:39 +0200 |
---|---|---|
committer | Raphaël Barrois <raphael.barrois@polytechnique.org> | 2012-05-17 16:59:39 +0200 |
commit | 073b97aeec76a10c16e0f5155edb1b0fb212ad7b (patch) | |
tree | d2d27d946cc00062a15518682e23fc74aee3e4ba /tests | |
parent | 138a76c24b946cafe32e97ebc13af816f3582ef2 (diff) | |
download | semantic-version-073b97aeec76a10c16e0f5155edb1b0fb212ad7b.tar.gz |
Introduce the SpecListField.
Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/django_test_app/models.py | 3 | ||||
-rw-r--r-- | tests/test_django.py | 31 |
2 files changed, 25 insertions, 9 deletions
diff --git a/tests/django_test_app/models.py b/tests/django_test_app/models.py index 53ed874..df654e2 100644 --- a/tests/django_test_app/models.py +++ b/tests/django_test_app/models.py @@ -8,9 +8,12 @@ from semantic_version import django_fields as semver_fields class VersionModel(models.Model): version = semver_fields.VersionField(verbose_name='my version') spec = semver_fields.SpecField(verbose_name='my spec') + speclist = semver_fields.SpecListField(verbose_name='my spec list') class PartialVersionModel(models.Model): partial = semver_fields.VersionField(partial=True, verbose_name='partial version') optional = semver_fields.VersionField(verbose_name='optional version', blank=True, null=True) optional_spec = semver_fields.SpecField(verbose_name='optional spec', blank=True, null=True) + optional_speclist = semver_fields.SpecListField(verbose_name='optional spec list', + blank=True, null=True) diff --git a/tests/test_django.py b/tests/test_django.py index 86e4b60..79cd1c0 100644 --- a/tests/test_django.py +++ b/tests/test_django.py @@ -35,21 +35,28 @@ if django_loaded: # pragma: no cover @unittest.skipIf(not django_loaded, "Django not installed") class DjangoFieldTestCase(unittest.TestCase): def test_version(self): - obj = models.VersionModel(version='0.1.1', spec='>0.1.0') + obj = models.VersionModel(version='0.1.1', spec='>0.1.0', speclist='~=0.1,!~0.1.1') self.assertEqual(semantic_version.Version('0.1.1'), obj.version) self.assertEqual(semantic_version.Spec('>0.1.0'), obj.spec) + self.assertEqual(semantic_version.SpecList('~=0.1,!~0.1.1'), obj.speclist) - alt_obj = models.VersionModel(version=obj.version, spec=obj.spec) + alt_obj = models.VersionModel(version=obj.version, spec=obj.spec, speclist=obj.speclist) self.assertEqual(semantic_version.Version('0.1.1'), alt_obj.version) self.assertEqual(semantic_version.Spec('>0.1.0'), alt_obj.spec) + self.assertEqual(semantic_version.SpecList('~=0.1,!~0.1.1'), alt_obj.speclist) self.assertEqual(obj.spec, alt_obj.spec) self.assertEqual(obj.version, alt_obj.version) + self.assertEqual(obj.speclist, alt_obj.speclist) def test_invalid_input(self): - self.assertRaises(ValueError, models.VersionModel, version='0.1.1', spec='blah') - self.assertRaises(ValueError, models.VersionModel, version='0.1', spec='>0.1.1') + self.assertRaises(ValueError, models.VersionModel, + version='0.1.1', spec='blah', speclist='~=0.1,!~0.1.1') + self.assertRaises(ValueError, models.VersionModel, + version='0.1', spec='>0.1.1', speclist='~=0.1,!~0.1.1') + self.assertRaises(ValueError, models.VersionModel, + version='0.1.1', spec='>0.1.1', speclist='~=0,!=0.2') def test_partial(self): obj = models.PartialVersionModel(partial='0.1') @@ -57,17 +64,21 @@ class DjangoFieldTestCase(unittest.TestCase): self.assertEqual(semantic_version.Version('0.1', partial=True), obj.partial) self.assertIsNone(obj.optional) self.assertIsNone(obj.optional_spec) + self.assertIsNone(obj.optional_speclist) alt_obj = models.PartialVersionModel(partial=obj.partial, optional=obj.optional, - optional_spec=obj.optional_spec) + optional_spec=obj.optional_spec, optional_speclist=obj.optional_speclist) self.assertEqual(semantic_version.Version('0.1', partial=True), alt_obj.partial) self.assertEqual(obj.partial, alt_obj.partial) self.assertIsNone(obj.optional) self.assertIsNone(obj.optional_spec) + self.assertIsNone(obj.optional_speclist) def test_serialization(self): - o1 = models.VersionModel(version='0.1.1', spec='<0.2.4-rc42') - o2 = models.VersionModel(version='0.4.3-rc3+build3', spec='~=0.4') + o1 = models.VersionModel(version='0.1.1', spec='<0.2.4-rc42', + speclist='~=0.1,!=0.1.1') + o2 = models.VersionModel(version='0.4.3-rc3+build3', spec='~=0.4', + speclist='<=0.1.1-rc2,!~0.1.1-rc1') data = serializers.serialize('json', [o1, o2]) @@ -76,8 +87,10 @@ class DjangoFieldTestCase(unittest.TestCase): self.assertEqual(o2, obj2.object) def test_serialization_partial(self): - o1 = models.PartialVersionModel(partial='0.1.1', optional='0.2.4-rc42', optional_spec=None) - o2 = models.PartialVersionModel(partial='0.4.3-rc3+build3', optional='', optional_spec='~=1.1') + o1 = models.PartialVersionModel(partial='0.1.1', optional='0.2.4-rc42', + optional_spec=None, optional_speclist=None) + o2 = models.PartialVersionModel(partial='0.4.3-rc3+build3', optional='', + optional_spec='~=1.1', optional_speclist='~=0.1,!=0.1.1') data = serializers.serialize('json', [o1, o2]) |