refactor: Rename remaining bugdown words to markdown in test_markdown.py.

Rename rest of function names, classes and comments containing bugdoown
to markdown in test_markdown.py. Also change the refactored classes and
functions occurences in other files.
This commit is part of series of commits aimed at renaming bugdown to
markdown.
This commit is contained in:
Mohit Gupta 2020-06-27 04:05:15 +05:30 committed by Tim Abbott
parent df701ba779
commit 4224ac1b61
4 changed files with 22 additions and 22 deletions

View File

@ -79,7 +79,7 @@ testcases in `markdown_test_cases.json` that you want to ignore. This
is a workaround due to lack of comments support in JSON. Revert your is a workaround due to lack of comments support in JSON. Revert your
"ignore" changes before committing. After this, you can run the frontend "ignore" changes before committing. After this, you can run the frontend
tests with `tools/test-js-with-node markdown` and backend tests with tests with `tools/test-js-with-node markdown` and backend tests with
`tools/test-backend zerver.tests.test_markdown.BugdownTest.test_bugdown_fixtures`. `tools/test-backend zerver.tests.test_markdown.MarkdownTest.test_markdown_fixtures`.
## Changing Zulip's markdown processor ## Changing Zulip's markdown processor

View File

@ -33,8 +33,8 @@ typically involve running subsets of the tests with commands like these:
``` ```
./tools/lint zerver/lib/actions.py # Lint the file you just changed ./tools/lint zerver/lib/actions.py # Lint the file you just changed
./tools/test-backend zerver.tests.test_markdown.BugdownTest.test_inline_youtube ./tools/test-backend zerver.tests.test_markdown.MarkdownTest.test_inline_youtube
./tools/test-backend BugdownTest # Run `test-backend --help` for more options ./tools/test-backend MarkdownTest # Run `test-backend --help` for more options
./tools/test-js-with-casper 09-navigation.js ./tools/test-js-with-casper 09-navigation.js
./tools/test-js-with-node utils.js ./tools/test-js-with-node utils.js
``` ```

View File

