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 from eorg.generate import html
def tangle(doc): def tangle(doc):
print("tangle") print("tangle")
code = getattr(doc, 'code') code = getattr(doc, 'code')
print(code) print(code)
def recursive(path): def recursive(path):
for root, dirs, filenames in os.walk(path): for root, dirs, filenames in os.walk(path):
for filename in filenames: for filename in filenames:
if filename.endswith(".org"): if filename.endswith(".org"):
yield root + os.sep + filename yield root + os.sep + filename
def tokenize(doc): def tokenize(doc):
for item in doc: for item in doc:
print(item) print(item)
def htmlize(doc): def htmlize(doc):
for item in doc: for item in doc:
print(item) print(item)
def handler(fp, kwargs): def handler(fp, kwargs):
if kwargs.s is True: if kwargs.s is True:
tokenize(doc) tokenize(doc)
@ -37,6 +40,7 @@ def handler(fp, kwargs):
values[item] = getattr(doc, item) values[item] = getattr(doc, item)
print(' | '.join([k + ' - ' + v for k,v in values.items()])) print(' | '.join([k + ' - ' + v for k,v in values.items()]))
if __name__ == "__main__": if __name__ == "__main__":
import argparse 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")) lexer = get_lexer_by_name(code.attrs.get("language", "shell"))
except pygments.util.ClassNotFound as e: except pygments.util.ClassNotFound as e:
lexer = get_lexer_by_name(code.attrs.get("language", "text")) lexer = get_lexer_by_name(code.attrs.get("language", "text"))
return highlight(code.value, lexer, HtmlFormatter(linenos=True)) 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(): if token.value[0].isdigit():
bullet = 'ol' 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"): for row in token.value.split("\n"):
if row: if row:
text = '' 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 os
import pytest import pytest
import snippets
from io import StringIO from io import StringIO
from eorg import tokens from eorg import tokens
from eorg.tokens import Token from eorg.tokens import Token
from eorg.parser import parse from eorg.parser import parse
from eorg.parser import parse_text from eorg.parser import parse_text
from eorg.generate import html
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(): def test_bullet_block():
text = StringIO( 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)
+ Bullet 1 assert result.read() == expected
+ 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