예제 #1
0
 def test_pre_release_ids(self):
     self.assertEqual(Version(1, 2, 3, "alpha.3"), Version.parse_from("1.2.3-alpha.3"))
     self.assertEqual(Version(1, 2, 3, "alpha.3-special"), Version.parse_from("1.2.3-alpha.3-special"))
     self.assertEqual(Version(1, 2, 3, "alpha.3-more-special"), Version.parse_from("1.2.3-alpha.3-more-special"))
     self.assertEqual(Version(1, 2, 3, "alpha.3", None, 0, True), Version.parse_from("v1.2.3-alpha.3-dirty"))
     self.assertEqual(Version(1, 2, 3, "alpha.3", "296cf8b", 12, True),
                       Version.parse_from("v1.2.3-alpha.3-12-g296cf8b-dirty"))
예제 #2
0
 def test_as_preprocessor_macros(self):
     v = Version(4, 6, 1, "alpha.3-special", "296cf8b", 12, True)
     self.assertEqual(('#define SOME_MAJOR 4\n'
                       '#define SOME_MINOR 6\n'
                       '#define SOME_PATCH 1\n'
                       '#define SOME_SEM_VER \"{}\"'
                       ).format(v.semantic_version('dev')), version_as_preprocessor_macros(v, 'SOME_', 'dev'))
예제 #3
0
 def test_equality(self):
     expected = Version(1, 2, 3, "alpha.3", "213", 4, False)
     expected_copy = Version(1, 2, 3, "alpha.3", "213", 4, False)
     expected_modified = Version(1, 2, 3, "alpha.3", "213", 4, True)
     self.assertEqual(expected, expected)
     self.assertEqual(expected, expected_copy)
     self.assertNotEqual(expected, expected_modified)
예제 #4
0
 def test_as_preprocessor_macros(self):
     v = Version(4, 6, 1, "alpha.3-special", "296cf8b", 12, True)
     self.assertEqual(
         ('#define SOME_MAJOR 4\n'
          '#define SOME_MINOR 6\n'
          '#define SOME_PATCH 1\n'
          '#define SOME_SEM_VER \"{}\"').format(v.semantic_version('dev')),
         version_as_preprocessor_macros(v, 'SOME_', 'dev'))
예제 #5
0
 def test_pre_release_ids(self):
     self.assertEqual(Version(1, 2, 3, "alpha.3"),
                      Version.parse_from("1.2.3-alpha.3"))
     self.assertEqual(Version(1, 2, 3, "alpha.3-special"),
                      Version.parse_from("1.2.3-alpha.3-special"))
     self.assertEqual(Version(1, 2, 3, "alpha.3-more-special"),
                      Version.parse_from("1.2.3-alpha.3-more-special"))
     self.assertEqual(Version(1, 2, 3, "alpha.3", None, 0, True),
                      Version.parse_from("v1.2.3-alpha.3-dirty"))
     self.assertEqual(
         Version(1, 2, 3, "alpha.3", "296cf8b", 12, True),
         Version.parse_from("v1.2.3-alpha.3-12-g296cf8b-dirty"))
예제 #6
0
 def test_tag_only_no_patch_dirty(self):
     self.assertEqual(Version(1, 2, 0, is_dirty=True),
                      Version.parse_from("v1.2-dirty"))
     self.assertEqual(Version(1, 2, 0, is_dirty=True),
                      Version.parse_from("1.2-dirty"))
예제 #7
0
 def test_tag_only_no_patch(self):
     self.assertEqual(Version(1, 2, 0), Version.parse_from("v1.2"))
     self.assertEqual(Version(1, 2, 0), Version.parse_from("1.2"))
예제 #8
0
 def test_tag_only_dirty(self):
     self.assertEqual(Version(1, 2, 3, is_dirty=True),
                      Version.parse_from("v1.2.3-dirty"))
     self.assertEqual(Version(1, 2, 3, is_dirty=True),
                      Version.parse_from("1.2.3-dirty"))
예제 #9
0
 def test_tag_only(self):
     self.assertEqual(Version(1, 2, 3), Version.parse_from("v1.2.3"))
     self.assertEqual(Version(1, 2, 3), Version.parse_from("1.2.3"))
예제 #10
0
 def test_EmptyString_raises(self):
     self.assertRaises(ValueError, lambda: Version.parse_from(''))
