diff --git a/readthedocs/builds/version_slug.py b/readthedocs/builds/version_slug.py index 871edf5b826..0335855fc3e 100644 --- a/readthedocs/builds/version_slug.py +++ b/readthedocs/builds/version_slug.py @@ -30,7 +30,7 @@ # +? -- allow multiple of those, but be not greedy about the matching # (?: ... ) -- wrap everything so that the pattern cannot escape when used in # regexes. -VERSION_SLUG_REGEX = '(?:[a-z0-9][-._a-z0-9]+?)' +VERSION_SLUG_REGEX = '(?:[a-z0-9][-._a-z0-9]*)' class VersionSlugField(models.CharField): diff --git a/readthedocs/rtd_tests/tests/test_version_slug.py b/readthedocs/rtd_tests/tests/test_version_slug.py index 7ed1d212f31..3fa5eba2c70 100644 --- a/readthedocs/rtd_tests/tests/test_version_slug.py +++ b/readthedocs/rtd_tests/tests/test_version_slug.py @@ -52,6 +52,12 @@ def test_multiple_empty_names(self): project=self.pip) self.assertEqual(version.slug, 'unknown_a') + def test_single_letter(self): + version = Version.objects.create( + verbose_name='v', + project=self.pip) + self.assertEqual(version.slug, 'v') + def test_uniqueness(self): version = Version.objects.create( verbose_name='1!0',