Updated bullet test to remove styles

This commit is contained in:
Oly 2018-11-13 14:53:58 +00:00
parent 670d9b18f0
commit 8def867f92
4 changed files with 150 additions and 116 deletions

View File

@ -4,26 +4,29 @@ from eorg.parser import parse
from eorg.generate import html
def tangle(doc):
print("tangle")
code = getattr(doc, 'code')
print(code)
def recursive(path):
for root, dirs, filenames in os.walk(path):
for filename in filenames:
if filename.endswith(".org"):
yield root + os.sep + filename
def tokenize(doc):
for item in doc:
print(item)
def htmlize(doc):
for item in doc:
print(item)
def handler(fp, kwargs):
if kwargs.s is True:
tokenize(doc)
@ -37,6 +40,7 @@ def handler(fp, kwargs):
values[item] = getattr(doc, item)
print(' | '.join([k + ' - ' + v for k,v in values.items()]))
if __name__ == "__main__":
import argparse

View File

@ -15,7 +15,6 @@ def src(doc, code, cls="", root=True):
lexer = get_lexer_by_name(code.attrs.get("language", "shell"))
except pygments.util.ClassNotFound as e:
lexer = get_lexer_by_name(code.attrs.get("language", "text"))
return highlight(code.value, lexer, HtmlFormatter(linenos=True))
@ -48,7 +47,7 @@ def parse_bullets_html(doc, token, cls="", root=True):
if token.value[0].isdigit():
bullet = 'ol'
response.write(f"<{bullet}{cls} style=\"list-style-type: decimal-leading-zero;\">")
response.write(f"<{bullet}{cls}>")
for row in token.value.split("\n"):
if row:
text = ''

View File

@ -0,0 +1,139 @@
import os
import pytest
from io import StringIO
from eorg import tokens
from eorg.tokens import Token
from eorg.parser import parse
from eorg.parser import parse_text
def test_emphasis():
text = "parse emphasis *bold text* _underlined text_ /italic text/ normal text"
expected = [
Token(token=tokens.TEXT, value="parse emphasis "),
Token(token=tokens.BOLD, value="bold text"),
Token(token=tokens.TEXT, value=" "),
Token(token=tokens.UNDERLINED, value="underlined text"),
Token(token=tokens.TEXT, value=" "),
Token(token=tokens.ITALIC, value="italic text"),
Token(tokens.TEXT, " normal text"),
]
result = parse_text(text)
assert result[0].token == tokens.TEXT
assert expected[0].value == result[0].value
assert result[1].token == tokens.BOLD
assert expected[1].value == result[1].value
assert result[2].token == tokens.TEXT
assert expected[2].value == result[2].value
assert result[3].token == tokens.UNDERLINED
assert expected[3].value == result[3].value
assert result[4].token == tokens.TEXT
assert expected[4].value == result[4].value
assert result[5].token == tokens.ITALIC
assert expected[5].value == result[5].value
assert result[6].token == tokens.TEXT
assert expected[6].value == result[6].value
def test_image():
text = "parse image [[../../test.jpg][test]] after image"
expected = [
Token(tokens.TEXT, "parse image "),
Token(tokens.IMAGE, ["../../test.jpg", "test"]),
Token(tokens.TEXT, " after image"),
]
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_link():
text = "parse link [[../../test.html][test]] after link"
expected = [
Token(tokens.TEXT, "parse link "),
Token(tokens.LINK, ["../../test.html", "test"]),
Token(tokens.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"""
)
expected = [
Token(tokens.BLANK, ""),
Token(
tokens.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(tokens.BLANK, ""),
Token(tokens.SOURCE, """head -n 5 examples/html-plain/example.py\n"""),
]
result = parse(text).doc
assert result[0].token == tokens.BLANK
assert result[0].value == expected[0].value
assert result[1].attrs.get('language') == 'sh'
assert result[1].value == expected[1].value
def test_bullet_block():
text = StringIO(
"""
+ Bullet 1
+ Bullet 2"""
)
expected = [
Token(tokens.BLANK, ""),
Token(tokens.BULLET, """+ Bullet 1\n+ Bullet 2\n"""),
]
result = parse(text).doc
assert result[0].token == tokens.BLANK
assert result[0].value == expected[0].value
assert result[1].token == tokens.BULLET
assert result[1].value == expected[1].value
text = StringIO(
"""
1. Bullet 1
2. Bullet 2"""
)
expected = [
Token(tokens.BLANK, ""),
Token(tokens.BULLET, """1. Bullet 1\n2. Bullet 2\n"""),
]
result = parse(text).doc
assert result[0].token == tokens.BLANK
assert result[0].value == expected[0].value
assert result[1].token == tokens.BULLET
assert result[1].value == expected[1].value

View File

@ -1,123 +1,15 @@
import os
import pytest
import snippets
from io import StringIO
from eorg import tokens
from eorg.tokens import Token
from eorg.parser import parse
from eorg.parser import parse_text
def test_emphasis():
text = "parse emphasis *bold text* _underlined text_ /italic text/ normal text"
expected = [
Token(token=tokens.TEXT, value="parse emphasis "),
Token(token=tokens.BOLD, value="bold text"),
Token(token=tokens.TEXT, value=" "),
Token(token=tokens.UNDERLINED, value="underlined text"),
Token(token=tokens.TEXT, value=" "),
Token(token=tokens.ITALIC, value="italic text"),
Token(tokens.TEXT, " normal text"),
]
result = parse_text(text)
assert result[0].token == tokens.TEXT
assert expected[0].value == result[0].value
assert result[1].token == tokens.BOLD
assert expected[1].value == result[1].value
assert result[2].token == tokens.TEXT
assert expected[2].value == result[2].value
assert result[3].token == tokens.UNDERLINED
assert expected[3].value == result[3].value
assert result[4].token == tokens.TEXT
assert expected[4].value == result[4].value
assert result[5].token == tokens.ITALIC
assert expected[5].value == result[5].value
assert result[6].token == tokens.TEXT
assert expected[6].value == result[6].value
def test_image():
text = "parse image [[../../test.jpg][test]] after image"
expected = [
Token(tokens.TEXT, "parse image "),
Token(tokens.IMAGE, ["../../test.jpg", "test"]),
Token(tokens.TEXT, " after image"),
]
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_link():
text = "parse link [[../../test.html][test]] after link"
expected = [
Token(tokens.TEXT, "parse link "),
Token(tokens.LINK, ["../../test.html", "test"]),
Token(tokens.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"""
)
expected = [
Token(tokens.BLANK, ""),
Token(
tokens.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(tokens.BLANK, ""),
Token(tokens.SOURCE, """head -n 5 examples/html-plain/example.py\n"""),
]
result = parse(text).doc
assert result[0].token == tokens.BLANK
assert result[0].value == expected[0].value
assert result[1].attrs.get('language') == 'sh'
assert result[1].value == expected[1].value
from eorg.generate import html
def test_bullet_block():
text = StringIO(
"""
+ Bullet 1
+ Bullet 2"""
)
expected = [
Token(tokens.BLANK, ""),
Token(tokens.BULLET, """+ Bullet 1\n+ Bullet 2\n"""),
]
result = parse(text).doc
assert result[0].token == tokens.BLANK
assert result[0].value == expected[0].value
assert result[1].token == tokens.BULLET
assert result[1].value == expected[1].value
expected = """<ul class="browser-default"><li class="collection-item">Bullet 1</li><li class="collection-item">Bullet 2</li></ul>"""
result = html(parse(snippets.bullet_plus_snippet).doc)
assert result.read() == expected