예제 #11
0
 def test_tag_only_dirty(self):
     self.assertEqual(Version(1, 2, 3, is_dirty=True), Version.parse_from("v1.2.3-dirty"))
     self.assertEqual(Version(1, 2, 3, is_dirty=True), Version.parse_from("1.2.3-dirty"))
예제 #12
0
 def test_hash_only(self):
     self.assertEqual(Version(0, 0, commit_hash="abcdefg"), Version.parse_from("abcdefg"))
예제 #13
0
 def test_consists_of_major_minor_patch(self):
     self.assertEqual("1.2.0", Version(1, 2).semantic_version())
     self.assertEqual("1.2.3", Version(1, 2, 3).semantic_version())
예제 #14
0
 def test_commits_since(self):
     self.assertEqual(Version(1, 2, 0, None, "296cf8b", 12, False), Version.parse_from("v1.2.0-12-g296cf8b"))
     self.assertEqual(Version(1, 2, 0, None, "296cf8b", 12, True), Version.parse_from("v1.2.0-12-g296cf8b-dirty"))
예제 #15
0
 def test_hash_only_dirty(self):
     self.assertEqual(Version(0, 0, commit_hash="abcdefg", is_dirty=True), Version.parse_from("abcdefg-dirty"))
예제 #16
0
 def test_invalid_tag(self):
     self.assertRaises(ValueError, lambda: Version.parse_from("v1.2.3.1.1.1.1"))
예제 #17
0
 def test_tag_only_no_patch_dirty(self):
     self.assertEqual(Version(1, 2, 0, is_dirty=True), Version.parse_from("v1.2-dirty"))
     self.assertEqual(Version(1, 2, 0, is_dirty=True), Version.parse_from("1.2-dirty"))
예제 #18
0
 def test_tag_only_no_patch(self):
     self.assertEqual(Version(1, 2, 0), Version.parse_from("v1.2"))
     self.assertEqual(Version(1, 2, 0), Version.parse_from("1.2"))
예제 #19
0
 def test_invalid_tag(self):
     self.assertRaises(ValueError,
                       lambda: Version.parse_from("v1.2.3.1.1.1.1"))
예제 #20
0
 def test_metadata_dirty(self):
     self.assertEqual("1.2.0+dirty",
                      Version(1, 2, is_dirty=True).semantic_version())
예제 #21
0
 def test_commits_since(self):
     self.assertEqual(Version(1, 2, 0, None, "296cf8b", 12, False),
                      Version.parse_from("v1.2.0-12-g296cf8b"))
     self.assertEqual(Version(1, 2, 0, None, "296cf8b", 12, True),
                      Version.parse_from("v1.2.0-12-g296cf8b-dirty"))
예제 #22
0
 def test_metadata_multiple(self):
     self.assertEqual(
         "1.2.3-alpha.3-special+12.296cf8b.dirty",
         Version(1, 2, 3, "alpha.3-special", "296cf8b", 12,
                 True).semantic_version())
예제 #23
0
 def test_None_raises(self):
     self.assertRaises(ValueError, lambda: Version.parse_from(None))
예제 #24
0
 def test_tag_only(self):
     self.assertEqual(Version(1, 2, 3), Version.parse_from("v1.2.3"))
     self.assertEqual(Version(1, 2, 3), Version.parse_from("1.2.3"))
예제 #25
0
 def test_pre_releases(self):
     self.assertEqual(
         "1.2.3-alpha.3-special",
         Version(1, 2, 3, "alpha.3-special").semantic_version())
예제 #26
0
 def test_EmptyString_raises(self):
     self.assertRaises(ValueError, lambda: Version.parse_from(''))
예제 #27
0
 def test_metadata_dirty_customizable(self):
     self.assertEqual("1.2.0+dev",
                      Version(1, 2, is_dirty=True).semantic_version('dev'))
예제 #28
0
 def test_hash_only(self):
     self.assertEqual(Version(0, 0, commit_hash="abcdefg"),
                      Version.parse_from("abcdefg"))
예제 #29
0
 def test_hash_only_dirty(self):
     self.assertEqual(Version(0, 0, commit_hash="abcdefg", is_dirty=True),
                      Version.parse_from("abcdefg-dirty"))
예제 #30
0
 def test_None_raises(self):
     self.assertRaises(ValueError, lambda: Version.parse_from(None))