diff --git a/bears/markdown/MarkdownBear.py b/bears/markdown/MarkdownBear.py index 7f64d353d0..eedc056269 100644 --- a/bears/markdown/MarkdownBear.py +++ b/bears/markdown/MarkdownBear.py @@ -28,7 +28,7 @@ class MarkdownBear: _output_regex = re.compile( r'\s*(?P\d+):(?P\d+)' - r'\s*(?Pwarning)\s*(?P.*)') + r'\s*(?Pwarning)\s*(?P(?:\S|\s(?!\s))*)') @staticmethod @deprecate_settings(bullets='markdown_bullets', diff --git a/package.json b/package.json index 86450b3802..228e6a1460 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "jshint": "~2", "postcss-cli": "~2", "remark-cli": "~2", - "remark-lint": ">=5.1.0", + "remark-lint": "~5.1.0", "tslint": "~3", "typescript": ">=1.7.3", "ramllint": "~1.2.2", diff --git a/tests/markdown/MarkdownBearTest.py b/tests/markdown/MarkdownBearTest.py index 217dc511c9..663f6bcc51 100644 --- a/tests/markdown/MarkdownBearTest.py +++ b/tests/markdown/MarkdownBearTest.py @@ -1,5 +1,13 @@ +import unittest +from queue import Queue + from bears.markdown.MarkdownBear import MarkdownBear -from coalib.testing.LocalBearTestHelper import verify_local_bear +from coalib.testing.BearTestHelper import generate_skip_decorator +from coalib.testing.LocalBearTestHelper import verify_local_bear, execute_bear +from coalib.results.RESULT_SEVERITY import RESULT_SEVERITY +from coalib.settings.Section import Section +from coalib.settings.Setting import Setting +from coala_utils.ContextManagers import prepare_file test_file1 = """1. abc 1. def @@ -29,3 +37,20 @@ valid_files=(test_file2,), invalid_files=(test_file3,), settings={'max_line_length': 10}) + + +@generate_skip_decorator(MarkdownBear) +class MarkdownBearMaxLineLengthMessageTest(unittest.TestCase): + + def setUp(self): + self.section = Section('name') + self.uut = MarkdownBear(self.section, Queue()) + + def test_invalid_message(self): + content = test_file3.splitlines() + self.section.append(Setting('max_line_length', '10')) + with prepare_file(content, None) as (file, fname): + with execute_bear(self.uut, fname, file) as results: + self.assertEqual(results[0].message, + 'Line must be at most 10 characters') + self.assertEqual(results[0].severity, RESULT_SEVERITY.NORMAL)