From c6397022ea5c6da9cc1720ad4fb853e087ba21ce Mon Sep 17 00:00:00 2001 From: Naman Yadav Date: Tue, 10 Jan 2017 10:11:04 +0530 Subject: [PATCH] MarkdownBear: Add test to check message for error A better test for MarkdownBear to check the exact message of the result for a maximum line length error. Related to https://github.com/coala/coala-bears/issues/1235 --- package.json | 2 +- tests/markdown/MarkdownBearTest.py | 28 +++++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) 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..58e9b7fcb2 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,21 @@ 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' + ' maximum-line-length remark-lint') + self.assertEqual(results[0].severity, RESULT_SEVERITY.NORMAL)