mirror of
https://github.com/ditkrg/todo-to-issue-action.git
synced 2026-01-23 06:16:43 +00:00
Added unit tests
This commit is contained in:
parent
c70aafa22a
commit
952f3d6c85
@ -93,6 +93,7 @@ class NewIssueTests(unittest.TestCase):
|
||||
def test_xaml_issues(self):
|
||||
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'xml'), 2)
|
||||
|
||||
|
||||
class ClosedIssueTests(unittest.TestCase):
|
||||
# Check for removed TODOs across the files specified.
|
||||
def setUp(self):
|
||||
@ -173,6 +174,7 @@ class ClosedIssueTests(unittest.TestCase):
|
||||
def test_xaml_issues(self):
|
||||
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'xml'), 2)
|
||||
|
||||
|
||||
class IgnorePatternTests(unittest.TestCase):
|
||||
|
||||
def test_single_ignore(self):
|
||||
@ -205,6 +207,7 @@ class IgnorePatternTests(unittest.TestCase):
|
||||
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'ruby'), 5)
|
||||
os.environ['INPUT_IGNORE'] = ''
|
||||
|
||||
|
||||
class EscapeMarkdownTest(unittest.TestCase):
|
||||
def test_simple_escape(self):
|
||||
os.environ['INPUT_ESCAPE'] = 'true'
|
||||
@ -227,3 +230,47 @@ class EscapeMarkdownTest(unittest.TestCase):
|
||||
self.assertEqual(issue.body[0], '\\# Another title')
|
||||
self.assertEqual(issue.body[1], '\\<AnotherTag\\>')
|
||||
|
||||
|
||||
class CostumeLanguageTest(unittest.TestCase):
|
||||
def test_costume_lang_load(self):
|
||||
os.environ['INPUT_LANGUAGES'] = 'tests/costume_languages.json'
|
||||
parser = TodoParser()
|
||||
# Test if the costume language ILS is actually loaded into the system
|
||||
self.assertIsNotNone(parser.languages_dict['ILS'])
|
||||
self.assertEqual(self.count_syntax(parser, 'ILS'), 1)
|
||||
|
||||
def test_costume_lang_not_dupplicate(self):
|
||||
os.environ['INPUT_LANGUAGES'] = 'tests/costume_languages.json'
|
||||
parser = TodoParser()
|
||||
|
||||
# Test if a costume language can overwrite the rules of an existing one
|
||||
self.assertEqual(self.count_syntax(parser, 'Java'), 1)
|
||||
for syntax in parser.syntax_dict:
|
||||
if syntax['language'] == 'Java':
|
||||
self.assertEqual(len(syntax['markers']), 2)
|
||||
self.assertEqual(syntax['markers'][0]['pattern'], "////")
|
||||
self.assertEqual(syntax['markers'][1]['pattern']['start'], '+=')
|
||||
self.assertEqual(syntax['markers'][1]['pattern']['end'], '=+')
|
||||
break
|
||||
|
||||
self.assertIsNotNone(parser.languages_dict['Java'])
|
||||
self.assertEqual(len(parser.languages_dict['Java']['extensions']), 1)
|
||||
self.assertEqual(parser.languages_dict['Java']['extensions'][0], ".java2")
|
||||
|
||||
def test_url_load(self):
|
||||
os.environ['INPUT_LANGUAGES'] = 'https://raw.githubusercontent.com/Christoph-Koschel/todo-to-issue-action/patch-3/tests/costume_languages.json'
|
||||
os.environ['INPUT_NO_STANDARD'] = 'true'
|
||||
parser = TodoParser()
|
||||
|
||||
self.assertEqual(len(parser.languages_dict), 2)
|
||||
self.assertEqual(len(parser.syntax_dict), 2)
|
||||
|
||||
@staticmethod
|
||||
def count_syntax(parser: TodoParser, name: str):
|
||||
counter = 0
|
||||
|
||||
for syntax in parser.syntax_dict:
|
||||
if syntax['language'] == name:
|
||||
counter = counter + 1
|
||||
|
||||
return counter
|
||||
|
||||
Loading…
Reference in New Issue
Block a user