mirror of
https://github.com/ditkrg/todo-to-issue-action.git
synced 2026-01-25 07:16:42 +00:00
Rewrite parser to support block/dynamic comments
This commit is contained in:
60
tests/test_todo_parser.py
Normal file
60
tests/test_todo_parser.py
Normal file
@@ -0,0 +1,60 @@
|
||||
import unittest
|
||||
from main import TodoParser
|
||||
|
||||
|
||||
def count_issues_for_file_type(raw_issues, file_type):
|
||||
num_issues = 0
|
||||
for issue in raw_issues:
|
||||
if issue.markdown_language == file_type:
|
||||
num_issues += 1
|
||||
return num_issues
|
||||
|
||||
|
||||
class NewIssueTests(unittest.TestCase):
|
||||
# Check for newly added TODOs across the files specified (covers all current marker types).
|
||||
def setUp(self):
|
||||
diff_file = open('tests/test_new.diff', 'r')
|
||||
self.raw_issues = TodoParser().parse(diff_file)
|
||||
|
||||
def test_python_issues(self):
|
||||
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'python'), 2)
|
||||
|
||||
def test_yaml_issues(self):
|
||||
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'yaml'), 2)
|
||||
|
||||
def test_php_issues(self):
|
||||
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'php'), 3)
|
||||
|
||||
def test_java_issues(self):
|
||||
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'java'), 2)
|
||||
|
||||
def test_css_issues(self):
|
||||
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'css'), 2)
|
||||
|
||||
def test_ruby_issues(self):
|
||||
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'ruby'), 3)
|
||||
|
||||
|
||||
class ClosedIssueTests(unittest.TestCase):
|
||||
# Check for removed TODOs across the files specified (covers all current marker types).
|
||||
def setUp(self):
|
||||
diff_file = open('tests/test_closed.diff', 'r')
|
||||
self.raw_issues = TodoParser().parse(diff_file)
|
||||
|
||||
def test_python_issues(self):
|
||||
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'python'), 2)
|
||||
|
||||
def test_yaml_issues(self):
|
||||
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'yaml'), 2)
|
||||
|
||||
def test_php_issues(self):
|
||||
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'php'), 3)
|
||||
|
||||
def test_java_issues(self):
|
||||
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'java'), 2)
|
||||
|
||||
def test_css_issues(self):
|
||||
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'css'), 2)
|
||||
|
||||
def test_ruby_issues(self):
|
||||
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'ruby'), 3)
|
||||
Reference in New Issue
Block a user