2020-09-17 23:38:58 +00:00
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
from __future__ import division
|
|
|
|
|
from __future__ import print_function
|
|
|
|
|
from __future__ import absolute_import
|
|
|
|
|
from __future__ import unicode_literals
|
2020-07-19 14:38:57 +00:00
|
|
|
|
2020-10-02 20:52:54 +00:00
|
|
|
import re
|
2019-02-21 17:06:47 +01:00
|
|
|
import copy
|
2020-09-06 20:20:36 +00:00
|
|
|
from test import util
|
2019-02-21 17:06:47 +01:00
|
|
|
|
2020-10-18 20:47:35 +00:00
|
|
|
from bumpver import config
|
|
|
|
|
from bumpver import rewrite
|
|
|
|
|
from bumpver import v1rewrite
|
|
|
|
|
from bumpver import v1version
|
|
|
|
|
from bumpver import v2rewrite
|
|
|
|
|
from bumpver import v2version
|
|
|
|
|
from bumpver import v1patterns
|
|
|
|
|
from bumpver import v2patterns
|
2019-02-21 15:41:06 +01:00
|
|
|
|
2020-09-17 23:38:58 +00:00
|
|
|
# pylint:disable=protected-access ; allowed for test code
|
|
|
|
|
|
|
|
|
|
|
2020-10-02 20:52:54 +00:00
|
|
|
# Fix for Python<3.7
|
|
|
|
|
# https://stackoverflow.com/a/56935186/62997
|
|
|
|
|
copy._deepcopy_dispatch[type(re.compile(''))] = lambda r, _: r
|
|
|
|
|
|
|
|
|
|
|
2018-11-15 22:16:16 +01:00
|
|
|
REWRITE_FIXTURE = """
|
|
|
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
|
__version__ = "v201809.0002-beta"
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
|
2020-10-02 20:52:54 +00:00
|
|
|
def test_v1_rewrite_lines_basic():
|
|
|
|
|
pattern = v1patterns.compile_pattern("{pycalver}", '__version__ = "{pycalver}"')
|
2020-09-06 20:20:36 +00:00
|
|
|
new_vinfo = v1version.parse_version_info("v201911.0003")
|
2020-10-02 20:52:54 +00:00
|
|
|
|
|
|
|
|
old_lines = REWRITE_FIXTURE.splitlines()
|
|
|
|
|
new_lines = v1rewrite.rewrite_lines([pattern], new_vinfo, old_lines)
|
2018-12-22 09:49:27 +01:00
|
|
|
|
|
|
|
|
assert len(new_lines) == len(old_lines)
|
|
|
|
|
assert "v201911.0003" not in "\n".join(old_lines)
|
|
|
|
|
assert "v201911.0003" in "\n".join(new_lines)
|
|
|
|
|
|
|
|
|
|
|
2020-10-02 20:52:54 +00:00
|
|
|
def test_v1_rewrite_lines():
|
|
|
|
|
version_pattern = "{pycalver}"
|
|
|
|
|
new_vinfo = v1version.parse_version_info("v201811.0123-beta", version_pattern)
|
|
|
|
|
patterns = [v1patterns.compile_pattern(version_pattern, '__version__ = "{pycalver}"')]
|
|
|
|
|
lines = v1rewrite.rewrite_lines(patterns, new_vinfo, ['__version__ = "v201809.0002-beta"'])
|
|
|
|
|
assert lines == ['__version__ = "v201811.0123-beta"']
|
|
|
|
|
|
|
|
|
|
patterns = [v1patterns.compile_pattern(version_pattern, '__version__ = "{pep440_version}"')]
|
|
|
|
|
lines = v1rewrite.rewrite_lines(patterns, new_vinfo, ['__version__ = "201809.2b0"'])
|
|
|
|
|
assert lines == ['__version__ = "201811.123b0"']
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_v2_rewrite_lines():
|
2020-10-14 22:17:18 +00:00
|
|
|
version_pattern = "vYYYY0M.BUILD[-TAG]"
|
2020-10-02 20:52:54 +00:00
|
|
|
new_vinfo = v2version.parse_version_info("v201811.0123-beta", version_pattern)
|
|
|
|
|
patterns = [v2patterns.compile_pattern(version_pattern, '__version__ = "{version}"')]
|
|
|
|
|
lines = v2rewrite.rewrite_lines(patterns, new_vinfo, ['__version__ = "v201809.0002-alpha" '])
|
|
|
|
|
assert lines == ['__version__ = "v201811.0123-beta" ']
|
|
|
|
|
|
|
|
|
|
lines = v2rewrite.rewrite_lines(
|
|
|
|
|
patterns, new_vinfo, ['__version__ = "v201809.0002-alpha" # comment']
|
|
|
|
|
)
|
|
|
|
|
assert lines == ['__version__ = "v201811.0123-beta" # comment']
|
|
|
|
|
|
|
|
|
|
patterns = [v2patterns.compile_pattern(version_pattern, '__version__ = "YYYY0M.BLD[PYTAGNUM]"')]
|
|
|
|
|
old_lines = ['__version__ = "201809.2a0"']
|
|
|
|
|
lines = v2rewrite.rewrite_lines(patterns, new_vinfo, old_lines)
|
|
|
|
|
assert lines == ['__version__ = "201811.123b0"']
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_v1_rewrite_final():
|
2018-12-22 09:49:27 +01:00
|
|
|
# Patterns written with {release_tag} placeholder preserve
|
|
|
|
|
# the release tag even if the new version is -final
|
|
|
|
|
|
2020-10-02 20:52:54 +00:00
|
|
|
pattern = v1patterns.compile_pattern(
|
|
|
|
|
"v{year}{month}.{build_no}-{release_tag}",
|
|
|
|
|
'__version__ = "v{year}{month}.{build_no}-{release_tag}"',
|
|
|
|
|
)
|
2020-09-06 20:20:36 +00:00
|
|
|
new_vinfo = v1version.parse_version_info("v201911.0003")
|
2020-10-02 20:52:54 +00:00
|
|
|
|
|
|
|
|
old_lines = REWRITE_FIXTURE.splitlines()
|
|
|
|
|
new_lines = v1rewrite.rewrite_lines([pattern], new_vinfo, old_lines)
|
2018-11-04 21:11:42 +01:00
|
|
|
|
|
|
|
|
assert len(new_lines) == len(old_lines)
|
2018-12-22 09:49:27 +01:00
|
|
|
assert "v201911.0003" not in "\n".join(old_lines)
|
|
|
|
|
assert "None" not in "\n".join(new_lines)
|
|
|
|
|
assert "v201911.0003-final" in "\n".join(new_lines)
|
2019-02-21 15:41:06 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_iter_file_paths():
|
|
|
|
|
with util.Project(project="a") as project:
|
|
|
|
|
ctx = config.init_project_ctx(project.dir)
|
2020-10-15 19:54:26 +00:00
|
|
|
assert ctx
|
2019-02-21 15:41:06 +01:00
|
|
|
cfg = config.parse(ctx)
|
|
|
|
|
assert cfg
|
|
|
|
|
|
2020-09-19 22:35:48 +00:00
|
|
|
_paths_and_patterns = rewrite.iter_path_patterns_items(cfg.file_patterns)
|
2020-09-06 20:20:36 +00:00
|
|
|
file_paths = {str(file_path) for file_path, patterns in _paths_and_patterns}
|
2019-02-21 15:41:06 +01:00
|
|
|
|
2020-10-18 20:47:35 +00:00
|
|
|
assert file_paths == {"bumpver.toml", "README.md"}
|
2019-02-21 15:41:06 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_iter_file_globs():
|
|
|
|
|
with util.Project(project="b") as project:
|
|
|
|
|
ctx = config.init_project_ctx(project.dir)
|
|
|
|
|
cfg = config.parse(ctx)
|
|
|
|
|
assert cfg
|
|
|
|
|
|
2020-09-19 22:35:48 +00:00
|
|
|
_paths_and_patterns = rewrite.iter_path_patterns_items(cfg.file_patterns)
|
2020-09-06 20:20:36 +00:00
|
|
|
file_paths = {str(file_path) for file_path, patterns in _paths_and_patterns}
|
2019-02-21 15:41:06 +01:00
|
|
|
|
|
|
|
|
assert file_paths == {
|
|
|
|
|
"setup.cfg",
|
|
|
|
|
"setup.py",
|
|
|
|
|
"README.rst",
|
|
|
|
|
"src/module_v1/__init__.py",
|
|
|
|
|
"src/module_v2/__init__.py",
|
|
|
|
|
}
|
2019-02-21 17:06:47 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_error_bad_path():
|
|
|
|
|
with util.Project(project="b") as project:
|
|
|
|
|
ctx = config.init_project_ctx(project.dir)
|
|
|
|
|
cfg = config.parse(ctx)
|
|
|
|
|
assert cfg
|
|
|
|
|
|
|
|
|
|
(project.dir / "setup.py").unlink()
|
|
|
|
|
try:
|
2020-09-19 22:35:48 +00:00
|
|
|
list(rewrite.iter_path_patterns_items(cfg.file_patterns))
|
2019-03-29 02:32:29 +01:00
|
|
|
assert False, "expected IOError"
|
|
|
|
|
except IOError as ex:
|
2019-02-21 17:06:47 +01:00
|
|
|
assert "setup.py" in str(ex)
|
|
|
|
|
|
|
|
|
|
|
2020-10-02 20:52:54 +00:00
|
|
|
def test_v1_error_bad_pattern():
|
2019-02-21 17:06:47 +01:00
|
|
|
with util.Project(project="b") as project:
|
|
|
|
|
ctx = config.init_project_ctx(project.dir)
|
|
|
|
|
cfg = config.parse(ctx)
|
|
|
|
|
assert cfg
|
|
|
|
|
|
2020-10-02 20:52:54 +00:00
|
|
|
patterns = copy.deepcopy(cfg.file_patterns)
|
|
|
|
|
original_pattern = patterns["setup.py"][0]
|
|
|
|
|
invalid_pattern = v1patterns.compile_pattern(
|
|
|
|
|
original_pattern.version_pattern,
|
|
|
|
|
original_pattern.raw_pattern + ".invalid",
|
|
|
|
|
)
|
|
|
|
|
patterns["setup.py"] = [invalid_pattern]
|
2019-02-21 17:06:47 +01:00
|
|
|
|
|
|
|
|
try:
|
2020-09-19 22:35:48 +00:00
|
|
|
old_vinfo = v1version.parse_version_info("v201808.0233")
|
2020-09-06 20:20:36 +00:00
|
|
|
new_vinfo = v1version.parse_version_info("v201809.1234")
|
2020-09-19 22:35:48 +00:00
|
|
|
list(v1rewrite.diff(old_vinfo, new_vinfo, patterns))
|
|
|
|
|
assert False, "expected rewrite.NoPatternMatch"
|
|
|
|
|
except rewrite.NoPatternMatch as ex:
|
2019-02-21 17:06:47 +01:00
|
|
|
assert "setup.py" in str(ex)
|
2019-07-09 08:21:57 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
OPTIONAL_RELEASE_FIXTURE = """
|
|
|
|
|
# SPDX-License-Identifier: BSD
|
|
|
|
|
__version__ = "2018.0002-beta"
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
|
2020-09-06 20:20:36 +00:00
|
|
|
def test_v1_optional_release():
|
2020-10-02 20:52:54 +00:00
|
|
|
version_pattern = "{year}.{build_no}{release}"
|
|
|
|
|
new_vinfo = v1version.parse_version_info("2019.0003", version_pattern)
|
|
|
|
|
|
|
|
|
|
raw_pattern = '__version__ = "{year}.{build_no}{release}"'
|
|
|
|
|
pattern = v1patterns.compile_pattern(version_pattern, raw_pattern)
|
2019-07-09 08:21:57 +02:00
|
|
|
|
2020-10-02 20:52:54 +00:00
|
|
|
old_lines = OPTIONAL_RELEASE_FIXTURE.splitlines()
|
|
|
|
|
new_lines = v1rewrite.rewrite_lines([pattern], new_vinfo, old_lines)
|
2019-07-09 08:21:57 +02:00
|
|
|
|
|
|
|
|
assert len(new_lines) == len(old_lines)
|
|
|
|
|
assert "2019.0003" not in "\n".join(old_lines)
|
2020-10-02 20:52:54 +00:00
|
|
|
assert "2019.0003" in "\n".join(new_lines)
|
|
|
|
|
assert '__version__ = "2019.0003"' in "\n".join(new_lines)
|
2019-07-09 08:21:57 +02:00
|
|
|
|
2020-10-02 20:52:54 +00:00
|
|
|
new_vinfo = v1version.parse_version_info("2019.0004-beta", version_pattern)
|
|
|
|
|
new_lines = v1rewrite.rewrite_lines([pattern], new_vinfo, old_lines)
|
2019-07-09 08:21:57 +02:00
|
|
|
|
|
|
|
|
# make sure optional release tag is added back on
|
|
|
|
|
assert len(new_lines) == len(old_lines)
|
|
|
|
|
assert "2019.0004-beta" not in "\n".join(old_lines)
|
|
|
|
|
assert "2019.0004-beta" in "\n".join(new_lines)
|
2020-10-02 20:52:54 +00:00
|
|
|
assert '__version__ = "2019.0004-beta"' in "\n".join(new_lines)
|
2020-09-18 17:02:03 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_v2_optional_release():
|
2020-10-14 22:17:18 +00:00
|
|
|
version_pattern = "YYYY.BUILD[-TAG]"
|
2020-10-02 20:52:54 +00:00
|
|
|
new_vinfo = v2version.parse_version_info("2019.0003", version_pattern)
|
|
|
|
|
|
2020-10-14 22:17:18 +00:00
|
|
|
raw_pattern = '__version__ = "YYYY.BUILD[-TAG]"'
|
2020-10-02 20:52:54 +00:00
|
|
|
pattern = v2patterns.compile_pattern(version_pattern, raw_pattern)
|
2020-09-18 17:02:03 +00:00
|
|
|
|
2020-10-02 20:52:54 +00:00
|
|
|
old_lines = OPTIONAL_RELEASE_FIXTURE.splitlines()
|
|
|
|
|
new_lines = v2rewrite.rewrite_lines([pattern], new_vinfo, old_lines)
|
2020-09-18 17:02:03 +00:00
|
|
|
|
|
|
|
|
assert len(new_lines) == len(old_lines)
|
|
|
|
|
assert "2019.0003" not in "\n".join(old_lines)
|
2020-10-02 20:52:54 +00:00
|
|
|
assert "2019.0003" in "\n".join(new_lines)
|
|
|
|
|
assert '__version__ = "2019.0003"' in "\n".join(new_lines)
|
2020-09-18 17:02:03 +00:00
|
|
|
|
2020-10-02 20:52:54 +00:00
|
|
|
new_vinfo = v2version.parse_version_info("2019.0004-beta", version_pattern)
|
|
|
|
|
new_lines = v2rewrite.rewrite_lines([pattern], new_vinfo, old_lines)
|
2020-09-18 17:02:03 +00:00
|
|
|
|
|
|
|
|
# make sure optional release tag is added back on
|
|
|
|
|
assert len(new_lines) == len(old_lines)
|
|
|
|
|
assert "2019.0004-beta" not in "\n".join(old_lines)
|
|
|
|
|
assert "2019.0004-beta" in "\n".join(new_lines)
|
2020-10-02 20:52:54 +00:00
|
|
|
assert '__version__ = "2019.0004-beta"' in "\n".join(new_lines)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_v1_iter_rewritten():
|
2020-10-18 20:47:35 +00:00
|
|
|
version_pattern = "{year}{build}{release}"
|
|
|
|
|
new_vinfo = v1version.parse_version_info("2018.0123", version_pattern)
|
2020-10-02 20:52:54 +00:00
|
|
|
|
2020-10-14 22:17:18 +00:00
|
|
|
init_pattern = v1patterns.compile_pattern(
|
2020-10-18 20:47:35 +00:00
|
|
|
version_pattern, '__version__ = "{year}{build}{release}"'
|
2020-10-14 22:17:18 +00:00
|
|
|
)
|
2020-10-18 20:47:35 +00:00
|
|
|
file_patterns = {"src/bumpver/__init__.py": [init_pattern]}
|
2020-10-02 20:52:54 +00:00
|
|
|
rewritten_datas = v1rewrite.iter_rewritten(file_patterns, new_vinfo)
|
|
|
|
|
rfd = list(rewritten_datas)[0]
|
|
|
|
|
expected = [
|
2021-01-17 21:34:29 +00:00
|
|
|
"# This file is part of the bumpver project",
|
|
|
|
|
"# https://github.com/mbarkhau/bumpver",
|
2020-10-02 20:52:54 +00:00
|
|
|
"#",
|
2021-01-17 21:42:09 +00:00
|
|
|
"# Copyright (c) 2018-2021 Manuel Barkhau (mbarkhau@gmail.com) - MIT License",
|
2020-10-02 20:52:54 +00:00
|
|
|
"# SPDX-License-Identifier: MIT",
|
2020-10-18 20:47:35 +00:00
|
|
|
'"""BumpVer: A CLI program for versioning."""',
|
2020-10-02 20:52:54 +00:00
|
|
|
'',
|
2020-10-18 20:47:35 +00:00
|
|
|
'__version__ = "2018.0123"',
|
2020-10-02 20:52:54 +00:00
|
|
|
'',
|
|
|
|
|
]
|
|
|
|
|
assert rfd.new_lines == expected
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_v2_iter_rewritten():
|
2020-10-18 20:47:35 +00:00
|
|
|
version_pattern = "YYYY.BUILD[-TAG]"
|
|
|
|
|
new_vinfo = v2version.parse_version_info("2018.0123", version_pattern)
|
2020-10-02 20:52:54 +00:00
|
|
|
|
|
|
|
|
file_patterns = {
|
2020-10-18 20:47:35 +00:00
|
|
|
"src/bumpver/__init__.py": [
|
|
|
|
|
v2patterns.compile_pattern(version_pattern, '__version__ = "YYYY.BUILD[-TAG]"'),
|
2020-10-02 20:52:54 +00:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
rewritten_datas = v2rewrite.iter_rewritten(file_patterns, new_vinfo)
|
|
|
|
|
rfd = list(rewritten_datas)[0]
|
|
|
|
|
expected = [
|
2021-01-17 21:34:29 +00:00
|
|
|
"# This file is part of the bumpver project",
|
|
|
|
|
"# https://github.com/mbarkhau/bumpver",
|
2020-10-02 20:52:54 +00:00
|
|
|
"#",
|
2021-01-17 21:42:09 +00:00
|
|
|
"# Copyright (c) 2018-2021 Manuel Barkhau (mbarkhau@gmail.com) - MIT License",
|
2020-10-02 20:52:54 +00:00
|
|
|
"# SPDX-License-Identifier: MIT",
|
2020-10-18 20:47:35 +00:00
|
|
|
'"""BumpVer: A CLI program for versioning."""',
|
2020-10-02 20:52:54 +00:00
|
|
|
'',
|
2020-10-18 20:47:35 +00:00
|
|
|
'__version__ = "2018.0123"',
|
2020-10-02 20:52:54 +00:00
|
|
|
'',
|
|
|
|
|
]
|
|
|
|
|
assert rfd.new_lines == expected
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_v1_diff():
|
2020-10-18 20:47:35 +00:00
|
|
|
version_pattern = "{year}{build}{release}"
|
|
|
|
|
raw_pattern = '__version__ = "{year}{build}{release}"'
|
2020-10-02 20:52:54 +00:00
|
|
|
pattern = v1patterns.compile_pattern(version_pattern, raw_pattern)
|
2020-10-18 20:47:35 +00:00
|
|
|
file_patterns = {"src/bumpver/__init__.py": [pattern]}
|
2020-10-02 20:52:54 +00:00
|
|
|
|
|
|
|
|
old_vinfo = v1version.parse_version_info("v201809.0123")
|
2020-10-14 22:17:18 +00:00
|
|
|
new_vinfo = v1version.parse_version_info("v201911.1124")
|
|
|
|
|
assert new_vinfo > old_vinfo
|
|
|
|
|
|
2020-10-18 20:47:35 +00:00
|
|
|
old_vinfo = v1version.parse_version_info("2018.0123", version_pattern)
|
|
|
|
|
new_vinfo = v1version.parse_version_info("2019.1124", version_pattern)
|
2020-10-02 20:52:54 +00:00
|
|
|
|
|
|
|
|
diff_str = v1rewrite.diff(old_vinfo, new_vinfo, file_patterns)
|
|
|
|
|
lines = diff_str.split("\n")
|
|
|
|
|
|
2020-10-18 20:47:35 +00:00
|
|
|
assert lines[:2] == [
|
|
|
|
|
"--- src/bumpver/__init__.py",
|
|
|
|
|
"+++ src/bumpver/__init__.py",
|
|
|
|
|
]
|
2020-10-02 20:52:54 +00:00
|
|
|
|
2020-10-18 20:47:35 +00:00
|
|
|
assert lines[6].startswith('-__version__ = "20')
|
|
|
|
|
assert lines[7].startswith('+__version__ = "20')
|
2020-10-02 20:52:54 +00:00
|
|
|
|
2020-10-18 20:47:35 +00:00
|
|
|
assert not lines[6].startswith('-__version__ = "2018.0123"')
|
2020-10-02 20:52:54 +00:00
|
|
|
|
2020-10-18 20:47:35 +00:00
|
|
|
assert lines[7] == '+__version__ = "2019.1124"'
|
2020-10-02 20:52:54 +00:00
|
|
|
|
|
|
|
|
raw_pattern = "Copyright (c) 2018-{year}"
|
|
|
|
|
pattern = v1patterns.compile_pattern(version_pattern, raw_pattern)
|
|
|
|
|
file_patterns = {'LICENSE': [pattern]}
|
|
|
|
|
diff_str = v1rewrite.diff(old_vinfo, new_vinfo, file_patterns)
|
|
|
|
|
|
|
|
|
|
lines = diff_str.split("\n")
|
|
|
|
|
assert lines[3].startswith("-MIT License Copyright (c) 2018-20")
|
|
|
|
|
assert lines[4].startswith("+MIT License Copyright (c) 2018-2019")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_v2_diff():
|
2020-10-18 20:47:35 +00:00
|
|
|
version_pattern = "YYYY.BUILD[-TAG]"
|
|
|
|
|
raw_pattern = '__version__ = "YYYY.BUILD[-TAG]"'
|
2020-10-02 20:52:54 +00:00
|
|
|
pattern = v2patterns.compile_pattern(version_pattern, raw_pattern)
|
2020-10-18 20:47:35 +00:00
|
|
|
file_patterns = {"src/bumpver/__init__.py": [pattern]}
|
2020-10-02 20:52:54 +00:00
|
|
|
|
2020-10-18 20:47:35 +00:00
|
|
|
old_vinfo = v2version.parse_version_info("2018.0123", version_pattern)
|
|
|
|
|
new_vinfo = v2version.parse_version_info("2019.1124", version_pattern)
|
2020-10-02 20:52:54 +00:00
|
|
|
|
|
|
|
|
diff_str = v2rewrite.diff(old_vinfo, new_vinfo, file_patterns)
|
|
|
|
|
lines = diff_str.split("\n")
|
|
|
|
|
|
2020-10-18 20:47:35 +00:00
|
|
|
assert lines[:2] == [
|
|
|
|
|
"--- src/bumpver/__init__.py",
|
|
|
|
|
"+++ src/bumpver/__init__.py",
|
|
|
|
|
]
|
2020-10-02 20:52:54 +00:00
|
|
|
|
2020-10-18 20:47:35 +00:00
|
|
|
assert lines[6].startswith('-__version__ = "20')
|
|
|
|
|
assert lines[7].startswith('+__version__ = "20')
|
2020-10-02 20:52:54 +00:00
|
|
|
|
2020-10-18 20:47:35 +00:00
|
|
|
assert not lines[6].startswith('-__version__ = "2018.0123"')
|
2020-10-02 20:52:54 +00:00
|
|
|
|
2020-10-18 20:47:35 +00:00
|
|
|
assert lines[7] == '+__version__ = "2019.1124"'
|
2020-10-02 20:52:54 +00:00
|
|
|
|
|
|
|
|
raw_pattern = "Copyright (c) 2018-YYYY"
|
|
|
|
|
pattern = v2patterns.compile_pattern(version_pattern, raw_pattern)
|
|
|
|
|
file_patterns = {'LICENSE': [pattern]}
|
|
|
|
|
diff_str = v2rewrite.diff(old_vinfo, new_vinfo, file_patterns)
|
|
|
|
|
|
|
|
|
|
lines = diff_str.split("\n")
|
|
|
|
|
assert lines[3].startswith("-MIT License Copyright (c) 2018-20")
|
|
|
|
|
assert lines[4].startswith("+MIT License Copyright (c) 2018-2019")
|