From f4b6a50903ec6d82daf414a448e0175d79293efb Mon Sep 17 00:00:00 2001 From: SavagePeanut Date: Sun, 3 Sep 2023 20:40:20 -0500 Subject: fix newlines for matrix --- tests/test_matrix.py | 147 ++++++++++++++++++++++++--------------------------- 1 file changed, 68 insertions(+), 79 deletions(-) (limited to 'tests/test_matrix.py') diff --git a/tests/test_matrix.py b/tests/test_matrix.py index 0bc6f1a..be33973 100644 --- a/tests/test_matrix.py +++ b/tests/test_matrix.py @@ -1,4 +1,4 @@ -from slidge_style_parser import format_body +from slidge_style_parser import format_for_matrix MATRIX_FORMATS = { "_": ("", ""), @@ -15,270 +15,259 @@ MATRIX_FORMATS = { def test_basic(): test = "_underline_" formatted_body = "underline" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "*bold*" formatted_body = "bold" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "~strikethrough~" formatted_body = "strikethrough" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "`code span`" formatted_body = "code span" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = """ ```python def test_basic(): test = "_underline_" formatted_body = "underline" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) ``` """ - formatted_body = '
    def test_basic():
test = "_underline_"
formatted_body = "underline"
assert(format_body(test, MATRIX_FORMATS) == formatted_body)

' - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + formatted_body = '
    def test_basic():
test = "_underline_"
formatted_body = "underline"
assert(format_for_matrix(test) == formatted_body)

' + assert(format_for_matrix(test) == formatted_body) test = "```\ncode block\n```" formatted_body = "
code block
" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "||this message contains a spoiler||" formatted_body = "this message contains a spoiler" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) def test_quotes(): test = ">single" formatted_body = "
single
" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = ">single arrow ->" formatted_body = "
single arrow ->
" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = ">single\n>grouped" formatted_body = "
single
grouped
" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = ">>double" formatted_body = "
double
" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = ">>double\n>>double" formatted_body = "
double
double
" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = ">>double\n&>not quote" formatted_body = "
double

&>not quote" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = ">>double\n>grouped single" formatted_body = "
double

grouped single
" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = ">>>tripple\n>single\n>>double" formatted_body = "
tripple

single
double
" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) def test_code_blocks(): test = "```\nhacker\ncode\n```" - formatted_body = "
hacker
code
" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + formatted_body = "
hacker\ncode
" + assert(format_for_matrix(test) == formatted_body) test = "```python\nhacker code\n```" formatted_body = "
hacker code
" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "```pythonaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\nhacker code\n```" formatted_body = "
hacker code
" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "```python\nhacker code\n```\nnormal text" formatted_body = "
hacker code

normal text" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "```python\nhacker code\n```\nnormal text\n```java\npublic static void main(String [])\n```" formatted_body = "
hacker code

normal text
public static void main(String [])
" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = ">```java\n>why are you quoting a code block\n>```" formatted_body = "
why are you quoting a code block
" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = ">>```\n>>double quote code block\n>single quote not in code block\nnormal text" formatted_body = "
double quote code block

single quote not in code block

normal text" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = ">```\n>please stop trying to break my parser ;-;" formatted_body = "
please stop trying to break my parser ;-;
" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = ">>```\n>>>>double quote code block\n>single quote not in code block\nnormal text" formatted_body = "
>>double quote code block

single quote not in code block

normal text" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "_```_ignored\ninvalid code block\n```" formatted_body = "```ignored
invalid code block
```" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) def test_escaped(): test = "\\_no underline_" formatted_body = "_no underline_" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "\\\\_no underline_" formatted_body = "\\_no underline_" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = ">>>tripple\n\\>none\n>>double" formatted_body = "
tripple

>none
double
" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) def test_nested(): test = "`*~_code span_~*`" formatted_body = "*~_code span_~*" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "*_~`code span`~_*" formatted_body = "code span" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = ">*_~`code span`~_*" formatted_body = "
code span
" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "*bold star >*< star bold*" formatted_body = "bold star >*< star bold" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "*_bold*_" formatted_body = "_bold_" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "__underlined__" formatted_body = "underlined" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) def test_no_changes(): test = "" formatted_body = "" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "~~ empty `````` styles **" formatted_body = "~~ empty `````` styles **" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "this is not an empty string" formatted_body = "this is not an empty string" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "arrow ->" formatted_body = "arrow ->" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = " > no quote" formatted_body = " > no quote" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "_not underlined" formatted_body = "_not underlined" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "|not a spoiler|" formatted_body = "|not a spoiler|" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "||\nalso\nnot\na\nspoiler||" formatted_body = "||
also
not
a
spoiler||" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "`no code\nblock here`" formatted_body = "`no code
block here`" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "invalid ```\ncode block\n```" formatted_body = "invalid ```
code block
```" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "```\ncode block\ninvalid```" formatted_body = "```
code block
invalid```" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "```\ncode block\n```invalid" formatted_body = "```
code block
```invalid" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) def test_assorted(): test = "\n" formatted_body = "
" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "at the ||end||" formatted_body = "at the end" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "in the ~middle~ here" formatted_body = "in the middle here" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "_underline_ *bold* ~strikethrough~ >not quote ||spoiler||\n>quote\nnothing\nnothing\n>>>>another quote with ||~_*```four```*_~||" formatted_body = "underline bold strikethrough >not quote spoiler
quote

nothing
nothing
another quote with ```four```
" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = ">```\n>do be do be dooo ba do be do be do ba\n>>>" - formatted_body = "
do be do be dooo ba do be do be do ba
>>
" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + formatted_body = "
do be do be dooo ba do be do be do ba\n>>
" + assert(format_for_matrix(test) == formatted_body) test = "\n\n>```\n>do be do be dooo ba do be do be do ba\na\n\n\naoeu\n" formatted_body = "

do be do be dooo ba do be do be do ba

a


aoeu
" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = ">```\n>do be do be dooo ba do be do be do ba\n>\n>\n>aoeu" - formatted_body = "
do be do be dooo ba do be do be do ba


aoeu
" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + formatted_body = "
do be do be dooo ba do be do be do ba\n\n\naoeu
" + assert(format_for_matrix(test) == formatted_body) test = ">```\n>code block\n>```invalid end\n" - formatted_body = "
code block
```invalid end

" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + formatted_body = "
code block\n```invalid end

" + assert(format_for_matrix(test) == formatted_body) test = "invalid ```\ncode block\n*bold*\n```" formatted_body = "invalid ```
code block
bold
```" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) def test_weird_utf8(): test = "โค๏ธ๐Ÿ’“๐Ÿ’•๐Ÿ’–๐Ÿ’— ||๐Ÿ’™๐Ÿ’š๐Ÿ’›๐Ÿ’œ๐Ÿ–ค|| ๐Ÿ’๐Ÿ’ž๐Ÿ’Ÿโฃ๏ธ" formatted_body = "โค๏ธ๐Ÿ’“๐Ÿ’•๐Ÿ’–๐Ÿ’— ๐Ÿ’™๐Ÿ’š๐Ÿ’›๐Ÿ’œ๐Ÿ–ค ๐Ÿ’๐Ÿ’ž๐Ÿ’Ÿโฃ๏ธ" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง _underline_๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ง" formatted_body = "๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง underline๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ง" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "\u202eRight to left" formatted_body = "\u202eRight to left" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = ">\u202eRight to left quote?" formatted_body = "
\u202eRight to left quote?
" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "_Invisible\u200bseparator_" formatted_body = "Invisible\u200bseparator" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) test = "~\u200b~" formatted_body = "\u200b" - assert(format_body(test, MATRIX_FORMATS) == formatted_body) - -LIMITED_FORMATS = { - "_": ("", ""), - "~": ("", ""), - "`": ("", "") -} - -def test_limited(): - test = "_underline_ *bold* ~strikethrough~ >not quote ||spoiler||\n>quote\nnothing\nnothing\n>>>>another quote with ||~_*```four```*_~||" - formatted_body = "underline *bold* strikethrough >not quote ||spoiler||\n>quote\nnothing\nnothing\n>>>>another quote with ||*```four```*||" - assert(format_body(test, LIMITED_FORMATS) == formatted_body) + assert(format_for_matrix(test) == formatted_body) -- cgit v1.2.3