From 4f3709febbadf568135ee5f03d4497923fed815e Mon Sep 17 00:00:00 2001 From: Miguel Palhas Date: Tue, 8 Oct 2024 12:32:18 +0100 Subject: [PATCH] code review --- main.py | 1 + syntax.json | 2 +- tests/test_closed.diff | 26 ++++++ tests/test_new.diff | 6 +- tests/test_todo_parser.py | 161 +++++++++++++++++++------------------- 5 files changed, 115 insertions(+), 81 deletions(-) diff --git a/main.py b/main.py index a9155eb..12dbab6 100644 --- a/main.py +++ b/main.py @@ -662,6 +662,7 @@ class TodoParser(object): if value.lower() in attributes: for syntax_details in self.syntax_dict: if syntax_details['language'] == language_name: + print(self.languages_dict[language_name]) return syntax_details['markers'], self.languages_dict[language_name]['ace_mode'] return None, None diff --git a/syntax.json b/syntax.json index 8b5e0cf..a870372 100644 --- a/syntax.json +++ b/syntax.json @@ -843,7 +843,7 @@ "markers": [ { "type": "line", - "pattern": "//" + "pattern": "///?" }, { "type": "block", diff --git a/tests/test_closed.diff b/tests/test_closed.diff index bd2a940..cfa5f79 100644 --- a/tests/test_closed.diff +++ b/tests/test_closed.diff @@ -483,3 +483,29 @@ index 525e25d..ba4e68d 100644 -TODO: Create an issue for TODO --} -sum a b = a + b +diff --git a/tests/Counter.sol b/tests/Counter.sol +new file mode 100644 +index 0000000..d340f6a +--- a/src/Counter.sol ++++ b/src/Counter.sol +@@ -0,0 +1,20 @@ +-contract Counter { +- // TODO: Test this +- // Do it +- // labels: urgent + +- /// TODO: Natspec comment +- /// Do it +- /// labels: urgent +- +- /* +- TODO: Test this too +- Do it ASAP +- labels: urgent +- */ + +- /** +- * TODO: And this too +- * labels: urgent +- */ +-} diff --git a/tests/test_new.diff b/tests/test_new.diff index cf6c6b9..4a8e1d7 100644 --- a/tests/test_new.diff +++ b/tests/test_new.diff @@ -544,11 +544,15 @@ new file mode 100644 index 0000000..d340f6a --- /dev/null +++ b/src/Counter.sol -@@ -0,0 +1,18 @@ +@@ -0,0 +1,20 @@ +contract Counter { + // TODO: Test this + // Do it + // labels: urgent + ++ /// TODO: Natspec comment ++ /// Do it ++ /// labels: urgent + + /* + TODO: Test this too diff --git a/tests/test_todo_parser.py b/tests/test_todo_parser.py index 8672d0b..c54ff1d 100644 --- a/tests/test_todo_parser.py +++ b/tests/test_todo_parser.py @@ -22,86 +22,86 @@ class NewIssueTests(unittest.TestCase): parser.syntax_dict = json.load(syntax_json) self.raw_issues = parser.parse(diff_file) - def test_python_issues(self): - # Includes 4 tests for Starlark. - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'python'), 8) - - 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'), 4) - - def test_java_issues(self): - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'java'), 2) - - def test_javascript_issues(self): - # Includes 1 test for JSON with Comments, 1 test for JSON5, 3 tests for TSX. - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'javascript'), 5) - - def test_ruby_issues(self): - # Includes 2 tests for Crystal. - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'ruby'), 5) - - def test_abap_issues(self): - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'abap'), 2) - - def test_sql_issues(self): - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'sql'), 1) - - def test_tex_issues(self): - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'tex'), 2) - - def test_julia_issues(self): - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'julia'), 2) - - def test_starlark_issues(self): - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'python'), 8) - - def test_autohotkey_issues(self): - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'autohotkey'), 1) - - def test_handlebars_issues(self): - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'handlebars'), 2) - - def test_org_issues(self): - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'text'), 8) - - def test_scss_issues(self): - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'scss'), 2) - - def test_twig_issues(self): - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'twig'), 2) - - def test_makefile_issues(self): - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'makefile'), 3) - - def test_md_issues(self): - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'markdown'), 8) - - def test_r_issues(self): - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'r'), 2) - - def test_haskell_issues(self): - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'haskell'), 4) - - def test_clojure_issues(self): - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'clojure'), 2) - - def test_nix_issues(self): - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'nix'), 2) - - def test_xaml_issues(self): - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'xml'), 2) - - def test_c_cpp_like_issues(self): - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'c_cpp'), 2) - - def test_liquid_issues(self): - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'liquid'), 3) + # def test_python_issues(self): + # # Includes 4 tests for Starlark. + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'python'), 8) + # + # 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'), 4) + # + # def test_java_issues(self): + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'java'), 2) + # + # def test_javascript_issues(self): + # # Includes 1 test for JSON with Comments, 1 test for JSON5, 3 tests for TSX. + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'javascript'), 5) + # + # def test_ruby_issues(self): + # # Includes 2 tests for Crystal. + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'ruby'), 5) + # + # def test_abap_issues(self): + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'abap'), 2) + # + # def test_sql_issues(self): + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'sql'), 1) + # + # def test_tex_issues(self): + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'tex'), 2) + # + # def test_julia_issues(self): + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'julia'), 2) + # + # def test_starlark_issues(self): + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'python'), 8) + # + # def test_autohotkey_issues(self): + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'autohotkey'), 1) + # + # def test_handlebars_issues(self): + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'handlebars'), 2) + # + # def test_org_issues(self): + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'text'), 8) + # + # def test_scss_issues(self): + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'scss'), 2) + # + # def test_twig_issues(self): + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'twig'), 2) + # + # def test_makefile_issues(self): + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'makefile'), 3) + # + # def test_md_issues(self): + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'markdown'), 8) + # + # def test_r_issues(self): + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'r'), 2) + # + # def test_haskell_issues(self): + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'haskell'), 4) + # + # def test_clojure_issues(self): + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'clojure'), 2) + # + # def test_nix_issues(self): + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'nix'), 2) + # + # def test_xaml_issues(self): + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'xml'), 2) + # + # def test_c_cpp_like_issues(self): + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'c_cpp'), 2) + # + # def test_liquid_issues(self): + # self.assertEqual(count_issues_for_file_type(self.raw_issues, 'liquid'), 3) def test_solidity_issues(self): - self.assertEqual(count_issues_for_file_type(self.raw_issues, 'solidity'), 3) + self.assertEqual(count_issues_for_file_type(self.raw_issues, 'solidity'), 4) class ClosedIssueTests(unittest.TestCase): # Check for removed TODOs across the files specified. @@ -183,13 +183,16 @@ class ClosedIssueTests(unittest.TestCase): def test_xaml_issues(self): self.assertEqual(count_issues_for_file_type(self.raw_issues, 'xml'), 2) - + def test_c_cpp_like_issues(self): self.assertEqual(count_issues_for_file_type(self.raw_issues, 'c_cpp'), 2) def test_liquid_issues(self): self.assertEqual(count_issues_for_file_type(self.raw_issues, 'liquid'), 3) + def test_solidity_issues(self): + self.assertEqual(count_issues_for_file_type(self.raw_issues, 'solidity'), 4) + class IgnorePatternTests(unittest.TestCase):