Fix org parameter parsing

This commit is contained in:
Oliver Marks 2018-10-24 19:58:53 +01:00
parent 13d9f685d9
commit 0eee46b2ae
3 changed files with 28 additions and 7 deletions

View File

@ -86,7 +86,7 @@ class Document:
def parse_attrs(text):
attrs = {}
value_list = text.split(':')
attrs['language'] = value_list.pop(0)
attrs['language'] = value_list.pop(0).strip()
for row in value_list:
values = row.strip().split(' ')
attrs[values[0]] = values[1:]

View File

@ -1,2 +1,2 @@
__version__ = 0.2
__version__ = 0.3

View File

@ -2,12 +2,33 @@ import os
import pytest
from io import StringIO
from eorg.parser import parse
from eorg.parser import Token
CODE_BLOCK_EXAMPLE_01 = StringIO("""
CODE_BLOCK_EXAMPLE_01 = StringIO(
"""
#+BEGIN_SRC shell :results silent :tangle .env
elcato create --path=/tmp/myblog
#+END_SRC""")
#+END_SRC"""
)
def test_block_settings():
result = parse(CODE_BLOCK_EXAMPLE_01)
assert [i for i in result] == []
expected = [
Token(token="BREAK", value=""),
Token(
token="SRC_BEGIN",
value="elcato create --path=/tmp/myblog\n",
attrs={
"language": "shell",
"results": ["silent"],
"tangle": [".env"],
},
),
]
result = [i for i in parse(CODE_BLOCK_EXAMPLE_01)]
assert result[0].value == expected[0].value
assert result[1].value == expected[1].value
assert result[1].attrs == expected[1].attrs
#assert result == expected