"""Test Version class"""
|
|
import unittest
|
|
|
|
from pkgupdates.version import parse_version, SemanticVersion, DateVersion
|
|
|
|
|
|
class VersionTest(unittest.TestCase):
|
|
"""Version Class tests"""
|
|
|
|
def test_semantic_version(self):
|
|
"""Test semantic version"""
|
|
version = parse_version("1.2.3")
|
|
self.assertIsInstance(version, SemanticVersion)
|
|
self.assertEqual(version.major, 1)
|
|
|
|
def test_version_with_v_prefix(self):
|
|
"""Test versions with a v like v1.2.3"""
|
|
version = parse_version("v1.2.3")
|
|
self.assertIsInstance(version, SemanticVersion)
|
|
self.assertEqual(version.major, 1)
|
|
|
|
def test_short_semantic_version(self):
|
|
"""Test semantic version"""
|
|
version = parse_version("1.2")
|
|
self.assertIsInstance(version, SemanticVersion)
|
|
|
|
def test_date_version(self):
|
|
"""Test date based version"""
|
|
version = parse_version("20000102")
|
|
self.assertIsInstance(version, DateVersion)
|
|
|
|
def test_revisions(self):
|
|
"""Test ebuild revision versions"""
|
|
version = parse_version("1.2.3-r4")
|
|
self.assertEqual(version.revision, 4)
|
|
self.assertIsInstance(version, SemanticVersion)
|
|
|
|
version_wo = parse_version("1.2.3")
|
|
self.assertIsNone(version_wo.revision)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|