Fix language in rule creation script

This commit is contained in:
Fred Tingaud 2024-07-09 17:07:27 +02:00 committed by GitHub
parent 782cae5eca
commit 0fd7e2c4b0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 17 additions and 5 deletions

View File

@ -95,7 +95,7 @@ class RuleCreator:
if rule_item.is_file(): if rule_item.is_file():
template_content = rule_item.read_text() template_content = rule_item.read_text()
lang = LANG_TO_SOURCE[language] lang = LANG_TO_SOURCE[language]
final_content = template_content.replace('[source,text]', f'[source,{lang}]') final_content = template_content.replace('[source,text', f'[source,{lang}')
rule_item.write_text(final_content) rule_item.write_text(final_content)
def _fill_multi_lang_template_files(self, rule_dir: Path, rule_number: int, languages: Iterable[str]): def _fill_multi_lang_template_files(self, rule_dir: Path, rule_number: int, languages: Iterable[str]):

View File

@ -43,10 +43,13 @@ def test_create_new_multi_lang_rule_branch(rule_creator: RuleCreator, mock_git_r
for lang_item in lang_root.glob('**/*'): for lang_item in lang_root.glob('**/*'):
if lang_item.is_file(): if lang_item.is_file():
expected_content = lang_item.read_text().replace('${RSPEC_ID}', str(rule_number)) expected_content = lang_item.read_text().replace('${RSPEC_ID}', str(rule_number))
expected_content = expected_content.replace('[source,text]', f'[source,{LANG_TO_SOURCE[os.path.basename(lang)]}]') expected_content = expected_content.replace('[source,text', f'[source,{LANG_TO_SOURCE[os.path.basename(lang)]}')
relative_path = lang_item.relative_to(lang_root) relative_path = lang_item.relative_to(lang_root)
actual_content = rule_dir.joinpath(lang, relative_path).read_text() actual_content = rule_dir.joinpath(lang, relative_path).read_text()
assert actual_content == expected_content assert actual_content == expected_content
if lang_item.suffix == '.adoc':
assert 'source,text' not in actual_content
assert LANG_TO_SOURCE[os.path.basename(lang)] in actual_content
def test_create_new_single_lang_rule_branch(rule_creator: RuleCreator, mock_git_rspec_repo: Repo): def test_create_new_single_lang_rule_branch(rule_creator: RuleCreator, mock_git_rspec_repo: Repo):
@ -75,10 +78,13 @@ def test_create_new_single_lang_rule_branch(rule_creator: RuleCreator, mock_git_
if lang_item.is_file(): if lang_item.is_file():
expected_content = lang_item.read_text().replace('${RSPEC_ID}', str(rule_number)) expected_content = lang_item.read_text().replace('${RSPEC_ID}', str(rule_number))
dir_name = os.path.basename(lang) dir_name = os.path.basename(lang)
expected_content = expected_content.replace('[source,text]', f'[source,{LANG_TO_SOURCE[dir_name]}]') expected_content = expected_content.replace('[source,text', f'[source,{LANG_TO_SOURCE[dir_name]}')
relative_path = lang_item.relative_to(lang_root) relative_path = lang_item.relative_to(lang_root)
actual_content = rule_dir.joinpath(lang, relative_path).read_text() actual_content = rule_dir.joinpath(lang, relative_path).read_text()
assert actual_content == expected_content assert actual_content == expected_content
if lang_item.suffix == '.adoc':
assert 'source,text' not in actual_content
assert LANG_TO_SOURCE[dir_name] in actual_content
def test_create_new_rule_pull_request(rule_creator: RuleCreator): def test_create_new_rule_pull_request(rule_creator: RuleCreator):
@ -138,10 +144,13 @@ def test_add_lang_singlelang_nonconventional_rule_create_branch(rule_creator: Ru
for lang_item in lang_root.glob('**/*'): for lang_item in lang_root.glob('**/*'):
if lang_item.is_file(): if lang_item.is_file():
expected_content = lang_item.read_text().replace('${RSPEC_ID}', str(rule_number)) expected_content = lang_item.read_text().replace('${RSPEC_ID}', str(rule_number))
expected_content = expected_content.replace('[source,text]', f'[source,{LANG_TO_SOURCE[language]}]') expected_content = expected_content.replace('[source,text', f'[source,{LANG_TO_SOURCE[language]}')
relative_path = lang_item.relative_to(lang_root) relative_path = lang_item.relative_to(lang_root)
actual_content = rule_dir.joinpath(language, relative_path).read_text() actual_content = rule_dir.joinpath(language, relative_path).read_text()
assert actual_content == expected_content assert actual_content == expected_content
if lang_item.suffix == '.adoc':
assert 'source,text' not in actual_content
assert LANG_TO_SOURCE[language] in actual_content
def test_add_lang_singlelang_conventional_rule_create_branch(rule_creator: RuleCreator, mock_git_rspec_repo: Repo): def test_add_lang_singlelang_conventional_rule_create_branch(rule_creator: RuleCreator, mock_git_rspec_repo: Repo):
@ -186,10 +195,13 @@ def test_add_lang_multilang_rule_create_branch(rule_creator: RuleCreator, mock_g
for lang_item in lang_root.glob('**/*'): for lang_item in lang_root.glob('**/*'):
if lang_item.is_file(): if lang_item.is_file():
expected_content = lang_item.read_text().replace('${RSPEC_ID}', str(rule_number)) expected_content = lang_item.read_text().replace('${RSPEC_ID}', str(rule_number))
expected_content = expected_content.replace('[source,text]', f'[source,{LANG_TO_SOURCE[language]}]') expected_content = expected_content.replace('[source,text', f'[source,{LANG_TO_SOURCE[language]}')
relative_path = lang_item.relative_to(lang_root) relative_path = lang_item.relative_to(lang_root)
actual_content = rule_dir.joinpath(language, relative_path).read_text() actual_content = rule_dir.joinpath(language, relative_path).read_text()
assert actual_content == expected_content assert actual_content == expected_content
if lang_item.suffix == '.adoc':
assert 'source,text' not in actual_content
assert LANG_TO_SOURCE[language] in actual_content
@patch('rspec_tools.create_rule.RuleCreator') @patch('rspec_tools.create_rule.RuleCreator')