@ -70,7 +70,7 @@ not_yet_fully_covered = {path for target in [
'zerver/lib/send_email.py', 'zerver/lib/send_email.py',
'zerver/lib/url_preview/preview.py', 'zerver/lib/url_preview/preview.py',
'zerver/worker/queue_processors.py', 'zerver/worker/queue_processors.py',
# Bugdown sub-libs should have full coverage too; a lot are really close # Markdown sub-libs should have full coverage too; a lot are really close
'zerver/lib/markdown/api_arguments_table_generator.py', 'zerver/lib/markdown/api_arguments_table_generator.py',
'zerver/lib/markdown/fenced_code.py', 'zerver/lib/markdown/fenced_code.py',
'zerver/lib/markdown/help_relative_links.py', 'zerver/lib/markdown/help_relative_links.py',
@ -199,10 +199,10 @@ def main() -> None:
test-backend zerver.tests.test_markdown # run all tests in a test module test-backend zerver.tests.test_markdown # run all tests in a test module
test-backend zerver/tests/test_markdown.py # run all tests in a test module test-backend zerver/tests/test_markdown.py # run all tests in a test module
test-backend test_markdown # run all tests in a test module test-backend test_markdown # run all tests in a test module
test-backend zerver.tests.test_markdown.BugdownTest # run all tests in a test class test-backend zerver.tests.test_markdown.MarkdownTest # run all tests in a test class
test-backend BugdownTest # run all tests in a test class test-backend MarkdownTest # run all tests in a test class
test-backend zerver.tests.test_markdown.BugdownTest.test_inline_youtube # run a single test test-backend zerver.tests.test_markdown.MarkdownTest.test_inline_youtube # run a single test
test-backend BugdownTest.test_inline_youtube # run a single test""" test-backend MarkdownTest.test_inline_youtube # run a single test"""
parser = argparse.ArgumentParser(description=usage, parser = argparse.ArgumentParser(description=usage,
formatter_class=argparse.RawTextHelpFormatter) formatter_class=argparse.RawTextHelpFormatter)

View File

@ -192,7 +192,7 @@ def markdown_convert(content: str) -> str:
message_realm=get_realm('zulip'), message_realm=get_realm('zulip'),
) )
class BugdownMiscTest(ZulipTestCase): class MarkdownMiscTest(ZulipTestCase):
def test_diffs_work_as_expected(self) -> None: def test_diffs_work_as_expected(self) -> None:
str1 = "<p>The quick brown fox jumps over the lazy dog. Animal stories are fun, yeah</p>" str1 = "<p>The quick brown fox jumps over the lazy dog. Animal stories are fun, yeah</p>"
str2 = "<p>The fast fox jumps over the lazy dogs and cats. Animal stories are fun</p>" str2 = "<p>The fast fox jumps over the lazy dogs and cats. Animal stories are fun</p>"
@ -357,7 +357,7 @@ Outside. Should convert:<>
original, expected = self.split_message(msg) original, expected = self.split_message(msg)
self.assertEqual(preprocessor.run(original), expected) self.assertEqual(preprocessor.run(original), expected)
class BugdownTest(ZulipTestCase): class MarkdownTest(ZulipTestCase):
def setUp(self) -> None: def setUp(self) -> None:
super().setUp() super().setUp()
clear_state_for_testing() clear_state_for_testing()
@ -370,7 +370,7 @@ class BugdownTest(ZulipTestCase):
else: else:
super().assertEqual(first, second) super().assertEqual(first, second)
def load_bugdown_tests(self) -> Tuple[Dict[str, Any], List[List[str]]]: def load_markdown_tests(self) -> Tuple[Dict[str, Any], List[List[str]]]:
test_fixtures = {} test_fixtures = {}
with open(os.path.join(os.path.dirname(__file__), 'fixtures/markdown_test_cases.json')) as f: with open(os.path.join(os.path.dirname(__file__), 'fixtures/markdown_test_cases.json')) as f:
data = ujson.load(f) data = ujson.load(f)
@ -379,17 +379,17 @@ class BugdownTest(ZulipTestCase):
return test_fixtures, data['linkify_tests'] return test_fixtures, data['linkify_tests']
def test_bugdown_no_ignores(self) -> None: def test_markdown_no_ignores(self) -> None:
# We do not want any ignored tests to be committed and merged. # We do not want any ignored tests to be committed and merged.
format_tests, linkify_tests = self.load_bugdown_tests() format_tests, linkify_tests = self.load_markdown_tests()
for name, test in format_tests.items(): for name, test in format_tests.items():
message = f'Test "{name}" shouldn\'t be ignored.' message = f'Test "{name}" shouldn\'t be ignored.'
is_ignored = test.get('ignore', False) is_ignored = test.get('ignore', False)
self.assertFalse(is_ignored, message) self.assertFalse(is_ignored, message)
@slow("Aggregate of runs dozens of individual markdown tests") @slow("Aggregate of runs dozens of individual markdown tests")
def test_bugdown_fixtures(self) -> None: def test_markdown_fixtures(self) -> None:
format_tests, linkify_tests = self.load_bugdown_tests() format_tests, linkify_tests = self.load_markdown_tests()
valid_keys = {"name", "input", "expected_output", valid_keys = {"name", "input", "expected_output",
"backend_only_rendering", "backend_only_rendering",
"marked_expected_output", "text_content", "marked_expected_output", "text_content",
@ -423,7 +423,7 @@ class BugdownTest(ZulipTestCase):
href = 'http://' + url href = 'http://' + url
return payload % (f"<a href=\"{href}\">{url}</a>",) return payload % (f"<a href=\"{href}\">{url}</a>",)
print("Running Bugdown Linkify tests") print("Running Markdown Linkify tests")
with mock.patch('zerver.lib.url_preview.preview.link_embed_data_from_cache', return_value=None): with mock.patch('zerver.lib.url_preview.preview.link_embed_data_from_cache', return_value=None):
for inline_url, reference, url in linkify_tests: for inline_url, reference, url in linkify_tests:
try: try:
@ -887,7 +887,7 @@ class BugdownTest(ZulipTestCase):
realm = get_realm('zulip') realm = get_realm('zulip')
# Needs to mock an actual message because that's how bugdown obtains the realm # Needs to mock an actual message because that's how markdown obtains the realm
msg = Message(sender=self.example_user('hamlet')) msg = Message(sender=self.example_user('hamlet'))
converted = convert(":green_tick:", message_realm=realm, message=msg) converted = convert(":green_tick:", message_realm=realm, message=msg)
realm_emoji = RealmEmoji.objects.filter(realm=realm, realm_emoji = RealmEmoji.objects.filter(realm=realm,
@ -1011,7 +1011,7 @@ class BugdownTest(ZulipTestCase):
assert_conversion('Hello #123World', False) assert_conversion('Hello #123World', False)
assert_conversion('Hello#123 World', False) assert_conversion('Hello#123 World', False)
assert_conversion('Hello#123World', False) assert_conversion('Hello#123World', False)
# Ideally, these should be converted, but bugdown doesn't # Ideally, these should be converted, but markdown doesn't
# handle word boundary detection in languages that don't use # handle word boundary detection in languages that don't use
# whitespace for that correctly yet. # whitespace for that correctly yet.
assert_conversion('チケットは#123です', False) assert_conversion('チケットは#123です', False)
@ -2079,7 +2079,7 @@ class BugdownTest(ZulipTestCase):
converted = markdown_convert(dedent(msg)) converted = markdown_convert(dedent(msg))
self.assertEqual(converted, dedent(expected_output)) self.assertEqual(converted, dedent(expected_output))
class BugdownApiTests(ZulipTestCase): class MarkdownApiTests(ZulipTestCase):
def test_render_message_api(self) -> None: def test_render_message_api(self) -> None:
content = 'That is a **bold** statement' content = 'That is a **bold** statement'
result = self.api_post( result = self.api_post(
@ -2105,8 +2105,8 @@ class BugdownApiTests(ZulipTestCase):
self.assertEqual(result.json()['rendered'], self.assertEqual(result.json()['rendered'],
f'<p>This mentions <a class="stream" data-stream-id="{stream_id}" href="/#narrow/stream/{stream_id}-Denmark">#Denmark</a> and <span class="user-mention" data-user-id="{user_id}">@King Hamlet</span>.</p>') f'<p>This mentions <a class="stream" data-stream-id="{stream_id}" href="/#narrow/stream/{stream_id}-Denmark">#Denmark</a> and <span class="user-mention" data-user-id="{user_id}">@King Hamlet</span>.</p>')
class BugdownErrorTests(ZulipTestCase): class MarkdownErrorTests(ZulipTestCase):
def test_bugdown_error_handling(self) -> None: def test_markdown_error_handling(self) -> None:
with self.simulated_markdown_failure(): with self.simulated_markdown_failure():
with self.assertRaises(MarkdownRenderingException): with self.assertRaises(MarkdownRenderingException):
markdown_convert('') markdown_convert('')
@ -2175,7 +2175,7 @@ class BugdownErrorTests(ZulipTestCase):
result = processor.run(markdown_input) result = processor.run(markdown_input)
self.assertEqual(result, expected) self.assertEqual(result, expected)
class BugdownAvatarTestCase(ZulipTestCase): class MarkdownAvatarTestCase(ZulipTestCase):
def test_possible_avatar_emails(self) -> None: def test_possible_avatar_emails(self) -> None:
content = ''' content = '''
hello !avatar(foo@example.com) my email is ignore@ignore.com hello !avatar(foo@example.com) my email is ignore@ignore.com