From 84eca442dcde0a296b57d7108ca0a954802d1324 Mon Sep 17 00:00:00 2001 From: Oly Date: Fri, 2 Nov 2018 14:20:19 +0000 Subject: [PATCH] Added src code tests --- tests/test_html.py | 67 +++++++++++++++++++++++++++++++++++++-------- tests/test_regex.py | 18 ++++++++++++ 2 files changed, 73 insertions(+), 12 deletions(-) diff --git a/tests/test_html.py b/tests/test_html.py index 23e6bb1..5ccd6a7 100644 --- a/tests/test_html.py +++ b/tests/test_html.py @@ -8,21 +8,29 @@ from eorg.parser import parse_text def test_emphasis(): text = "parse emphasis *bold text* _underlined text_ /italic text/ normal text" - expected = [Token(token='TEXT', value='parse emphasis ' ), Token(token='B', value='bold text'), Token(token='TEXT', value=' ' ), Token(token='U', value='underlined text'), Token(token='TEXT', value=' ' ), Token(token='I', value='italic text'), Token('TEXT', ' normal text')] + expected = [ + Token(token="TEXT", value="parse emphasis "), + Token(token="B", value="bold text"), + Token(token="TEXT", value=" "), + Token(token="U", value="underlined text"), + Token(token="TEXT", value=" "), + Token(token="I", value="italic text"), + Token("TEXT", " normal text"), + ] result = parse_text(text) - assert result[0].token == 'TEXT' + assert result[0].token == "TEXT" assert expected[0].value == result[0].value - assert result[1].token == 'B' + assert result[1].token == "B" assert expected[1].value == result[1].value - assert result[2].token == 'TEXT' + assert result[2].token == "TEXT" assert expected[2].value == result[2].value - assert result[3].token == 'U' + assert result[3].token == "U" assert expected[3].value == result[3].value - assert result[4].token == 'TEXT' + assert result[4].token == "TEXT" assert expected[4].value == result[4].value - assert result[5].token == 'I' + assert result[5].token == "I" assert expected[5].value == result[5].value - assert result[6].token == 'TEXT' + assert result[6].token == "TEXT" assert expected[6].value == result[6].value @@ -39,23 +47,58 @@ def test_image(): assert result[2].value == expected[2].value +def test_link(): + text = "parse link [[../../test.html][test]] after link" + expected = [ + Token("TEXT", "parse link "), + Token("IMG", ["../../test.html", "test"]), + Token("TEXT", " after link"), + ] + result = parse_text(text) + assert result[0].value == expected[0].value + assert result[1].value == expected[1].value + assert result[2].value == expected[2].value + def test_example(): text = StringIO( - """ + """ #+BEGIN_EXAMPLE *I'm bold text* /I'm italic text/ _I'm underlined text_ -#+END_EXAMPLE""") +#+END_EXAMPLE""" + ) expected = [ Token("BREAK", ""), - Token("EXAMPLE", """*I'm bold text* + Token( + "EXAMPLE", + """*I'm bold text* /I'm italic text/ _I'm underlined text_ -"""), +""", + ), ] result = parse(text).doc assert result[0].value == expected[0].value assert result[1].value == expected[1].value + + +def test_src_block(): + text = StringIO( + """ +#+BEGIN_SRC sh :results output drawer +head -n 5 examples/html-plain/example.py +#+END_SRC""" + ) + + expected = [ + Token("BREAK", ""), + Token("SRC", """head -n 5 examples/html-plain/example.py\n"""), + ] + result = parse(text).doc + print(result) + assert result[0].value == expected[0].value + assert result[1].attrs.get('language') == 'sh' + assert result[1].value == expected[1].value diff --git a/tests/test_regex.py b/tests/test_regex.py index c80a160..2fd238b 100644 --- a/tests/test_regex.py +++ b/tests/test_regex.py @@ -17,3 +17,21 @@ def test_example(): match = re.search(rx, text) assert match is not None + + +def test_source(): + # invalid if no language specified + text="#+BEGIN_SRC" + rx = const.t_SRC_BEGIN + match = re.search(rx, text) + assert match is None + + text="#+BEGIN_SRC " + rx = const.t_SRC_BEGIN + match = re.search(rx, text) + assert match is not None + + text="#+BEGIN_SRC sh :results silent" + rx = const.t_SRC_BEGIN + match = re.search(rx, text) + assert match is not None