diff --git a/tests/src/python/test_versioncompare.py b/tests/src/python/test_versioncompare.py index 8fedf1378af..40357b33cfb 100644 --- a/tests/src/python/test_versioncompare.py +++ b/tests/src/python/test_versioncompare.py @@ -53,16 +53,62 @@ class TestVersionCompare(QgisTestCase): b = "1.0.0-2" self.assertEqual(compareVersions(a, b), 2) - # test versions with suffixes - a = "1.0.0a" - b = "1.0.0b" + # test versions with long pre-release suffixes + a = "1.0.0alpha" + b = "1.0.0beta" self.assertEqual(compareVersions(a, b), 2) + # test versions with PEP440 suffixes + a = "1.0.0a2" + b = "1.0.0b1" + self.assertEqual(compareVersions(a, b), 2) + + # test versions with post suffixes + a = "1.0" + b = "1.0post1" + self.assertEqual(compareVersions(a, b), 2) + + # test versions with different lengths + a = "1.0" + b = "1.0.1" + self.assertEqual(compareVersions(a, b), 2) + a = "2.0" + self.assertEqual(compareVersions(a, b), 1) + # test versions with suffixes in different cases a = "1.0.0-201609011405-2690BD9" b = "1.0.0-201609011405-2690bd9" self.assertEqual(compareVersions(a, b), 0) + # test versions with different lengths + a = "1.0a1" + b = "1.0.1post2" + self.assertEqual(compareVersions(a, b), 2) + a = "2.0.1" + self.assertEqual(compareVersions(a, b), 1) + + # test shorthand alphas + a = "1.0a1" + b = "1.0alpha1" + self.assertEqual(compareVersions(a, b), 0) + b = "1.0.alpha1" + self.assertEqual(compareVersions(a, b), 0) + b = "1.0.alpha.1" + self.assertEqual(compareVersions(a, b), 0) + + # test partial versions + a = "1" + b = "1.0" + self.assertEqual(compareVersions(a, b), 0) + b = "1.0.0" + self.assertEqual(compareVersions(a, b), 0) + b = "1.0.0post1" + self.assertEqual(compareVersions(a, b), 2) + + a = "1.0a1" + b = "1.0.0alpha1" + self.assertEqual(compareVersions(a, b), 0) + if __name__ == "__main__": unittest.main()