test_quote_bbcode.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. from ..parser import parse
  2. def test_single_line_quote(request_mock, user, snapshot):
  3. text = "[quote]Sit amet elit.[/quote]"
  4. result = parse(text, request_mock, user, minify=False)
  5. snapshot.assert_match(result["parsed_text"])
  6. def test_single_line_authored_quote(request_mock, user, snapshot):
  7. text = '[quote="@Bob"]Sit amet elit.[/quote]'
  8. result = parse(text, request_mock, user, minify=False)
  9. snapshot.assert_match(result["parsed_text"])
  10. def test_single_line_authored_quote_without_quotations(request_mock, user, snapshot):
  11. text = "[quote=@Bob]Sit amet elit.[/quote]"
  12. result = parse(text, request_mock, user, minify=False)
  13. snapshot.assert_match(result["parsed_text"])
  14. def test_quote_can_contain_bbcode_or_markdown(request_mock, user, snapshot):
  15. text = "[quote]Sit **amet** [u]elit[/u].[/quote]"
  16. result = parse(text, request_mock, user, minify=False)
  17. snapshot.assert_match(result["parsed_text"])
  18. def test_multi_line_quote(request_mock, user, snapshot):
  19. text = """
  20. [quote]
  21. Sit amet elit.
  22. Another line.
  23. [/quote]
  24. """
  25. result = parse(text, request_mock, user, minify=False)
  26. snapshot.assert_match(result["parsed_text"])
  27. def test_quotes_can_be_nested(request_mock, user, snapshot):
  28. text = """
  29. [quote]
  30. Sit amet elit.
  31. [quote]Nested quote[/quote]
  32. [/quote]
  33. """
  34. result = parse(text, request_mock, user, minify=False)
  35. snapshot.assert_match(result["parsed_text"])
  36. # Rtest for weird edge case in which hr gets moved outside of quote
  37. def test_quotes_can_contain_hr_markdown(request_mock, user, snapshot):
  38. text = """
  39. [quote]
  40. Sit amet elit.
  41. - - - - -
  42. Another line.
  43. [/quote]
  44. """
  45. result = parse(text, request_mock, user, minify=False)
  46. snapshot.assert_match(result["parsed_text"])