summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaylan Limberg <waylan.limberg@icloud.com>2015-06-21 21:21:49 -0400
committerWaylan Limberg <waylan.limberg@icloud.com>2015-06-21 21:21:49 -0400
commit3c69b0fb1d86f68a337bf3bd9b4a86b30a5fe6bf (patch)
tree6972f33b04d940e77486818e6676755550817107
parentde76d24283aa62a81e2c4529c4d90fb388ddd26d (diff)
downloadpython-markdown-inline.tar.gz
Fixed many failing tests in inline refactor. Still a ways to go.inline
-rw-r--r--markdown/core.py4
-rw-r--r--markdown/extensions/footnotes.py2
-rw-r--r--markdown/extensions/legacy_em.py4
-rw-r--r--markdown/extensions/wikilinks.py4
-rw-r--r--markdown/inlinepatterns.py59
-rw-r--r--markdown/treeprocessors.py7
-rw-r--r--tests/basic/inline-html-simple.html2
-rw-r--r--tests/test_apis.py12
-rw-r--r--tests/testsuite/2-paragraphs-hard-return-spaces.md5
-rw-r--r--tests/testsuite/2-paragraphs-hard-return-spaces.out5
-rw-r--r--tests/testsuite/2-paragraphs-hard-return.md5
-rw-r--r--tests/testsuite/2-paragraphs-hard-return.out5
-rw-r--r--tests/testsuite/2-paragraphs-line-returns.md5
-rw-r--r--tests/testsuite/2-paragraphs-line-returns.out3
-rw-r--r--tests/testsuite/2-paragraphs-line-spaces.md3
-rw-r--r--tests/testsuite/2-paragraphs-line-spaces.out3
-rw-r--r--tests/testsuite/2-paragraphs-line-tab.md3
-rw-r--r--tests/testsuite/2-paragraphs-line-tab.out3
-rw-r--r--tests/testsuite/2-paragraphs-line.md3
-rw-r--r--tests/testsuite/2-paragraphs-line.out3
-rw-r--r--tests/testsuite/EOL-CR+LF.md6
-rw-r--r--tests/testsuite/EOL-CR+LF.out5
-rw-r--r--tests/testsuite/EOL-CR.md1
-rw-r--r--tests/testsuite/EOL-CR.out1
-rw-r--r--tests/testsuite/EOL-LF.md6
-rw-r--r--tests/testsuite/EOL-LF.out5
-rw-r--r--tests/testsuite/ampersand-text-flow.md1
-rw-r--r--tests/testsuite/ampersand-text-flow.out1
-rw-r--r--tests/testsuite/ampersand-uri.md1
-rw-r--r--tests/testsuite/ampersand-uri.out1
-rw-r--r--tests/testsuite/asterisk-near-text.md1
-rw-r--r--tests/testsuite/asterisk-near-text.out1
-rw-r--r--tests/testsuite/asterisk.md1
-rw-r--r--tests/testsuite/asterisk.out1
-rw-r--r--tests/testsuite/backslash-escape.md12
-rw-r--r--tests/testsuite/backslash-escape.out12
-rw-r--r--tests/testsuite/blockquote-added-markup.md3
-rw-r--r--tests/testsuite/blockquote-added-markup.out5
-rw-r--r--tests/testsuite/blockquote-line-2-paragraphs.md3
-rw-r--r--tests/testsuite/blockquote-line-2-paragraphs.out5
-rw-r--r--tests/testsuite/blockquote-line.md1
-rw-r--r--tests/testsuite/blockquote-line.out3
-rw-r--r--tests/testsuite/blockquote-multiline-1-space-begin.md3
-rw-r--r--tests/testsuite/blockquote-multiline-1-space-begin.out5
-rw-r--r--tests/testsuite/blockquote-multiline-1-space-end.md3
-rw-r--r--tests/testsuite/blockquote-multiline-1-space-end.out5
-rw-r--r--tests/testsuite/blockquote-multiline-2-paragraphs.md6
-rw-r--r--tests/testsuite/blockquote-multiline-2-paragraphs.out8
-rw-r--r--tests/testsuite/blockquote-multiline.md3
-rw-r--r--tests/testsuite/blockquote-multiline.out5
-rw-r--r--tests/testsuite/blockquote-nested-multiplereturn-level1.md5
-rw-r--r--tests/testsuite/blockquote-nested-multiplereturn-level1.out9
-rw-r--r--tests/testsuite/blockquote-nested-multiplereturn.md3
-rw-r--r--tests/testsuite/blockquote-nested-multiplereturn.out7
-rw-r--r--tests/testsuite/blockquote-nested-return-level1.md3
-rw-r--r--tests/testsuite/blockquote-nested-return-level1.out8
-rw-r--r--tests/testsuite/blockquote-nested.md2
-rw-r--r--tests/testsuite/blockquote-nested.out7
-rw-r--r--tests/testsuite/code-1-tab.md2
-rw-r--r--tests/testsuite/code-1-tab.out3
-rw-r--r--tests/testsuite/code-4-spaces-escaping.md2
-rw-r--r--tests/testsuite/code-4-spaces-escaping.out3
-rw-r--r--tests/testsuite/code-4-spaces.md2
-rw-r--r--tests/testsuite/code-4-spaces.out3
-rw-r--r--tests/testsuite/em-middle-word.md1
-rw-r--r--tests/testsuite/em-middle-word.out1
-rw-r--r--tests/testsuite/em-star.md1
-rw-r--r--tests/testsuite/em-star.out1
-rw-r--r--tests/testsuite/em-underscore.md1
-rw-r--r--tests/testsuite/em-underscore.out1
-rw-r--r--tests/testsuite/entities-text-flow.md1
-rw-r--r--tests/testsuite/entities-text-flow.out1
-rw-r--r--tests/testsuite/header-level1-equal-underlined.md2
-rw-r--r--tests/testsuite/header-level1-equal-underlined.out1
-rw-r--r--tests/testsuite/header-level1-hash-sign-closed.md1
-rw-r--r--tests/testsuite/header-level1-hash-sign-closed.out1
-rw-r--r--tests/testsuite/header-level1-hash-sign-trailing-1-space.md1
-rw-r--r--tests/testsuite/header-level1-hash-sign-trailing-1-space.out1
-rw-r--r--tests/testsuite/header-level1-hash-sign-trailing-2-spaces.md2
-rw-r--r--tests/testsuite/header-level1-hash-sign-trailing-2-spaces.out3
-rw-r--r--tests/testsuite/header-level1-hash-sign.md1
-rw-r--r--tests/testsuite/header-level1-hash-sign.out1
-rw-r--r--tests/testsuite/header-level2-dash-underlined.md2
-rw-r--r--tests/testsuite/header-level2-dash-underlined.out1
-rw-r--r--tests/testsuite/header-level2-hash-sign-closed.md1
-rw-r--r--tests/testsuite/header-level2-hash-sign-closed.out1
-rw-r--r--tests/testsuite/header-level2-hash-sign.md1
-rw-r--r--tests/testsuite/header-level2-hash-sign.out1
-rw-r--r--tests/testsuite/header-level3-hash-sign-closed.md1
-rw-r--r--tests/testsuite/header-level3-hash-sign-closed.out1
-rw-r--r--tests/testsuite/header-level3-hash-sign.md1
-rw-r--r--tests/testsuite/header-level3-hash-sign.out1
-rw-r--r--tests/testsuite/header-level4-hash-sign-closed.md1
-rw-r--r--tests/testsuite/header-level4-hash-sign-closed.out1
-rw-r--r--tests/testsuite/header-level4-hash-sign.md1
-rw-r--r--tests/testsuite/header-level4-hash-sign.out1
-rw-r--r--tests/testsuite/header-level5-hash-sign-closed.md1
-rw-r--r--tests/testsuite/header-level5-hash-sign-closed.out1
-rw-r--r--tests/testsuite/header-level5-hash-sign.md1
-rw-r--r--tests/testsuite/header-level5-hash-sign.out1
-rw-r--r--tests/testsuite/header-level6-hash-sign-closed.md1
-rw-r--r--tests/testsuite/header-level6-hash-sign-closed.out1
-rw-r--r--tests/testsuite/header-level6-hash-sign.md1
-rw-r--r--tests/testsuite/header-level6-hash-sign.out1
-rw-r--r--tests/testsuite/horizontal-rule-3-dashes-spaces.md1
-rw-r--r--tests/testsuite/horizontal-rule-3-dashes-spaces.out1
-rw-r--r--tests/testsuite/horizontal-rule-3-dashes.md1
-rw-r--r--tests/testsuite/horizontal-rule-3-dashes.out1
-rw-r--r--tests/testsuite/horizontal-rule-3-stars.md1
-rw-r--r--tests/testsuite/horizontal-rule-3-stars.out1
-rw-r--r--tests/testsuite/horizontal-rule-3-underscores.md1
-rw-r--r--tests/testsuite/horizontal-rule-3-underscores.out1
-rw-r--r--tests/testsuite/horizontal-rule-7-dashes.md1
-rw-r--r--tests/testsuite/horizontal-rule-7-dashes.out1
-rw-r--r--tests/testsuite/img-idref-title.md3
-rw-r--r--tests/testsuite/img-idref-title.out1
-rw-r--r--tests/testsuite/img-idref.md3
-rw-r--r--tests/testsuite/img-idref.out1
-rw-r--r--tests/testsuite/img-title.md1
-rw-r--r--tests/testsuite/img-title.out1
-rw-r--r--tests/testsuite/img.md1
-rw-r--r--tests/testsuite/img.out1
-rw-r--r--tests/testsuite/inline-code-escaping-entities.md1
-rw-r--r--tests/testsuite/inline-code-escaping-entities.out1
-rw-r--r--tests/testsuite/inline-code-with-visible-backtick.md1
-rw-r--r--tests/testsuite/inline-code-with-visible-backtick.out1
-rw-r--r--tests/testsuite/inline-code.md1
-rw-r--r--tests/testsuite/inline-code.out1
-rw-r--r--tests/testsuite/line-break-2-spaces.md2
-rw-r--r--tests/testsuite/line-break-2-spaces.out2
-rw-r--r--tests/testsuite/line-break-5-spaces.md2
-rw-r--r--tests/testsuite/line-break-5-spaces.out2
-rw-r--r--tests/testsuite/link-automatic.md1
-rw-r--r--tests/testsuite/link-automatic.out1
-rw-r--r--tests/testsuite/link-bracket-paranthesis-title.md1
-rw-r--r--tests/testsuite/link-bracket-paranthesis-title.out1
-rw-r--r--tests/testsuite/link-bracket-paranthesis.md1
-rw-r--r--tests/testsuite/link-bracket-paranthesis.out1
-rw-r--r--tests/testsuite/link-idref-angle-bracket.md3
-rw-r--r--tests/testsuite/link-idref-angle-bracket.out1
-rw-r--r--tests/testsuite/link-idref-implicit-spaces.md3
-rw-r--r--tests/testsuite/link-idref-implicit-spaces.out1
-rw-r--r--tests/testsuite/link-idref-implicit.md3
-rw-r--r--tests/testsuite/link-idref-implicit.out1
-rw-r--r--tests/testsuite/link-idref-space.md3
-rw-r--r--tests/testsuite/link-idref-space.out1
-rw-r--r--tests/testsuite/link-idref-title-next-line.md4
-rw-r--r--tests/testsuite/link-idref-title-next-line.out1
-rw-r--r--tests/testsuite/link-idref-title-paranthesis.md3
-rw-r--r--tests/testsuite/link-idref-title-paranthesis.out1
-rw-r--r--tests/testsuite/link-idref-title-single-quote.md3
-rw-r--r--tests/testsuite/link-idref-title-single-quote.out1
-rw-r--r--tests/testsuite/link-idref-title.md3
-rw-r--r--tests/testsuite/link-idref-title.out1
-rw-r--r--tests/testsuite/link-idref.md3
-rw-r--r--tests/testsuite/link-idref.out1
-rw-r--r--tests/testsuite/list-blockquote.md3
-rw-r--r--tests/testsuite/list-blockquote.out7
-rw-r--r--tests/testsuite/list-code-1-space.md3
-rw-r--r--tests/testsuite/list-code-1-space.out7
-rw-r--r--tests/testsuite/list-code.md4
-rw-r--r--tests/testsuite/list-code.out7
-rw-r--r--tests/testsuite/list-multiparagraphs-tab.md9
-rw-r--r--tests/testsuite/list-multiparagraphs-tab.out10
-rw-r--r--tests/testsuite/list-multiparagraphs.md9
-rw-r--r--tests/testsuite/list-multiparagraphs.out10
-rw-r--r--tests/testsuite/ordered-list-escaped.md1
-rw-r--r--tests/testsuite/ordered-list-escaped.out1
-rw-r--r--tests/testsuite/ordered-list-inner-par-list.md5
-rw-r--r--tests/testsuite/ordered-list-inner-par-list.out9
-rw-r--r--tests/testsuite/ordered-list-items-random-number.md3
-rw-r--r--tests/testsuite/ordered-list-items-random-number.out5
-rw-r--r--tests/testsuite/ordered-list-items.md3
-rw-r--r--tests/testsuite/ordered-list-items.out5
-rw-r--r--tests/testsuite/paragraph-hard-return.md3
-rw-r--r--tests/testsuite/paragraph-hard-return.out3
-rw-r--r--tests/testsuite/paragraph-line.md1
-rw-r--r--tests/testsuite/paragraph-line.out1
-rw-r--r--tests/testsuite/paragraph-trailing-leading-spaces.md1
-rw-r--r--tests/testsuite/paragraph-trailing-leading-spaces.out1
-rw-r--r--tests/testsuite/paragraph-trailing-tab.md1
-rw-r--r--tests/testsuite/paragraph-trailing-tab.out1
-rw-r--r--tests/testsuite/paragraphs-2-leading-spaces.md1
-rw-r--r--tests/testsuite/paragraphs-2-leading-spaces.out1
-rw-r--r--tests/testsuite/paragraphs-3-leading-spaces.md1
-rw-r--r--tests/testsuite/paragraphs-3-leading-spaces.out1
-rw-r--r--tests/testsuite/paragraphs-leading-space.md1
-rw-r--r--tests/testsuite/paragraphs-leading-space.out1
-rw-r--r--tests/testsuite/paragraphs-trailing-spaces.md1
-rw-r--r--tests/testsuite/paragraphs-trailing-spaces.out1
-rw-r--r--tests/testsuite/strong-middle-word.md1
-rw-r--r--tests/testsuite/strong-middle-word.out1
-rw-r--r--tests/testsuite/strong-star.md1
-rw-r--r--tests/testsuite/strong-star.out1
-rw-r--r--tests/testsuite/strong-underscore.md1
-rw-r--r--tests/testsuite/strong-underscore.out1
-rw-r--r--tests/testsuite/test.cfg13
-rw-r--r--tests/testsuite/unordered-list-items-asterisk.md3
-rw-r--r--tests/testsuite/unordered-list-items-asterisk.out5
-rw-r--r--tests/testsuite/unordered-list-items-dashsign.md3
-rw-r--r--tests/testsuite/unordered-list-items-dashsign.out5
-rw-r--r--tests/testsuite/unordered-list-items-leading-1space.md3
-rw-r--r--tests/testsuite/unordered-list-items-leading-1space.out5
-rw-r--r--tests/testsuite/unordered-list-items-leading-2spaces.md3
-rw-r--r--tests/testsuite/unordered-list-items-leading-2spaces.out5
-rw-r--r--tests/testsuite/unordered-list-items-leading-3spaces.md3
-rw-r--r--tests/testsuite/unordered-list-items-leading-3spaces.out5
-rw-r--r--tests/testsuite/unordered-list-items-plussign.md3
-rw-r--r--tests/testsuite/unordered-list-items-plussign.out5
-rw-r--r--tests/testsuite/unordered-list-paragraphs.md3
-rw-r--r--tests/testsuite/unordered-list-paragraphs.out4
-rw-r--r--tests/testsuite/unordered-list-unindented-content.md2
-rw-r--r--tests/testsuite/unordered-list-unindented-content.out4
-rw-r--r--tests/testsuite/unordered-list-with-indented-content.md5
-rw-r--r--tests/testsuite/unordered-list-with-indented-content.out7
215 files changed, 591 insertions, 59 deletions
diff --git a/markdown/core.py b/markdown/core.py
index 0b21d06..47a6c78 100644
--- a/markdown/core.py
+++ b/markdown/core.py
@@ -29,8 +29,8 @@ class Markdown(object):
'xhtml': to_xhtml_string,
}
- ESCAPED_CHARS = ['\\', '`', '*', '_', '{', '}', '[', ']',
- '(', ')', '>', '#', '+', '-', '.', '!']
+ ESCAPED_CHARS = ['\\', '`', '*', '_', '{', '}', '[', ']', '&',
+ '(', ')', '<', '>', '#', '+', '-', '.', '!']
def __init__(self, **kwargs):
"""
diff --git a/markdown/extensions/footnotes.py b/markdown/extensions/footnotes.py
index c04ad68..a237ae7 100644
--- a/markdown/extensions/footnotes.py
+++ b/markdown/extensions/footnotes.py
@@ -264,7 +264,7 @@ class FootnotePattern(Pattern):
self.footnotes = footnotes
def handleMatch(self, m):
- id = m.group(2)
+ id = m.group(1)
if id in self.footnotes.footnotes.keys():
sup = etree.Element("sup")
a = etree.SubElement(sup, "a")
diff --git a/markdown/extensions/legacy_em.py b/markdown/extensions/legacy_em.py
index 47963a8..54d2028 100644
--- a/markdown/extensions/legacy_em.py
+++ b/markdown/extensions/legacy_em.py
@@ -15,8 +15,8 @@ from __future__ import unicode_literals
from . import Extension
from ..inlinepatterns import SimpleTagPattern
-EMPHASIS_RE = r'(\*|_)(.+?)\2'
-STRONG_RE = r'(\*{2}|_{2})(.+?)\2'
+EMPHASIS_RE = r'(\*|_)(.+?)\1'
+STRONG_RE = r'(\*{2}|_{2})(.+?)\1'
class LegacyEmExtension(Extension):
diff --git a/markdown/extensions/wikilinks.py b/markdown/extensions/wikilinks.py
index 14f47a1..7b8899b 100644
--- a/markdown/extensions/wikilinks.py
+++ b/markdown/extensions/wikilinks.py
@@ -57,9 +57,9 @@ class WikiLinks(Pattern):
self.config = config
def handleMatch(self, m):
- if m.group(2).strip():
+ if m.group(1).strip():
base_url, end_url, html_class = self._getMeta()
- label = m.group(2).strip()
+ label = m.group(1).strip()
url = self.config['build_url'](label, base_url, end_url)
a = etree.Element('a')
a.text = label
diff --git a/markdown/inlinepatterns.py b/markdown/inlinepatterns.py
index 54d7644..5426c8c 100644
--- a/markdown/inlinepatterns.py
+++ b/markdown/inlinepatterns.py
@@ -120,7 +120,7 @@ STRONG_EM_RE = r'(\*|_)\1{2}(.+?)\1{2}(.*?)\1'
# [text](url) or [text](<url>) or [text](url "title")
LINK_RE = NOIMG + BRK + \
- r'''\(\s*(<.*?>|((?:(?:\(.*?\))|[^\(\)]))*?)\s*((['"])(.*?)\1\s*)?\)'''
+ r'''\(\s*(<.*?>|((?:(?:\(.*?\))|[^\(\)]))*?)\s*((['"])(.*?)\11\s*)?\)'''
# ![alttxt](http://x.com/) or ![alttxt](<http://x.com/>)
IMAGE_LINK_RE = r'\!' + BRK + r'\s*\((<.*?>|([^")]+"[^"]*"|[^\)]*))\)'
@@ -207,22 +207,15 @@ class Pattern(object):
return self.__class__.__name__
def unescape(self, text):
- """ Return unescaped text given text with an inline placeholder. """
- try:
- stash = self.md.treeprocessors['inline'].stashed_nodes
- except KeyError: # pragma: no cover
+ """ Processed any backslash escaped chars in string. """
+ if not isinstance(text, util.text_type):
return text
-
- def get_stash(m):
- id = m.group(0)
- if id in stash:
- value = stash.get(id)
- if isinstance(value, util.string_type):
- return value
- else:
- # An etree Element - return text content only
- return ''.join(value.itertext())
- return util.INLINE_PLACEHOLDER_RE.sub(get_stash, text)
+ def sub(m):
+ if m.group(1) in self.md.ESCAPED_CHARS:
+ return m.group(1)
+ else:
+ return m.group(0)
+ return re.sub(ESCAPE_RE, sub, text)
class SimpleTextPattern(Pattern):
@@ -295,28 +288,10 @@ class DoubleTagPattern(SimpleTagPattern):
class HtmlPattern(Pattern):
""" Store raw inline html and return a placeholder. """
def handleMatch(self, m):
- rawhtml = self.unescape(m.group(1))
+ rawhtml = m.group(1)
place_holder = self.md.htmlStash.store(rawhtml)
return place_holder
- def unescape(self, text):
- """ Return unescaped text given text with an inline placeholder. """
- try:
- stash = self.md.treeprocessors['inline'].stashed_nodes
- except KeyError: # pragma: no cover
- return text
-
- def get_stash(m):
- id = m.group(0)
- value = stash.get(id)
- if value is not None:
- try:
- return self.md.serializer(value)
- except:
- return '\%s' % value
-
- return util.INLINE_PLACEHOLDER_RE.sub(get_stash, text)
-
class LinkPattern(Pattern):
""" Return a link element from the given match. """
@@ -334,7 +309,7 @@ class LinkPattern(Pattern):
el.set("href", "")
if title:
- title = dequote(self.unescape(title))
+ title = self.unescape(dequote(title))
el.set("title", title)
return el
@@ -352,8 +327,8 @@ class ImagePattern(LinkPattern):
else:
el.set('src', "")
if len(src_parts) > 1:
- el.set('title', dequote(self.unescape(" ".join(src_parts[1:]))))
- el.set('alt', self.unescape(m.group(2)))
+ el.set('title', self.unescape(dequote(" ".join(src_parts[1:]))))
+ el.set('alt', self.unescape(m.group(1)))
return el
@@ -379,7 +354,7 @@ class ReferencePattern(LinkPattern):
href, title = self.md.references[id]
text = m.group(1)
- return self.makeTag(href, title, text)
+ return self.makeTag(self.unescape(href), self.unescape(title), text)
def makeTag(self, href, title, text):
el = util.etree.Element('a')
@@ -399,7 +374,7 @@ class ImageReferencePattern(ReferencePattern):
el.set("src", href)
if title:
el.set("title", title)
- el.set("alt", self.unescape(text))
+ el.set("alt", text)
return el
@@ -407,7 +382,7 @@ class AutolinkPattern(Pattern):
""" Return a link Element given an autolink (`<http://example/com>`). """
def handleMatch(self, m):
el = util.etree.Element("a")
- el.set('href', self.unescape(m.group(1)))
+ el.set('href', m.group(1))
el.text = util.AtomicString(m.group(1))
return el
@@ -418,7 +393,7 @@ class AutomailPattern(Pattern):
"""
def handleMatch(self, m):
el = util.etree.Element('a')
- email = self.unescape(m.group(1))
+ email = m.group(1)
if email.startswith("mailto:"):
email = email[len("mailto:"):]
diff --git a/markdown/treeprocessors.py b/markdown/treeprocessors.py
index d2036f6..c07acdc 100644
--- a/markdown/treeprocessors.py
+++ b/markdown/treeprocessors.py
@@ -48,7 +48,7 @@ class InlineProcessor(Treeprocessor):
def __init__(self, md):
super(InlineProcessor, self).__init__(md)
- self.TOKEN_RE = re.compile(r'|'.join('\\{0}'.format(x) for x in md.ESCAPED_CHARS))
+ self.TOKEN_RE = re.compile(r'|'.join('\\{0}'.format(x) for x in md.ESCAPED_CHARS + [' \n']))
def apply_patterns(self, text):
"""
@@ -61,10 +61,11 @@ class InlineProcessor(Treeprocessor):
match = pattern.getCompiledRegExp().match(text)
if match:
node = pattern.handleMatch(match)
- text = text[match.end():]
+ if node is not None:
+ text = text[match.end():]
break
- if not match:
+ if not match or node is None:
# Step forward one character
return text[0], None, text[1:]
diff --git a/tests/basic/inline-html-simple.html b/tests/basic/inline-html-simple.html
index 2159e1d..d55c777 100644
--- a/tests/basic/inline-html-simple.html
+++ b/tests/basic/inline-html-simple.html
@@ -57,4 +57,4 @@ Blah
<hr class="foo" id="bar" >
-<p><some <a href="http://example.com">weird</a> stuff></p> \ No newline at end of file
+<p><some [weird](http://example.com) stuff></p> \ No newline at end of file
diff --git a/tests/test_apis.py b/tests/test_apis.py
index 919d049..44749ab 100644
--- a/tests/test_apis.py
+++ b/tests/test_apis.py
@@ -521,9 +521,9 @@ class testAtomicString(unittest.TestCase):
tree = markdown.util.etree.Element('div')
p = markdown.util.etree.SubElement(tree, 'p')
p.text = 'some *text*'
- new = self.inlineprocessor.run(tree)
+ self.inlineprocessor.run(tree)
self.assertEqual(
- markdown.serializers.to_html_string(new),
+ markdown.serializers.to_html_string(tree),
'<div><p>some <em>text</em></p></div>'
)
@@ -532,9 +532,9 @@ class testAtomicString(unittest.TestCase):
tree = markdown.util.etree.Element('div')
p = markdown.util.etree.SubElement(tree, 'p')
p.text = markdown.util.AtomicString('some *text*')
- new = self.inlineprocessor.run(tree)
+ self.inlineprocessor.run(tree)
self.assertEqual(
- markdown.serializers.to_html_string(new),
+ markdown.serializers.to_html_string(tree),
'<div><p>some *text*</p></div>'
)
@@ -552,9 +552,9 @@ class testAtomicString(unittest.TestCase):
span3.tail = markdown.util.AtomicString(' *to*')
span2.tail = markdown.util.AtomicString(' *test*')
span1.tail = markdown.util.AtomicString(' *with*')
- new = self.inlineprocessor.run(tree)
+ self.inlineprocessor.run(tree)
self.assertEqual(
- markdown.serializers.to_html_string(new),
+ markdown.serializers.to_html_string(tree),
'<div><p>*some* <span>*more* <span>*text* <span>*here*</span> '
'*to*</span> *test*</span> *with*</p></div>'
)
diff --git a/tests/testsuite/2-paragraphs-hard-return-spaces.md b/tests/testsuite/2-paragraphs-hard-return-spaces.md
new file mode 100644
index 0000000..77ecf1e
--- /dev/null
+++ b/tests/testsuite/2-paragraphs-hard-return-spaces.md
@@ -0,0 +1,5 @@
+This is a first paragraph,
+on multiple lines.
+
+This is a second paragraph.
+There are spaces in between the two. \ No newline at end of file
diff --git a/tests/testsuite/2-paragraphs-hard-return-spaces.out b/tests/testsuite/2-paragraphs-hard-return-spaces.out
new file mode 100644
index 0000000..ed211e1
--- /dev/null
+++ b/tests/testsuite/2-paragraphs-hard-return-spaces.out
@@ -0,0 +1,5 @@
+<p>This is a first paragraph,
+on multiple lines.</p>
+
+<p>This is a second paragraph.
+There are spaces in between the two.</p> \ No newline at end of file
diff --git a/tests/testsuite/2-paragraphs-hard-return.md b/tests/testsuite/2-paragraphs-hard-return.md
new file mode 100644
index 0000000..7e103ad
--- /dev/null
+++ b/tests/testsuite/2-paragraphs-hard-return.md
@@ -0,0 +1,5 @@
+This is a first paragraph,
+on multiple lines.
+
+This is a second paragraph
+which has multiple lines too. \ No newline at end of file
diff --git a/tests/testsuite/2-paragraphs-hard-return.out b/tests/testsuite/2-paragraphs-hard-return.out
new file mode 100644
index 0000000..5da1c69
--- /dev/null
+++ b/tests/testsuite/2-paragraphs-hard-return.out
@@ -0,0 +1,5 @@
+<p>This is a first paragraph,
+on multiple lines.</p>
+
+<p>This is a second paragraph
+which has multiple lines too.</p> \ No newline at end of file
diff --git a/tests/testsuite/2-paragraphs-line-returns.md b/tests/testsuite/2-paragraphs-line-returns.md
new file mode 100644
index 0000000..6eefed1
--- /dev/null
+++ b/tests/testsuite/2-paragraphs-line-returns.md
@@ -0,0 +1,5 @@
+A first paragraph.
+
+
+
+A second paragraph after 3 CR (carriage return). \ No newline at end of file
diff --git a/tests/testsuite/2-paragraphs-line-returns.out b/tests/testsuite/2-paragraphs-line-returns.out
new file mode 100644
index 0000000..89f0e94
--- /dev/null
+++ b/tests/testsuite/2-paragraphs-line-returns.out
@@ -0,0 +1,3 @@
+<p>A first paragraph.</p>
+
+<p>A second paragraph after 3 CR (carriage return).</p> \ No newline at end of file
diff --git a/tests/testsuite/2-paragraphs-line-spaces.md b/tests/testsuite/2-paragraphs-line-spaces.md
new file mode 100644
index 0000000..59b9c3c
--- /dev/null
+++ b/tests/testsuite/2-paragraphs-line-spaces.md
@@ -0,0 +1,3 @@
+This a very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long paragraph on 1 line.
+
+A few spaces and a new long long long long long long long long long long long long long long long long paragraph on 1 line. \ No newline at end of file
diff --git a/tests/testsuite/2-paragraphs-line-spaces.out b/tests/testsuite/2-paragraphs-line-spaces.out
new file mode 100644
index 0000000..39270cc
--- /dev/null
+++ b/tests/testsuite/2-paragraphs-line-spaces.out
@@ -0,0 +1,3 @@
+<p>This a very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long paragraph on 1 line.</p>
+
+<p>A few spaces and a new long long long long long long long long long long long long long long long long paragraph on 1 line.</p> \ No newline at end of file
diff --git a/tests/testsuite/2-paragraphs-line-tab.md b/tests/testsuite/2-paragraphs-line-tab.md
new file mode 100644
index 0000000..9dcc229
--- /dev/null
+++ b/tests/testsuite/2-paragraphs-line-tab.md
@@ -0,0 +1,3 @@
+This a very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long paragraph on 1 line.
+
+1 tab to separate them and a new long long long long long long long long long long long long long long long long paragraph on 1 line. \ No newline at end of file
diff --git a/tests/testsuite/2-paragraphs-line-tab.out b/tests/testsuite/2-paragraphs-line-tab.out
new file mode 100644
index 0000000..6ba5a11
--- /dev/null
+++ b/tests/testsuite/2-paragraphs-line-tab.out
@@ -0,0 +1,3 @@
+<p>This a very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long paragraph on 1 line.</p>
+
+<p>1 tab to separate them and a new long long long long long long long long long long long long long long long long paragraph on 1 line.</p> \ No newline at end of file
diff --git a/tests/testsuite/2-paragraphs-line.md b/tests/testsuite/2-paragraphs-line.md
new file mode 100644
index 0000000..4cff3ed
--- /dev/null
+++ b/tests/testsuite/2-paragraphs-line.md
@@ -0,0 +1,3 @@
+This a very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long paragraph on 1 line.
+
+A new long long long long long long long long long long long long long long long long paragraph on 1 line. \ No newline at end of file
diff --git a/tests/testsuite/2-paragraphs-line.out b/tests/testsuite/2-paragraphs-line.out
new file mode 100644
index 0000000..8812518
--- /dev/null
+++ b/tests/testsuite/2-paragraphs-line.out
@@ -0,0 +1,3 @@
+<p>This a very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long paragraph on 1 line.</p>
+
+<p>A new long long long long long long long long long long long long long long long long paragraph on 1 line.</p> \ No newline at end of file
diff --git a/tests/testsuite/EOL-CR+LF.md b/tests/testsuite/EOL-CR+LF.md
new file mode 100644
index 0000000..b8c4206
--- /dev/null
+++ b/tests/testsuite/EOL-CR+LF.md
@@ -0,0 +1,6 @@
+These lines all end with end of line (EOL) sequences.
+
+Seriously, they really do.
+
+If you don't believe me: HEX EDIT!
+
diff --git a/tests/testsuite/EOL-CR+LF.out b/tests/testsuite/EOL-CR+LF.out
new file mode 100644
index 0000000..75c1a91
--- /dev/null
+++ b/tests/testsuite/EOL-CR+LF.out
@@ -0,0 +1,5 @@
+<p>These lines all end with end of line (EOL) sequences.</p>
+
+<p>Seriously, they really do.</p>
+
+<p>If you don't believe me: HEX EDIT!</p> \ No newline at end of file
diff --git a/tests/testsuite/EOL-CR.md b/tests/testsuite/EOL-CR.md
new file mode 100644
index 0000000..f0a17c8
--- /dev/null
+++ b/tests/testsuite/EOL-CR.md
@@ -0,0 +1 @@
+These lines all end with end of line (EOL) sequences. Seriously, they really do. If you don't believe me: HEX EDIT! \ No newline at end of file
diff --git a/tests/testsuite/EOL-CR.out b/tests/testsuite/EOL-CR.out
new file mode 100644
index 0000000..36a489b
--- /dev/null
+++ b/tests/testsuite/EOL-CR.out
@@ -0,0 +1 @@
+<p>These lines all end with end of line (EOL) sequences.</p> <p>Seriously, they really do.</p> <p>If you don't believe me: HEX EDIT!</p> \ No newline at end of file
diff --git a/tests/testsuite/EOL-LF.md b/tests/testsuite/EOL-LF.md
new file mode 100644
index 0000000..15cb86e
--- /dev/null
+++ b/tests/testsuite/EOL-LF.md
@@ -0,0 +1,6 @@
+These lines all end with end of line (EOL) sequences.
+
+Seriously, they really do.
+
+If you don't believe me: HEX EDIT!
+
diff --git a/tests/testsuite/EOL-LF.out b/tests/testsuite/EOL-LF.out
new file mode 100644
index 0000000..c236b1d
--- /dev/null
+++ b/tests/testsuite/EOL-LF.out
@@ -0,0 +1,5 @@
+<p>These lines all end with end of line (EOL) sequences.</p>
+
+<p>Seriously, they really do.</p>
+
+<p>If you don't believe me: HEX EDIT!</p> \ No newline at end of file
diff --git a/tests/testsuite/ampersand-text-flow.md b/tests/testsuite/ampersand-text-flow.md
new file mode 100644
index 0000000..fb83563
--- /dev/null
+++ b/tests/testsuite/ampersand-text-flow.md
@@ -0,0 +1 @@
+An ampersand & in the text flow is escaped as an html entity. \ No newline at end of file
diff --git a/tests/testsuite/ampersand-text-flow.out b/tests/testsuite/ampersand-text-flow.out
new file mode 100644
index 0000000..0f2eaf3
--- /dev/null
+++ b/tests/testsuite/ampersand-text-flow.out
@@ -0,0 +1 @@
+<p>An ampersand &amp; in the text flow is escaped as an html entity.</p> \ No newline at end of file
diff --git a/tests/testsuite/ampersand-uri.md b/tests/testsuite/ampersand-uri.md
new file mode 100644
index 0000000..499635e
--- /dev/null
+++ b/tests/testsuite/ampersand-uri.md
@@ -0,0 +1 @@
+There is an [ampersand](http://validator.w3.org/check?uri=http://www.w3.org/&verbose=1) in the URI. \ No newline at end of file
diff --git a/tests/testsuite/ampersand-uri.out b/tests/testsuite/ampersand-uri.out
new file mode 100644
index 0000000..de4b210
--- /dev/null
+++ b/tests/testsuite/ampersand-uri.out
@@ -0,0 +1 @@
+<p>There is an <a href="http://validator.w3.org/check?uri=http://www.w3.org/&amp;verbose=1">ampersand</a> in the URI.</p> \ No newline at end of file
diff --git a/tests/testsuite/asterisk-near-text.md b/tests/testsuite/asterisk-near-text.md
new file mode 100644
index 0000000..b27634d
--- /dev/null
+++ b/tests/testsuite/asterisk-near-text.md
@@ -0,0 +1 @@
+This is \*an asterisk which should stay as is. \ No newline at end of file
diff --git a/tests/testsuite/asterisk-near-text.out b/tests/testsuite/asterisk-near-text.out
new file mode 100644
index 0000000..aa442c3
--- /dev/null
+++ b/tests/testsuite/asterisk-near-text.out
@@ -0,0 +1 @@
+<p>This is *an asterisk which should stay as is.</p> \ No newline at end of file
diff --git a/tests/testsuite/asterisk.md b/tests/testsuite/asterisk.md
new file mode 100644
index 0000000..ccbbc23
--- /dev/null
+++ b/tests/testsuite/asterisk.md
@@ -0,0 +1 @@
+This is * an asterisk which should stay as is. \ No newline at end of file
diff --git a/tests/testsuite/asterisk.out b/tests/testsuite/asterisk.out
new file mode 100644
index 0000000..b6c93a8
--- /dev/null
+++ b/tests/testsuite/asterisk.out
@@ -0,0 +1 @@
+<p>This is * an asterisk which should stay as is.</p> \ No newline at end of file
diff --git a/tests/testsuite/backslash-escape.md b/tests/testsuite/backslash-escape.md
new file mode 100644
index 0000000..306aca2
--- /dev/null
+++ b/tests/testsuite/backslash-escape.md
@@ -0,0 +1,12 @@
+\\ backslash
+\` backtick
+\* asterisk
+\_ underscore
+\{\} curly braces
+\[\] square brackets
+\(\) parentheses
+\# hash mark
+\+ plus sign
+\- minus sign (hyphen)
+\. dot
+\! exclamation mark \ No newline at end of file
diff --git a/tests/testsuite/backslash-escape.out b/tests/testsuite/backslash-escape.out
new file mode 100644
index 0000000..d69d385
--- /dev/null
+++ b/tests/testsuite/backslash-escape.out
@@ -0,0 +1,12 @@
+<p>\ backslash
+` backtick
+* asterisk
+_ underscore
+{} curly braces
+[] square brackets
+() parentheses
+# hash mark
++ plus sign
+- minus sign (hyphen)
+. dot
+! exclamation mark</p> \ No newline at end of file
diff --git a/tests/testsuite/blockquote-added-markup.md b/tests/testsuite/blockquote-added-markup.md
new file mode 100644
index 0000000..b60a049
--- /dev/null
+++ b/tests/testsuite/blockquote-added-markup.md
@@ -0,0 +1,3 @@
+> # heading level 1
+>
+> paragraph \ No newline at end of file
diff --git a/tests/testsuite/blockquote-added-markup.out b/tests/testsuite/blockquote-added-markup.out
new file mode 100644
index 0000000..e07dea1
--- /dev/null
+++ b/tests/testsuite/blockquote-added-markup.out
@@ -0,0 +1,5 @@
+<blockquote>
+<h1>heading level 1</h1>
+
+<p>paragraph</p>
+</blockquote> \ No newline at end of file
diff --git a/tests/testsuite/blockquote-line-2-paragraphs.md b/tests/testsuite/blockquote-line-2-paragraphs.md
new file mode 100644
index 0000000..46358c0
--- /dev/null
+++ b/tests/testsuite/blockquote-line-2-paragraphs.md
@@ -0,0 +1,3 @@
+>A blockquote with a very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long line.
+
+>and a second very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long line. \ No newline at end of file
diff --git a/tests/testsuite/blockquote-line-2-paragraphs.out b/tests/testsuite/blockquote-line-2-paragraphs.out
new file mode 100644
index 0000000..9cb7059
--- /dev/null
+++ b/tests/testsuite/blockquote-line-2-paragraphs.out
@@ -0,0 +1,5 @@
+<blockquote>
+<p>A blockquote with a very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long line.</p>
+
+<p>and a second very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long line.</p>
+</blockquote> \ No newline at end of file
diff --git a/tests/testsuite/blockquote-line.md b/tests/testsuite/blockquote-line.md
new file mode 100644
index 0000000..23990a3
--- /dev/null
+++ b/tests/testsuite/blockquote-line.md
@@ -0,0 +1 @@
+>This a very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long paragraph in a blockquote. \ No newline at end of file
diff --git a/tests/testsuite/blockquote-line.out b/tests/testsuite/blockquote-line.out
new file mode 100644
index 0000000..41451af
--- /dev/null
+++ b/tests/testsuite/blockquote-line.out
@@ -0,0 +1,3 @@
+<blockquote>
+<p>This a very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long paragraph in a blockquote.</p>
+</blockquote> \ No newline at end of file
diff --git a/tests/testsuite/blockquote-multiline-1-space-begin.md b/tests/testsuite/blockquote-multiline-1-space-begin.md
new file mode 100644
index 0000000..eafd549
--- /dev/null
+++ b/tests/testsuite/blockquote-multiline-1-space-begin.md
@@ -0,0 +1,3 @@
+> A blockquote
+> on multiple lines
+> like this. \ No newline at end of file
diff --git a/tests/testsuite/blockquote-multiline-1-space-begin.out b/tests/testsuite/blockquote-multiline-1-space-begin.out
new file mode 100644
index 0000000..6282d21
--- /dev/null
+++ b/tests/testsuite/blockquote-multiline-1-space-begin.out
@@ -0,0 +1,5 @@
+<blockquote>
+<p>A blockquote
+on multiple lines
+like this.</p>
+</blockquote> \ No newline at end of file
diff --git a/tests/testsuite/blockquote-multiline-1-space-end.md b/tests/testsuite/blockquote-multiline-1-space-end.md
new file mode 100644
index 0000000..014617a
--- /dev/null
+++ b/tests/testsuite/blockquote-multiline-1-space-end.md
@@ -0,0 +1,3 @@
+>A blockquote
+>on multiple lines
+>like this. \ No newline at end of file
diff --git a/tests/testsuite/blockquote-multiline-1-space-end.out b/tests/testsuite/blockquote-multiline-1-space-end.out
new file mode 100644
index 0000000..82907e2
--- /dev/null
+++ b/tests/testsuite/blockquote-multiline-1-space-end.out
@@ -0,0 +1,5 @@
+<blockquote>
+<p>A blockquote
+on multiple lines
+like this. </p>
+</blockquote> \ No newline at end of file
diff --git a/tests/testsuite/blockquote-multiline-2-paragraphs.md b/tests/testsuite/blockquote-multiline-2-paragraphs.md
new file mode 100644
index 0000000..0af137d
--- /dev/null
+++ b/tests/testsuite/blockquote-multiline-2-paragraphs.md
@@ -0,0 +1,6 @@
+>A blockquote
+>on multiple lines
+>like this.
+>
+>But it has
+>two paragraphs. \ No newline at end of file
diff --git a/tests/testsuite/blockquote-multiline-2-paragraphs.out b/tests/testsuite/blockquote-multiline-2-paragraphs.out
new file mode 100644
index 0000000..1339eee
--- /dev/null
+++ b/tests/testsuite/blockquote-multiline-2-paragraphs.out
@@ -0,0 +1,8 @@
+<blockquote>
+<p>A blockquote
+on multiple lines
+like this.</p>
+
+<p>But it has
+two paragraphs.</p>
+</blockquote> \ No newline at end of file
diff --git a/tests/testsuite/blockquote-multiline.md b/tests/testsuite/blockquote-multiline.md
new file mode 100644
index 0000000..283f95d
--- /dev/null
+++ b/tests/testsuite/blockquote-multiline.md
@@ -0,0 +1,3 @@
+>A blockquote
+>on multiple lines
+>like this \ No newline at end of file
diff --git a/tests/testsuite/blockquote-multiline.out b/tests/testsuite/blockquote-multiline.out
new file mode 100644
index 0000000..18126d4
--- /dev/null
+++ b/tests/testsuite/blockquote-multiline.out
@@ -0,0 +1,5 @@
+<blockquote>
+<p>A blockquote
+on multiple lines
+like this</p>
+</blockquote> \ No newline at end of file
diff --git a/tests/testsuite/blockquote-nested-multiplereturn-level1.md b/tests/testsuite/blockquote-nested-multiplereturn-level1.md
new file mode 100644
index 0000000..8b2530f
--- /dev/null
+++ b/tests/testsuite/blockquote-nested-multiplereturn-level1.md
@@ -0,0 +1,5 @@
+> This is the first level of quoting.
+>
+> > This is nested blockquote.
+>
+> Back to the first level.
diff --git a/tests/testsuite/blockquote-nested-multiplereturn-level1.out b/tests/testsuite/blockquote-nested-multiplereturn-level1.out
new file mode 100644
index 0000000..37d039d
--- /dev/null
+++ b/tests/testsuite/blockquote-nested-multiplereturn-level1.out
@@ -0,0 +1,9 @@
+<blockquote>
+<p>This is the first level of quoting.</p>
+
+<blockquote>
+<p>This is nested blockquote.</p>
+</blockquote>
+
+<p>Back to the first level.</p>
+</blockquote> \ No newline at end of file
diff --git a/tests/testsuite/blockquote-nested-multiplereturn.md b/tests/testsuite/blockquote-nested-multiplereturn.md
new file mode 100644
index 0000000..4a8202d
--- /dev/null
+++ b/tests/testsuite/blockquote-nested-multiplereturn.md
@@ -0,0 +1,3 @@
+> This is the first level of quoting.
+>
+> > This is nested blockquote. \ No newline at end of file
diff --git a/tests/testsuite/blockquote-nested-multiplereturn.out b/tests/testsuite/blockquote-nested-multiplereturn.out
new file mode 100644
index 0000000..5b0d801
--- /dev/null
+++ b/tests/testsuite/blockquote-nested-multiplereturn.out
@@ -0,0 +1,7 @@
+<blockquote>
+<p>This is the first level of quoting.</p>
+
+<blockquote>
+<p>This is nested blockquote.</p>
+</blockquote>
+</blockquote> \ No newline at end of file
diff --git a/tests/testsuite/blockquote-nested-return-level1.md b/tests/testsuite/blockquote-nested-return-level1.md
new file mode 100644
index 0000000..e01158b
--- /dev/null
+++ b/tests/testsuite/blockquote-nested-return-level1.md
@@ -0,0 +1,3 @@
+> This is the first level of quoting.
+> > This is nested blockquote.
+> Back to the first level.
diff --git a/tests/testsuite/blockquote-nested-return-level1.out b/tests/testsuite/blockquote-nested-return-level1.out
new file mode 100644
index 0000000..d37d55f
--- /dev/null
+++ b/tests/testsuite/blockquote-nested-return-level1.out
@@ -0,0 +1,8 @@
+<blockquote>
+<p>This is the first level of quoting.</p>
+
+<blockquote>
+<p>This is nested blockquote.
+Back to the first level.</p>
+</blockquote>
+</blockquote> \ No newline at end of file
diff --git a/tests/testsuite/blockquote-nested.md b/tests/testsuite/blockquote-nested.md
new file mode 100644
index 0000000..739ac21
--- /dev/null
+++ b/tests/testsuite/blockquote-nested.md
@@ -0,0 +1,2 @@
+> This is the first level of quoting.
+> > This is nested blockquote.
diff --git a/tests/testsuite/blockquote-nested.out b/tests/testsuite/blockquote-nested.out
new file mode 100644
index 0000000..5b0d801
--- /dev/null
+++ b/tests/testsuite/blockquote-nested.out
@@ -0,0 +1,7 @@
+<blockquote>
+<p>This is the first level of quoting.</p>
+
+<blockquote>
+<p>This is nested blockquote.</p>
+</blockquote>
+</blockquote> \ No newline at end of file
diff --git a/tests/testsuite/code-1-tab.md b/tests/testsuite/code-1-tab.md
new file mode 100644
index 0000000..a314307
--- /dev/null
+++ b/tests/testsuite/code-1-tab.md
@@ -0,0 +1,2 @@
+ 10 PRINT HELLO INFINITE
+ 20 GOTO 10 \ No newline at end of file
diff --git a/tests/testsuite/code-1-tab.out b/tests/testsuite/code-1-tab.out
new file mode 100644
index 0000000..9b8bb7a
--- /dev/null
+++ b/tests/testsuite/code-1-tab.out
@@ -0,0 +1,3 @@
+<pre><code>10 PRINT HELLO INFINITE
+20 GOTO 10
+</code></pre> \ No newline at end of file
diff --git a/tests/testsuite/code-4-spaces-escaping.md b/tests/testsuite/code-4-spaces-escaping.md
new file mode 100644
index 0000000..2edbd4e
--- /dev/null
+++ b/tests/testsuite/code-4-spaces-escaping.md
@@ -0,0 +1,2 @@
+ 10 PRINT < > &
+ 20 GOTO 10 \ No newline at end of file
diff --git a/tests/testsuite/code-4-spaces-escaping.out b/tests/testsuite/code-4-spaces-escaping.out
new file mode 100644
index 0000000..6d9fa87
--- /dev/null
+++ b/tests/testsuite/code-4-spaces-escaping.out
@@ -0,0 +1,3 @@
+<pre><code>10 PRINT &lt; &gt; &amp;
+20 GOTO 10
+</code></pre> \ No newline at end of file
diff --git a/tests/testsuite/code-4-spaces.md b/tests/testsuite/code-4-spaces.md
new file mode 100644
index 0000000..e3b6e6d
--- /dev/null
+++ b/tests/testsuite/code-4-spaces.md
@@ -0,0 +1,2 @@
+ 10 PRINT HELLO INFINITE
+ 20 GOTO 10 \ No newline at end of file
diff --git a/tests/testsuite/code-4-spaces.out b/tests/testsuite/code-4-spaces.out
new file mode 100644
index 0000000..9b8bb7a
--- /dev/null
+++ b/tests/testsuite/code-4-spaces.out
@@ -0,0 +1,3 @@
+<pre><code>10 PRINT HELLO INFINITE
+20 GOTO 10
+</code></pre> \ No newline at end of file
diff --git a/tests/testsuite/em-middle-word.md b/tests/testsuite/em-middle-word.md
new file mode 100644
index 0000000..0935359
--- /dev/null
+++ b/tests/testsuite/em-middle-word.md
@@ -0,0 +1 @@
+as*te*risks \ No newline at end of file
diff --git a/tests/testsuite/em-middle-word.out b/tests/testsuite/em-middle-word.out
new file mode 100644
index 0000000..74f7f90
--- /dev/null
+++ b/tests/testsuite/em-middle-word.out
@@ -0,0 +1 @@
+<p>as<em>te</em>risks</p> \ No newline at end of file
diff --git a/tests/testsuite/em-star.md b/tests/testsuite/em-star.md
new file mode 100644
index 0000000..ddd8676
--- /dev/null
+++ b/tests/testsuite/em-star.md
@@ -0,0 +1 @@
+*single asterisks* \ No newline at end of file
diff --git a/tests/testsuite/em-star.out b/tests/testsuite/em-star.out
new file mode 100644
index 0000000..d35dd53
--- /dev/null
+++ b/tests/testsuite/em-star.out
@@ -0,0 +1 @@
+<p><em>single asterisks</em></p> \ No newline at end of file
diff --git a/tests/testsuite/em-underscore.md b/tests/testsuite/em-underscore.md
new file mode 100644
index 0000000..155bb0e
--- /dev/null
+++ b/tests/testsuite/em-underscore.md
@@ -0,0 +1 @@
+_single underscores_ \ No newline at end of file
diff --git a/tests/testsuite/em-underscore.out b/tests/testsuite/em-underscore.out
new file mode 100644
index 0000000..2627bde
--- /dev/null
+++ b/tests/testsuite/em-underscore.out
@@ -0,0 +1 @@
+<p><em>single underscores</em></p> \ No newline at end of file
diff --git a/tests/testsuite/entities-text-flow.md b/tests/testsuite/entities-text-flow.md
new file mode 100644
index 0000000..7e685ea
--- /dev/null
+++ b/tests/testsuite/entities-text-flow.md
@@ -0,0 +1 @@
+HTML entities are written using ampersand notation: &copy; \ No newline at end of file
diff --git a/tests/testsuite/entities-text-flow.out b/tests/testsuite/entities-text-flow.out
new file mode 100644
index 0000000..6924fea
--- /dev/null
+++ b/tests/testsuite/entities-text-flow.out
@@ -0,0 +1 @@
+<p>HTML entities are written using ampersand notation: &copy;</p> \ No newline at end of file
diff --git a/tests/testsuite/header-level1-equal-underlined.md b/tests/testsuite/header-level1-equal-underlined.md
new file mode 100644
index 0000000..f18b949
--- /dev/null
+++ b/tests/testsuite/header-level1-equal-underlined.md
@@ -0,0 +1,2 @@
+This is an H1
+============= \ No newline at end of file
diff --git a/tests/testsuite/header-level1-equal-underlined.out b/tests/testsuite/header-level1-equal-underlined.out
new file mode 100644
index 0000000..af0c276
--- /dev/null
+++ b/tests/testsuite/header-level1-equal-underlined.out
@@ -0,0 +1 @@
+<h1>This is an H1</h1> \ No newline at end of file
diff --git a/tests/testsuite/header-level1-hash-sign-closed.md b/tests/testsuite/header-level1-hash-sign-closed.md
new file mode 100644
index 0000000..147d59b
--- /dev/null
+++ b/tests/testsuite/header-level1-hash-sign-closed.md
@@ -0,0 +1 @@
+# This is an H1 # \ No newline at end of file
diff --git a/tests/testsuite/header-level1-hash-sign-closed.out b/tests/testsuite/header-level1-hash-sign-closed.out
new file mode 100644
index 0000000..af0c276
--- /dev/null
+++ b/tests/testsuite/header-level1-hash-sign-closed.out
@@ -0,0 +1 @@
+<h1>This is an H1</h1> \ No newline at end of file
diff --git a/tests/testsuite/header-level1-hash-sign-trailing-1-space.md b/tests/testsuite/header-level1-hash-sign-trailing-1-space.md
new file mode 100644
index 0000000..b999b38
--- /dev/null
+++ b/tests/testsuite/header-level1-hash-sign-trailing-1-space.md
@@ -0,0 +1 @@
+ # This is an H1 \ No newline at end of file
diff --git a/tests/testsuite/header-level1-hash-sign-trailing-1-space.out b/tests/testsuite/header-level1-hash-sign-trailing-1-space.out
new file mode 100644
index 0000000..1b48fc2
--- /dev/null
+++ b/tests/testsuite/header-level1-hash-sign-trailing-1-space.out
@@ -0,0 +1 @@
+<p># This is an H1</p> \ No newline at end of file
diff --git a/tests/testsuite/header-level1-hash-sign-trailing-2-spaces.md b/tests/testsuite/header-level1-hash-sign-trailing-2-spaces.md
new file mode 100644
index 0000000..9cdcedf
--- /dev/null
+++ b/tests/testsuite/header-level1-hash-sign-trailing-2-spaces.md
@@ -0,0 +1,2 @@
+# this is an h1 with two trailing spaces
+A new paragraph. \ No newline at end of file
diff --git a/tests/testsuite/header-level1-hash-sign-trailing-2-spaces.out b/tests/testsuite/header-level1-hash-sign-trailing-2-spaces.out
new file mode 100644
index 0000000..797d31c
--- /dev/null
+++ b/tests/testsuite/header-level1-hash-sign-trailing-2-spaces.out
@@ -0,0 +1,3 @@
+<h1>this is an h1 with two trailing spaces</h1>
+
+<p>A new paragraph.</p> \ No newline at end of file
diff --git a/tests/testsuite/header-level1-hash-sign.md b/tests/testsuite/header-level1-hash-sign.md
new file mode 100644
index 0000000..f6a39e1
--- /dev/null
+++ b/tests/testsuite/header-level1-hash-sign.md
@@ -0,0 +1 @@
+# This is an H1 \ No newline at end of file
diff --git a/tests/testsuite/header-level1-hash-sign.out b/tests/testsuite/header-level1-hash-sign.out
new file mode 100644
index 0000000..af0c276
--- /dev/null
+++ b/tests/testsuite/header-level1-hash-sign.out
@@ -0,0 +1 @@
+<h1>This is an H1</h1> \ No newline at end of file
diff --git a/tests/testsuite/header-level2-dash-underlined.md b/tests/testsuite/header-level2-dash-underlined.md
new file mode 100644
index 0000000..4564336
--- /dev/null
+++ b/tests/testsuite/header-level2-dash-underlined.md
@@ -0,0 +1,2 @@
+This is an H2
+------------- \ No newline at end of file
diff --git a/tests/testsuite/header-level2-dash-underlined.out b/tests/testsuite/header-level2-dash-underlined.out
new file mode 100644
index 0000000..2f4138b
--- /dev/null
+++ b/tests/testsuite/header-level2-dash-underlined.out
@@ -0,0 +1 @@
+<h2>This is an H2</h2> \ No newline at end of file
diff --git a/tests/testsuite/header-level2-hash-sign-closed.md b/tests/testsuite/header-level2-hash-sign-closed.md
new file mode 100644
index 0000000..b84a1de
--- /dev/null
+++ b/tests/testsuite/header-level2-hash-sign-closed.md
@@ -0,0 +1 @@
+## This is an H2 ## \ No newline at end of file
diff --git a/tests/testsuite/header-level2-hash-sign-closed.out b/tests/testsuite/header-level2-hash-sign-closed.out
new file mode 100644
index 0000000..2f4138b
--- /dev/null
+++ b/tests/testsuite/header-level2-hash-sign-closed.out
@@ -0,0 +1 @@
+<h2>This is an H2</h2> \ No newline at end of file
diff --git a/tests/testsuite/header-level2-hash-sign.md b/tests/testsuite/header-level2-hash-sign.md
new file mode 100644
index 0000000..6a93c6b
--- /dev/null
+++ b/tests/testsuite/header-level2-hash-sign.md
@@ -0,0 +1 @@
+## This is an H2 \ No newline at end of file
diff --git a/tests/testsuite/header-level2-hash-sign.out b/tests/testsuite/header-level2-hash-sign.out
new file mode 100644
index 0000000..2f4138b
--- /dev/null
+++ b/tests/testsuite/header-level2-hash-sign.out
@@ -0,0 +1 @@
+<h2>This is an H2</h2> \ No newline at end of file
diff --git a/tests/testsuite/header-level3-hash-sign-closed.md b/tests/testsuite/header-level3-hash-sign-closed.md
new file mode 100644
index 0000000..7d790cf
--- /dev/null
+++ b/tests/testsuite/header-level3-hash-sign-closed.md
@@ -0,0 +1 @@
+### This is an H3 ### \ No newline at end of file
diff --git a/tests/testsuite/header-level3-hash-sign-closed.out b/tests/testsuite/header-level3-hash-sign-closed.out
new file mode 100644
index 0000000..a9d3ba9
--- /dev/null
+++ b/tests/testsuite/header-level3-hash-sign-closed.out
@@ -0,0 +1 @@
+<h3>This is an H3</h3> \ No newline at end of file
diff --git a/tests/testsuite/header-level3-hash-sign.md b/tests/testsuite/header-level3-hash-sign.md
new file mode 100644
index 0000000..70c6d10
--- /dev/null
+++ b/tests/testsuite/header-level3-hash-sign.md
@@ -0,0 +1 @@
+### This is an H3 \ No newline at end of file
diff --git a/tests/testsuite/header-level3-hash-sign.out b/tests/testsuite/header-level3-hash-sign.out
new file mode 100644
index 0000000..a9d3ba9
--- /dev/null
+++ b/tests/testsuite/header-level3-hash-sign.out
@@ -0,0 +1 @@
+<h3>This is an H3</h3> \ No newline at end of file
diff --git a/tests/testsuite/header-level4-hash-sign-closed.md b/tests/testsuite/header-level4-hash-sign-closed.md
new file mode 100644
index 0000000..716cf64
--- /dev/null
+++ b/tests/testsuite/header-level4-hash-sign-closed.md
@@ -0,0 +1 @@
+#### This is an H4 #### \ No newline at end of file
diff --git a/tests/testsuite/header-level4-hash-sign-closed.out b/tests/testsuite/header-level4-hash-sign-closed.out
new file mode 100644
index 0000000..1c0f3d6
--- /dev/null
+++ b/tests/testsuite/header-level4-hash-sign-closed.out
@@ -0,0 +1 @@
+<h4>This is an H4</h4> \ No newline at end of file
diff --git a/tests/testsuite/header-level4-hash-sign.md b/tests/testsuite/header-level4-hash-sign.md
new file mode 100644
index 0000000..8283f11
--- /dev/null
+++ b/tests/testsuite/header-level4-hash-sign.md
@@ -0,0 +1 @@
+#### This is an H4 \ No newline at end of file
diff --git a/tests/testsuite/header-level4-hash-sign.out b/tests/testsuite/header-level4-hash-sign.out
new file mode 100644
index 0000000..1c0f3d6
--- /dev/null
+++ b/tests/testsuite/header-level4-hash-sign.out
@@ -0,0 +1 @@
+<h4>This is an H4</h4> \ No newline at end of file
diff --git a/tests/testsuite/header-level5-hash-sign-closed.md b/tests/testsuite/header-level5-hash-sign-closed.md
new file mode 100644
index 0000000..4294de6
--- /dev/null
+++ b/tests/testsuite/header-level5-hash-sign-closed.md
@@ -0,0 +1 @@
+##### This is an H5 ##### \ No newline at end of file
diff --git a/tests/testsuite/header-level5-hash-sign-closed.out b/tests/testsuite/header-level5-hash-sign-closed.out
new file mode 100644
index 0000000..aa43910
--- /dev/null
+++ b/tests/testsuite/header-level5-hash-sign-closed.out
@@ -0,0 +1 @@
+<h5>This is an H5</h5> \ No newline at end of file
diff --git a/tests/testsuite/header-level5-hash-sign.md b/tests/testsuite/header-level5-hash-sign.md
new file mode 100644
index 0000000..abcdd91
--- /dev/null
+++ b/tests/testsuite/header-level5-hash-sign.md
@@ -0,0 +1 @@
+##### This is an H5 \ No newline at end of file
diff --git a/tests/testsuite/header-level5-hash-sign.out b/tests/testsuite/header-level5-hash-sign.out
new file mode 100644
index 0000000..aa43910
--- /dev/null
+++ b/tests/testsuite/header-level5-hash-sign.out
@@ -0,0 +1 @@
+<h5>This is an H5</h5> \ No newline at end of file
diff --git a/tests/testsuite/header-level6-hash-sign-closed.md b/tests/testsuite/header-level6-hash-sign-closed.md
new file mode 100644
index 0000000..dca50d6
--- /dev/null
+++ b/tests/testsuite/header-level6-hash-sign-closed.md
@@ -0,0 +1 @@
+###### This is an H6 ###### \ No newline at end of file
diff --git a/tests/testsuite/header-level6-hash-sign-closed.out b/tests/testsuite/header-level6-hash-sign-closed.out
new file mode 100644
index 0000000..2cbc7b1
--- /dev/null
+++ b/tests/testsuite/header-level6-hash-sign-closed.out
@@ -0,0 +1 @@
+<h6>This is an H6</h6> \ No newline at end of file
diff --git a/tests/testsuite/header-level6-hash-sign.md b/tests/testsuite/header-level6-hash-sign.md
new file mode 100644
index 0000000..df2ff4c
--- /dev/null
+++ b/tests/testsuite/header-level6-hash-sign.md
@@ -0,0 +1 @@
+###### This is an H6 \ No newline at end of file
diff --git a/tests/testsuite/header-level6-hash-sign.out b/tests/testsuite/header-level6-hash-sign.out
new file mode 100644
index 0000000..2cbc7b1
--- /dev/null
+++ b/tests/testsuite/header-level6-hash-sign.out
@@ -0,0 +1 @@
+<h6>This is an H6</h6> \ No newline at end of file
diff --git a/tests/testsuite/horizontal-rule-3-dashes-spaces.md b/tests/testsuite/horizontal-rule-3-dashes-spaces.md
new file mode 100644
index 0000000..4587849
--- /dev/null
+++ b/tests/testsuite/horizontal-rule-3-dashes-spaces.md
@@ -0,0 +1 @@
+- - - \ No newline at end of file
diff --git a/tests/testsuite/horizontal-rule-3-dashes-spaces.out b/tests/testsuite/horizontal-rule-3-dashes-spaces.out
new file mode 100644
index 0000000..1d6667d
--- /dev/null
+++ b/tests/testsuite/horizontal-rule-3-dashes-spaces.out
@@ -0,0 +1 @@
+<hr /> \ No newline at end of file
diff --git a/tests/testsuite/horizontal-rule-3-dashes.md b/tests/testsuite/horizontal-rule-3-dashes.md
new file mode 100644
index 0000000..73b314f
--- /dev/null
+++ b/tests/testsuite/horizontal-rule-3-dashes.md
@@ -0,0 +1 @@
+--- \ No newline at end of file
diff --git a/tests/testsuite/horizontal-rule-3-dashes.out b/tests/testsuite/horizontal-rule-3-dashes.out
new file mode 100644
index 0000000..1d6667d
--- /dev/null
+++ b/tests/testsuite/horizontal-rule-3-dashes.out
@@ -0,0 +1 @@
+<hr /> \ No newline at end of file
diff --git a/tests/testsuite/horizontal-rule-3-stars.md b/tests/testsuite/horizontal-rule-3-stars.md
new file mode 100644
index 0000000..93a5273
--- /dev/null
+++ b/tests/testsuite/horizontal-rule-3-stars.md
@@ -0,0 +1 @@
+*** \ No newline at end of file
diff --git a/tests/testsuite/horizontal-rule-3-stars.out b/tests/testsuite/horizontal-rule-3-stars.out
new file mode 100644
index 0000000..1d6667d
--- /dev/null
+++ b/tests/testsuite/horizontal-rule-3-stars.out
@@ -0,0 +1 @@
+<hr /> \ No newline at end of file
diff --git a/tests/testsuite/horizontal-rule-3-underscores.md b/tests/testsuite/horizontal-rule-3-underscores.md
new file mode 100644
index 0000000..da706a0
--- /dev/null
+++ b/tests/testsuite/horizontal-rule-3-underscores.md
@@ -0,0 +1 @@
+___ \ No newline at end of file
diff --git a/tests/testsuite/horizontal-rule-3-underscores.out b/tests/testsuite/horizontal-rule-3-underscores.out
new file mode 100644
index 0000000..1d6667d
--- /dev/null
+++ b/tests/testsuite/horizontal-rule-3-underscores.out
@@ -0,0 +1 @@
+<hr /> \ No newline at end of file
diff --git a/tests/testsuite/horizontal-rule-7-dashes.md b/tests/testsuite/horizontal-rule-7-dashes.md
new file mode 100644
index 0000000..f88adb6
--- /dev/null
+++ b/tests/testsuite/horizontal-rule-7-dashes.md
@@ -0,0 +1 @@
+------- \ No newline at end of file
diff --git a/tests/testsuite/horizontal-rule-7-dashes.out b/tests/testsuite/horizontal-rule-7-dashes.out
new file mode 100644
index 0000000..1d6667d
--- /dev/null
+++ b/tests/testsuite/horizontal-rule-7-dashes.out
@@ -0,0 +1 @@
+<hr /> \ No newline at end of file
diff --git a/tests/testsuite/img-idref-title.md b/tests/testsuite/img-idref-title.md
new file mode 100644
index 0000000..151b1e8
--- /dev/null
+++ b/tests/testsuite/img-idref-title.md
@@ -0,0 +1,3 @@
+![HTML5][h5]
+
+[h5]: http://www.w3.org/html/logo/img/mark-word-icon.png "HTML5 for everyone" \ No newline at end of file
diff --git a/tests/testsuite/img-idref-title.out b/tests/testsuite/img-idref-title.out
new file mode 100644
index 0000000..6d8a6f2
--- /dev/null
+++ b/tests/testsuite/img-idref-title.out
@@ -0,0 +1 @@
+<p><img alt="HTML5" src="http://www.w3.org/html/logo/img/mark-word-icon.png" title="HTML5 for everyone" /></p> \ No newline at end of file
diff --git a/tests/testsuite/img-idref.md b/tests/testsuite/img-idref.md
new file mode 100644
index 0000000..4db1bcc
--- /dev/null
+++ b/tests/testsuite/img-idref.md
@@ -0,0 +1,3 @@
+![HTML5][h5]
+
+[h5]: http://www.w3.org/html/logo/img/mark-word-icon.png \ No newline at end of file
diff --git a/tests/testsuite/img-idref.out b/tests/testsuite/img-idref.out
new file mode 100644
index 0000000..14ebd1a
--- /dev/null
+++ b/tests/testsuite/img-idref.out
@@ -0,0 +1 @@
+<p><img alt="HTML5" src="http://www.w3.org/html/logo/img/mark-word-icon.png" /></p> \ No newline at end of file
diff --git a/tests/testsuite/img-title.md b/tests/testsuite/img-title.md
new file mode 100644
index 0000000..2c8e6ff
--- /dev/null
+++ b/tests/testsuite/img-title.md
@@ -0,0 +1 @@
+![HTML5](http://www.w3.org/html/logo/img/mark-word-icon.png "HTML5 logo for everyone") \ No newline at end of file
diff --git a/tests/testsuite/img-title.out b/tests/testsuite/img-title.out
new file mode 100644
index 0000000..08717ad
--- /dev/null
+++ b/tests/testsuite/img-title.out
@@ -0,0 +1 @@
+<p><img alt="HTML5" src="http://www.w3.org/html/logo/img/mark-word-icon.png" title="HTML5 logo for everyone" /></p> \ No newline at end of file
diff --git a/tests/testsuite/img.md b/tests/testsuite/img.md
new file mode 100644
index 0000000..3b3ca15
--- /dev/null
+++ b/tests/testsuite/img.md
@@ -0,0 +1 @@
+![HTML5](http://www.w3.org/html/logo/img/mark-word-icon.png) \ No newline at end of file
diff --git a/tests/testsuite/img.out b/tests/testsuite/img.out
new file mode 100644
index 0000000..14ebd1a
--- /dev/null
+++ b/tests/testsuite/img.out
@@ -0,0 +1 @@
+<p><img alt="HTML5" src="http://www.w3.org/html/logo/img/mark-word-icon.png" /></p> \ No newline at end of file
diff --git a/tests/testsuite/inline-code-escaping-entities.md b/tests/testsuite/inline-code-escaping-entities.md
new file mode 100644
index 0000000..3821a9b
--- /dev/null
+++ b/tests/testsuite/inline-code-escaping-entities.md
@@ -0,0 +1 @@
+We love `<code> and &` for everything \ No newline at end of file
diff --git a/tests/testsuite/inline-code-escaping-entities.out b/tests/testsuite/inline-code-escaping-entities.out
new file mode 100644
index 0000000..726e8a8
--- /dev/null
+++ b/tests/testsuite/inline-code-escaping-entities.out
@@ -0,0 +1 @@
+<p>We love <code>&lt;code&gt; and &amp;</code> for everything</p> \ No newline at end of file
diff --git a/tests/testsuite/inline-code-with-visible-backtick.md b/tests/testsuite/inline-code-with-visible-backtick.md
new file mode 100644
index 0000000..ecc9408
--- /dev/null
+++ b/tests/testsuite/inline-code-with-visible-backtick.md
@@ -0,0 +1 @@
+``We love `code` for everything`` \ No newline at end of file
diff --git a/tests/testsuite/inline-code-with-visible-backtick.out b/tests/testsuite/inline-code-with-visible-backtick.out
new file mode 100644
index 0000000..bc92165
--- /dev/null
+++ b/tests/testsuite/inline-code-with-visible-backtick.out
@@ -0,0 +1 @@
+<p><code>We love `code` for everything</code></p> \ No newline at end of file
diff --git a/tests/testsuite/inline-code.md b/tests/testsuite/inline-code.md
new file mode 100644
index 0000000..ecc9408
--- /dev/null
+++ b/tests/testsuite/inline-code.md
@@ -0,0 +1 @@
+``We love `code` for everything`` \ No newline at end of file
diff --git a/tests/testsuite/inline-code.out b/tests/testsuite/inline-code.out
new file mode 100644
index 0000000..bc92165
--- /dev/null
+++ b/tests/testsuite/inline-code.out
@@ -0,0 +1 @@
+<p><code>We love `code` for everything</code></p> \ No newline at end of file
diff --git a/tests/testsuite/line-break-2-spaces.md b/tests/testsuite/line-break-2-spaces.md
new file mode 100644
index 0000000..2b330a5
--- /dev/null
+++ b/tests/testsuite/line-break-2-spaces.md
@@ -0,0 +1,2 @@
+A first sentence
+and a line break. \ No newline at end of file
diff --git a/tests/testsuite/line-break-2-spaces.out b/tests/testsuite/line-break-2-spaces.out
new file mode 100644
index 0000000..cb75f09
--- /dev/null
+++ b/tests/testsuite/line-break-2-spaces.out
@@ -0,0 +1,2 @@
+<p>A first sentence<br />
+and a line break.</p> \ No newline at end of file
diff --git a/tests/testsuite/line-break-5-spaces.md b/tests/testsuite/line-break-5-spaces.md
new file mode 100644
index 0000000..f2e3e37
--- /dev/null
+++ b/tests/testsuite/line-break-5-spaces.md
@@ -0,0 +1,2 @@
+A first sentence
+and a line break. \ No newline at end of file
diff --git a/tests/testsuite/line-break-5-spaces.out b/tests/testsuite/line-break-5-spaces.out
new file mode 100644
index 0000000..cb75f09
--- /dev/null
+++ b/tests/testsuite/line-break-5-spaces.out
@@ -0,0 +1,2 @@
+<p>A first sentence<br />
+and a line break.</p> \ No newline at end of file
diff --git a/tests/testsuite/link-automatic.md b/tests/testsuite/link-automatic.md
new file mode 100644
index 0000000..bf5987d
--- /dev/null
+++ b/tests/testsuite/link-automatic.md
@@ -0,0 +1 @@
+This is an automatic link <http://www.w3.org/> \ No newline at end of file
diff --git a/tests/testsuite/link-automatic.out b/tests/testsuite/link-automatic.out
new file mode 100644
index 0000000..604cbdc
--- /dev/null
+++ b/tests/testsuite/link-automatic.out
@@ -0,0 +1 @@
+<p>This is an automatic link <a href="http://www.w3.org/">http://www.w3.org/</a></p> \ No newline at end of file
diff --git a/tests/testsuite/link-bracket-paranthesis-title.md b/tests/testsuite/link-bracket-paranthesis-title.md
new file mode 100644
index 0000000..c61641c
--- /dev/null
+++ b/tests/testsuite/link-bracket-paranthesis-title.md
@@ -0,0 +1 @@
+[W3C](http://www.w3.org/ "Discover w3c") \ No newline at end of file
diff --git a/tests/testsuite/link-bracket-paranthesis-title.out b/tests/testsuite/link-bracket-paranthesis-title.out
new file mode 100644
index 0000000..5e568ba
--- /dev/null
+++ b/tests/testsuite/link-bracket-paranthesis-title.out
@@ -0,0 +1 @@
+<p><a href="http://www.w3.org/" title="Discover w3c">W3C</a></p> \ No newline at end of file
diff --git a/tests/testsuite/link-bracket-paranthesis.md b/tests/testsuite/link-bracket-paranthesis.md
new file mode 100644
index 0000000..8fd5195
--- /dev/null
+++ b/tests/testsuite/link-bracket-paranthesis.md
@@ -0,0 +1 @@
+[W3C](http://www.w3.org/) \ No newline at end of file
diff --git a/tests/testsuite/link-bracket-paranthesis.out b/tests/testsuite/link-bracket-paranthesis.out
new file mode 100644
index 0000000..ba65be8
--- /dev/null
+++ b/tests/testsuite/link-bracket-paranthesis.out
@@ -0,0 +1 @@
+<p><a href="http://www.w3.org/">W3C</a></p> \ No newline at end of file
diff --git a/tests/testsuite/link-idref-angle-bracket.md b/tests/testsuite/link-idref-angle-bracket.md
new file mode 100644
index 0000000..0f96c3c
--- /dev/null
+++ b/tests/testsuite/link-idref-angle-bracket.md
@@ -0,0 +1,3 @@
+[World Wide Web Consortium][w3c]
+
+[w3c]: <http://www.w3.org/> \ No newline at end of file
diff --git a/tests/testsuite/link-idref-angle-bracket.out b/tests/testsuite/link-idref-angle-bracket.out
new file mode 100644
index 0000000..dbee9a9
--- /dev/null
+++ b/tests/testsuite/link-idref-angle-bracket.out
@@ -0,0 +1 @@
+<p><a href="http://www.w3.org/">World Wide Web Consortium</a></p> \ No newline at end of file
diff --git a/tests/testsuite/link-idref-implicit-spaces.md b/tests/testsuite/link-idref-implicit-spaces.md
new file mode 100644
index 0000000..f49e289
--- /dev/null
+++ b/tests/testsuite/link-idref-implicit-spaces.md
@@ -0,0 +1,3 @@
+[World Wide Web Consortium][]
+
+[World Wide Web Consortium]: http://www.w3.org/ \ No newline at end of file
diff --git a/tests/testsuite/link-idref-implicit-spaces.out b/tests/testsuite/link-idref-implicit-spaces.out
new file mode 100644
index 0000000..dbee9a9
--- /dev/null
+++ b/tests/testsuite/link-idref-implicit-spaces.out
@@ -0,0 +1 @@
+<p><a href="http://www.w3.org/">World Wide Web Consortium</a></p> \ No newline at end of file
diff --git a/tests/testsuite/link-idref-implicit.md b/tests/testsuite/link-idref-implicit.md
new file mode 100644
index 0000000..65483c2
--- /dev/null
+++ b/tests/testsuite/link-idref-implicit.md
@@ -0,0 +1,3 @@
+[w3c][]
+
+[w3c]: http://www.w3.org/ \ No newline at end of file
diff --git a/tests/testsuite/link-idref-implicit.out b/tests/testsuite/link-idref-implicit.out
new file mode 100644
index 0000000..9ba2da6
--- /dev/null
+++ b/tests/testsuite/link-idref-implicit.out
@@ -0,0 +1 @@
+<p><a href="http://www.w3.org/">w3c</a></p> \ No newline at end of file
diff --git a/tests/testsuite/link-idref-space.md b/tests/testsuite/link-idref-space.md
new file mode 100644
index 0000000..9b13c6f
--- /dev/null
+++ b/tests/testsuite/link-idref-space.md
@@ -0,0 +1,3 @@
+[World Wide Web Consortium] [w3c]
+
+[w3c]: http://www.w3.org/ \ No newline at end of file
diff --git a/tests/testsuite/link-idref-space.out b/tests/testsuite/link-idref-space.out
new file mode 100644
index 0000000..dbee9a9
--- /dev/null
+++ b/tests/testsuite/link-idref-space.out
@@ -0,0 +1 @@
+<p><a href="http://www.w3.org/">World Wide Web Consortium</a></p> \ No newline at end of file
diff --git a/tests/testsuite/link-idref-title-next-line.md b/tests/testsuite/link-idref-title-next-line.md
new file mode 100644
index 0000000..310e80b
--- /dev/null
+++ b/tests/testsuite/link-idref-title-next-line.md
@@ -0,0 +1,4 @@
+[World Wide Web Consortium][w3c]
+
+[w3c]: http://www.w3.org/
+ "Discover W3C" \ No newline at end of file
diff --git a/tests/testsuite/link-idref-title-next-line.out b/tests/testsuite/link-idref-title-next-line.out
new file mode 100644
index 0000000..9c2dda6
--- /dev/null
+++ b/tests/testsuite/link-idref-title-next-line.out
@@ -0,0 +1 @@
+<p><a href="http://www.w3.org/" title="Discover W3C">World Wide Web Consortium</a></p> \ No newline at end of file
diff --git a/tests/testsuite/link-idref-title-paranthesis.md b/tests/testsuite/link-idref-title-paranthesis.md
new file mode 100644
index 0000000..9bb11ed
--- /dev/null
+++ b/tests/testsuite/link-idref-title-paranthesis.md
@@ -0,0 +1,3 @@
+[World Wide Web Consortium][w3c]
+
+[w3c]: http://www.w3.org/ (Discover w3c) \ No newline at end of file
diff --git a/tests/testsuite/link-idref-title-paranthesis.out b/tests/testsuite/link-idref-title-paranthesis.out
new file mode 100644
index 0000000..f80f8ce
--- /dev/null
+++ b/tests/testsuite/link-idref-title-paranthesis.out
@@ -0,0 +1 @@
+<p><a href="http://www.w3.org/" title="Discover w3c">World Wide Web Consortium</a></p> \ No newline at end of file
diff --git a/tests/testsuite/link-idref-title-single-quote.md b/tests/testsuite/link-idref-title-single-quote.md
new file mode 100644
index 0000000..a6a81b9
--- /dev/null
+++ b/tests/testsuite/link-idref-title-single-quote.md
@@ -0,0 +1,3 @@
+[World Wide Web Consortium][w3c]
+
+[w3c]: http://www.w3.org/ 'Discover w3c' \ No newline at end of file
diff --git a/tests/testsuite/link-idref-title-single-quote.out b/tests/testsuite/link-idref-title-single-quote.out
new file mode 100644
index 0000000..f80f8ce
--- /dev/null
+++ b/tests/testsuite/link-idref-title-single-quote.out
@@ -0,0 +1 @@
+<p><a href="http://www.w3.org/" title="Discover w3c">World Wide Web Consortium</a></p> \ No newline at end of file
diff --git a/tests/testsuite/link-idref-title.md b/tests/testsuite/link-idref-title.md
new file mode 100644
index 0000000..bee4294
--- /dev/null
+++ b/tests/testsuite/link-idref-title.md
@@ -0,0 +1,3 @@
+[World Wide Web Consortium][w3c]
+
+[w3c]: http://www.w3.org/ "Discover w3c" \ No newline at end of file
diff --git a/tests/testsuite/link-idref-title.out b/tests/testsuite/link-idref-title.out
new file mode 100644
index 0000000..f80f8ce
--- /dev/null
+++ b/tests/testsuite/link-idref-title.out
@@ -0,0 +1 @@
+<p><a href="http://www.w3.org/" title="Discover w3c">World Wide Web Consortium</a></p> \ No newline at end of file
diff --git a/tests/testsuite/link-idref.md b/tests/testsuite/link-idref.md
new file mode 100644
index 0000000..2d45629
--- /dev/null
+++ b/tests/testsuite/link-idref.md
@@ -0,0 +1,3 @@
+[World Wide Web Consortium][w3c]
+
+[w3c]: http://www.w3.org/ \ No newline at end of file
diff --git a/tests/testsuite/link-idref.out b/tests/testsuite/link-idref.out
new file mode 100644
index 0000000..dbee9a9
--- /dev/null
+++ b/tests/testsuite/link-idref.out
@@ -0,0 +1 @@
+<p><a href="http://www.w3.org/">World Wide Web Consortium</a></p> \ No newline at end of file
diff --git a/tests/testsuite/list-blockquote.md b/tests/testsuite/list-blockquote.md
new file mode 100644
index 0000000..37c0762
--- /dev/null
+++ b/tests/testsuite/list-blockquote.md
@@ -0,0 +1,3 @@
+* a list containing a blockquote
+
+ > this the blockquote in the list \ No newline at end of file
diff --git a/tests/testsuite/list-blockquote.out b/tests/testsuite/list-blockquote.out
new file mode 100644
index 0000000..1d99d17
--- /dev/null
+++ b/tests/testsuite/list-blockquote.out
@@ -0,0 +1,7 @@
+<ul>
+<li><p>a list containing a blockquote</p>
+
+<blockquote>
+<p>this the blockquote in the list</p>
+</blockquote></li>
+</ul>
diff --git a/tests/testsuite/list-code-1-space.md b/tests/testsuite/list-code-1-space.md
new file mode 100644
index 0000000..43fae2f
--- /dev/null
+++ b/tests/testsuite/list-code-1-space.md
@@ -0,0 +1,3 @@
+* a
+
+ b
diff --git a/tests/testsuite/list-code-1-space.out b/tests/testsuite/list-code-1-space.out
new file mode 100644
index 0000000..f16fd10
--- /dev/null
+++ b/tests/testsuite/list-code-1-space.out
@@ -0,0 +1,7 @@
+<ul>
+ <li>
+ <p>a</p>
+ <pre><code>b
+</code></pre>
+ </li>
+</ul>
diff --git a/tests/testsuite/list-code.md b/tests/testsuite/list-code.md
new file mode 100644
index 0000000..ed774d2
--- /dev/null
+++ b/tests/testsuite/list-code.md
@@ -0,0 +1,4 @@
+* a list containing a block of code
+
+ 10 PRINT HELLO INFINITE
+ 20 GOTO 10 \ No newline at end of file
diff --git a/tests/testsuite/list-code.out b/tests/testsuite/list-code.out
new file mode 100644
index 0000000..53b3c22
--- /dev/null
+++ b/tests/testsuite/list-code.out
@@ -0,0 +1,7 @@
+<ul>
+<li><p>a list containing a block of code</p>
+
+<pre><code>10 PRINT HELLO INFINITE
+20 GOTO 10
+</code></pre></li>
+</ul> \ No newline at end of file
diff --git a/tests/testsuite/list-multiparagraphs-tab.md b/tests/testsuite/list-multiparagraphs-tab.md
new file mode 100644
index 0000000..8c50d42
--- /dev/null
+++ b/tests/testsuite/list-multiparagraphs-tab.md
@@ -0,0 +1,9 @@
+* This is a list item with two paragraphs. Lorem ipsum dolor
+ sit amet, consectetuer adipiscing elit. Aliquam hendrerit
+ mi posuere lectus.
+
+ Vestibulum enim wisi, viverra nec, fringilla in, laoreet
+ vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
+ sit amet velit.
+
+* Suspendisse id sem consectetuer libero luctus adipiscing. \ No newline at end of file
diff --git a/tests/testsuite/list-multiparagraphs-tab.out b/tests/testsuite/list-multiparagraphs-tab.out
new file mode 100644
index 0000000..a90759e
--- /dev/null
+++ b/tests/testsuite/list-multiparagraphs-tab.out
@@ -0,0 +1,10 @@
+<ul>
+<li><p>This is a list item with two paragraphs. Lorem ipsum dolor
+sit amet, consectetuer adipiscing elit. Aliquam hendrerit
+mi posuere lectus.</p>
+
+<p>Vestibulum enim wisi, viverra nec, fringilla in, laoreet
+vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
+sit amet velit.</p></li>
+<li><p>Suspendisse id sem consectetuer libero luctus adipiscing.</p></li>
+</ul> \ No newline at end of file
diff --git a/tests/testsuite/list-multiparagraphs.md b/tests/testsuite/list-multiparagraphs.md
new file mode 100644
index 0000000..58d4820
--- /dev/null
+++ b/tests/testsuite/list-multiparagraphs.md
@@ -0,0 +1,9 @@
+* This is a list item with two paragraphs. Lorem ipsum dolor
+ sit amet, consectetuer adipiscing elit. Aliquam hendrerit
+ mi posuere lectus.
+
+ Vestibulum enim wisi, viverra nec, fringilla in, laoreet
+ vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
+ sit amet velit.
+
+* Suspendisse id sem consectetuer libero luctus adipiscing. \ No newline at end of file
diff --git a/tests/testsuite/list-multiparagraphs.out b/tests/testsuite/list-multiparagraphs.out
new file mode 100644
index 0000000..a90759e
--- /dev/null
+++ b/tests/testsuite/list-multiparagraphs.out
@@ -0,0 +1,10 @@
+<ul>
+<li><p>This is a list item with two paragraphs. Lorem ipsum dolor
+sit amet, consectetuer adipiscing elit. Aliquam hendrerit
+mi posuere lectus.</p>
+
+<p>Vestibulum enim wisi, viverra nec, fringilla in, laoreet
+vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
+sit amet velit.</p></li>
+<li><p>Suspendisse id sem consectetuer libero luctus adipiscing.</p></li>
+</ul> \ No newline at end of file
diff --git a/tests/testsuite/ordered-list-escaped.md b/tests/testsuite/ordered-list-escaped.md
new file mode 100644
index 0000000..ec71a7e
--- /dev/null
+++ b/tests/testsuite/ordered-list-escaped.md
@@ -0,0 +1 @@
+1\. ordered list escape \ No newline at end of file
diff --git a/tests/testsuite/ordered-list-escaped.out b/tests/testsuite/ordered-list-escaped.out
new file mode 100644
index 0000000..f6c477d
--- /dev/null
+++ b/tests/testsuite/ordered-list-escaped.out
@@ -0,0 +1 @@
+<p>1. ordered list escape</p> \ No newline at end of file
diff --git a/tests/testsuite/ordered-list-inner-par-list.md b/tests/testsuite/ordered-list-inner-par-list.md
new file mode 100644
index 0000000..05c6490
--- /dev/null
+++ b/tests/testsuite/ordered-list-inner-par-list.md
@@ -0,0 +1,5 @@
+1. 1
+
+ - inner par list
+
+2. 2
diff --git a/tests/testsuite/ordered-list-inner-par-list.out b/tests/testsuite/ordered-list-inner-par-list.out
new file mode 100644
index 0000000..3e7796c
--- /dev/null
+++ b/tests/testsuite/ordered-list-inner-par-list.out
@@ -0,0 +1,9 @@
+<ol>
+ <li>
+ <p>1</p>
+ <ul>
+ <li>inner par list</li>
+ </ul>
+ </li>
+ <li><p>2</p></li>
+</ol>
diff --git a/tests/testsuite/ordered-list-items-random-number.md b/tests/testsuite/ordered-list-items-random-number.md
new file mode 100644
index 0000000..8f4d9bb
--- /dev/null
+++ b/tests/testsuite/ordered-list-items-random-number.md
@@ -0,0 +1,3 @@
+1. list item 1
+8. list item 2
+1. list item 3 \ No newline at end of file
diff --git a/tests/testsuite/ordered-list-items-random-number.out b/tests/testsuite/ordered-list-items-random-number.out
new file mode 100644
index 0000000..6113b3a
--- /dev/null
+++ b/tests/testsuite/ordered-list-items-random-number.out
@@ -0,0 +1,5 @@
+<ol>
+<li>list item 1</li>
+<li>list item 2</li>
+<li>list item 3</li>
+</ol> \ No newline at end of file
diff --git a/tests/testsuite/ordered-list-items.md b/tests/testsuite/ordered-list-items.md
new file mode 100644
index 0000000..6ba5e88
--- /dev/null
+++ b/tests/testsuite/ordered-list-items.md
@@ -0,0 +1,3 @@
+1. list item 1
+2. list item 2
+3. list item 3 \ No newline at end of file
diff --git a/tests/testsuite/ordered-list-items.out b/tests/testsuite/ordered-list-items.out
new file mode 100644
index 0000000..6113b3a
--- /dev/null
+++ b/tests/testsuite/ordered-list-items.out
@@ -0,0 +1,5 @@
+<ol>
+<li>list item 1</li>
+<li>list item 2</li>
+<li>list item 3</li>
+</ol> \ No newline at end of file
diff --git a/tests/testsuite/paragraph-hard-return.md b/tests/testsuite/paragraph-hard-return.md
new file mode 100644
index 0000000..3e4dfbd
--- /dev/null
+++ b/tests/testsuite/paragraph-hard-return.md
@@ -0,0 +1,3 @@
+This is a paragraph
+on multiple lines
+with hard return. \ No newline at end of file
diff --git a/tests/testsuite/paragraph-hard-return.out b/tests/testsuite/paragraph-hard-return.out
new file mode 100644
index 0000000..7915e29
--- /dev/null
+++ b/tests/testsuite/paragraph-hard-return.out
@@ -0,0 +1,3 @@
+<p>This is a paragraph
+on multiple lines
+with hard return.</p> \ No newline at end of file
diff --git a/tests/testsuite/paragraph-line.md b/tests/testsuite/paragraph-line.md
new file mode 100644
index 0000000..edcdead
--- /dev/null
+++ b/tests/testsuite/paragraph-line.md
@@ -0,0 +1 @@
+This a very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long paragraph on 1 line. \ No newline at end of file
diff --git a/tests/testsuite/paragraph-line.out b/tests/testsuite/paragraph-line.out
new file mode 100644
index 0000000..5fc0e44
--- /dev/null
+++ b/tests/testsuite/paragraph-line.out
@@ -0,0 +1 @@
+<p>This a very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long paragraph on 1 line.</p> \ No newline at end of file
diff --git a/tests/testsuite/paragraph-trailing-leading-spaces.md b/tests/testsuite/paragraph-trailing-leading-spaces.md
new file mode 100644
index 0000000..3b3353d
--- /dev/null
+++ b/tests/testsuite/paragraph-trailing-leading-spaces.md
@@ -0,0 +1 @@
+ This is a paragraph with a trailing and leading space. \ No newline at end of file
diff --git a/tests/testsuite/paragraph-trailing-leading-spaces.out b/tests/testsuite/paragraph-trailing-leading-spaces.out
new file mode 100644
index 0000000..d99afcd
--- /dev/null
+++ b/tests/testsuite/paragraph-trailing-leading-spaces.out
@@ -0,0 +1 @@
+<p>This is a paragraph with a trailing and leading space. </p> \ No newline at end of file
diff --git a/tests/testsuite/paragraph-trailing-tab.md b/tests/testsuite/paragraph-trailing-tab.md
new file mode 100644
index 0000000..7b345c2
--- /dev/null
+++ b/tests/testsuite/paragraph-trailing-tab.md
@@ -0,0 +1 @@
+This is a paragraph with 1 trailing tab. \ No newline at end of file
diff --git a/tests/testsuite/paragraph-trailing-tab.out b/tests/testsuite/paragraph-trailing-tab.out
new file mode 100644
index 0000000..f4bcd7c
--- /dev/null
+++ b/tests/testsuite/paragraph-trailing-tab.out
@@ -0,0 +1 @@
+<p>This is a paragraph with 1 trailing tab. </p> \ No newline at end of file
diff --git a/tests/testsuite/paragraphs-2-leading-spaces.md b/tests/testsuite/paragraphs-2-leading-spaces.md
new file mode 100644
index 0000000..1a618de
--- /dev/null
+++ b/tests/testsuite/paragraphs-2-leading-spaces.md
@@ -0,0 +1 @@
+ This is a paragraph with 2 leading spaces. \ No newline at end of file
diff --git a/tests/testsuite/paragraphs-2-leading-spaces.out b/tests/testsuite/paragraphs-2-leading-spaces.out
new file mode 100644
index 0000000..bd08e95
--- /dev/null
+++ b/tests/testsuite/paragraphs-2-leading-spaces.out
@@ -0,0 +1 @@
+<p>This is a paragraph with 2 leading spaces.</p> \ No newline at end of file
diff --git a/tests/testsuite/paragraphs-3-leading-spaces.md b/tests/testsuite/paragraphs-3-leading-spaces.md
new file mode 100644
index 0000000..a38428f
--- /dev/null
+++ b/tests/testsuite/paragraphs-3-leading-spaces.md
@@ -0,0 +1 @@
+ This is a paragraph with 3 leading spaces. \ No newline at end of file
diff --git a/tests/testsuite/paragraphs-3-leading-spaces.out b/tests/testsuite/paragraphs-3-leading-spaces.out
new file mode 100644
index 0000000..9c91f46
--- /dev/null
+++ b/tests/testsuite/paragraphs-3-leading-spaces.out
@@ -0,0 +1 @@
+<p>This is a paragraph with 3 leading spaces.</p> \ No newline at end of file
diff --git a/tests/testsuite/paragraphs-leading-space.md b/tests/testsuite/paragraphs-leading-space.md
new file mode 100644
index 0000000..0d95f8b
--- /dev/null
+++ b/tests/testsuite/paragraphs-leading-space.md
@@ -0,0 +1 @@
+ This is a paragraph with 1 leading space. \ No newline at end of file
diff --git a/tests/testsuite/paragraphs-leading-space.out b/tests/testsuite/paragraphs-leading-space.out
new file mode 100644
index 0000000..917426d
--- /dev/null
+++ b/tests/testsuite/paragraphs-leading-space.out
@@ -0,0 +1 @@
+<p>This is a paragraph with 1 leading space.</p> \ No newline at end of file
diff --git a/tests/testsuite/paragraphs-trailing-spaces.md b/tests/testsuite/paragraphs-trailing-spaces.md
new file mode 100644
index 0000000..6809b73
--- /dev/null
+++ b/tests/testsuite/paragraphs-trailing-spaces.md
@@ -0,0 +1 @@
+This is a paragraph with a trailing space. \ No newline at end of file
diff --git a/tests/testsuite/paragraphs-trailing-spaces.out b/tests/testsuite/paragraphs-trailing-spaces.out
new file mode 100644
index 0000000..7636c46
--- /dev/null
+++ b/tests/testsuite/paragraphs-trailing-spaces.out
@@ -0,0 +1 @@
+<p>This is a paragraph with a trailing space. </p> \ No newline at end of file
diff --git a/tests/testsuite/strong-middle-word.md b/tests/testsuite/strong-middle-word.md
new file mode 100644
index 0000000..44651a4
--- /dev/null
+++ b/tests/testsuite/strong-middle-word.md
@@ -0,0 +1 @@
+as**te**risks \ No newline at end of file
diff --git a/tests/testsuite/strong-middle-word.out b/tests/testsuite/strong-middle-word.out
new file mode 100644
index 0000000..4550f32
--- /dev/null
+++ b/tests/testsuite/strong-middle-word.out
@@ -0,0 +1 @@
+<p>as<strong>te</strong>risks</p> \ No newline at end of file
diff --git a/tests/testsuite/strong-star.md b/tests/testsuite/strong-star.md
new file mode 100644
index 0000000..566125c
--- /dev/null
+++ b/tests/testsuite/strong-star.md
@@ -0,0 +1 @@
+**double asterisks** \ No newline at end of file
diff --git a/tests/testsuite/strong-star.out b/tests/testsuite/strong-star.out
new file mode 100644
index 0000000..3181aea
--- /dev/null
+++ b/tests/testsuite/strong-star.out
@@ -0,0 +1 @@
+<p><strong>double asterisks</strong></p> \ No newline at end of file
diff --git a/tests/testsuite/strong-underscore.md b/tests/testsuite/strong-underscore.md
new file mode 100644
index 0000000..69cc179
--- /dev/null
+++ b/tests/testsuite/strong-underscore.md
@@ -0,0 +1 @@
+__double underscores__ \ No newline at end of file
diff --git a/tests/testsuite/strong-underscore.out b/tests/testsuite/strong-underscore.out
new file mode 100644
index 0000000..ef613bb
--- /dev/null
+++ b/tests/testsuite/strong-underscore.out
@@ -0,0 +1 @@
+<p><strong>double underscores</strong></p> \ No newline at end of file
diff --git a/tests/testsuite/test.cfg b/tests/testsuite/test.cfg
new file mode 100644
index 0000000..c460782
--- /dev/null
+++ b/tests/testsuite/test.cfg
@@ -0,0 +1,13 @@
+# These tests are borrowed from https://github.com/karlcow/markdown-testsuite
+
+DEFAULT:
+ normalize: True
+ input_ext: .md
+ output_ext: .out
+ #skip: True
+
+list-code-1-space:
+ skip: True
+
+list-code:
+ skip: True
diff --git a/tests/testsuite/unordered-list-items-asterisk.md b/tests/testsuite/unordered-list-items-asterisk.md
new file mode 100644
index 0000000..01e3e61
--- /dev/null
+++ b/tests/testsuite/unordered-list-items-asterisk.md
@@ -0,0 +1,3 @@
+* list item 1
+* list item 2
+* list item 3
diff --git a/tests/testsuite/unordered-list-items-asterisk.out b/tests/testsuite/unordered-list-items-asterisk.out
new file mode 100644
index 0000000..a5d2dfc
--- /dev/null
+++ b/tests/testsuite/unordered-list-items-asterisk.out
@@ -0,0 +1,5 @@
+<ul>
+<li>list item 1</li>
+<li>list item 2</li>
+<li>list item 3</li>
+</ul> \ No newline at end of file
diff --git a/tests/testsuite/unordered-list-items-dashsign.md b/tests/testsuite/unordered-list-items-dashsign.md
new file mode 100644
index 0000000..bf057f8
--- /dev/null
+++ b/tests/testsuite/unordered-list-items-dashsign.md
@@ -0,0 +1,3 @@
+- list item 1
+- list item 2
+- list item 3 \ No newline at end of file
diff --git a/tests/testsuite/unordered-list-items-dashsign.out b/tests/testsuite/unordered-list-items-dashsign.out
new file mode 100644
index 0000000..a5d2dfc
--- /dev/null
+++ b/tests/testsuite/unordered-list-items-dashsign.out
@@ -0,0 +1,5 @@
+<ul>
+<li>list item 1</li>
+<li>list item 2</li>
+<li>list item 3</li>
+</ul> \ No newline at end of file
diff --git a/tests/testsuite/unordered-list-items-leading-1space.md b/tests/testsuite/unordered-list-items-leading-1space.md
new file mode 100644
index 0000000..ec95bb7
--- /dev/null
+++ b/tests/testsuite/unordered-list-items-leading-1space.md
@@ -0,0 +1,3 @@
+ * list item 1
+ * list item 2
+ * list item 3 \ No newline at end of file
diff --git a/tests/testsuite/unordered-list-items-leading-1space.out b/tests/testsuite/unordered-list-items-leading-1space.out
new file mode 100644
index 0000000..99cec2f
--- /dev/null
+++ b/tests/testsuite/unordered-list-items-leading-1space.out
@@ -0,0 +1,5 @@
+<ul>
+<li>list item 1</li>
+<li>list item 2</li>
+<li>list item 3</li>
+</ul>
diff --git a/tests/testsuite/unordered-list-items-leading-2spaces.md b/tests/testsuite/unordered-list-items-leading-2spaces.md
new file mode 100644
index 0000000..0d724cd
--- /dev/null
+++ b/tests/testsuite/unordered-list-items-leading-2spaces.md
@@ -0,0 +1,3 @@
+ * list item 1
+ * list item 2
+ * list item 3 \ No newline at end of file
diff --git a/tests/testsuite/unordered-list-items-leading-2spaces.out b/tests/testsuite/unordered-list-items-leading-2spaces.out
new file mode 100644
index 0000000..a5d2dfc
--- /dev/null
+++ b/tests/testsuite/unordered-list-items-leading-2spaces.out
@@ -0,0 +1,5 @@
+<ul>
+<li>list item 1</li>
+<li>list item 2</li>
+<li>list item 3</li>
+</ul> \ No newline at end of file
diff --git a/tests/testsuite/unordered-list-items-leading-3spaces.md b/tests/testsuite/unordered-list-items-leading-3spaces.md
new file mode 100644
index 0000000..c858766
--- /dev/null
+++ b/tests/testsuite/unordered-list-items-leading-3spaces.md
@@ -0,0 +1,3 @@
+ * list item 1
+ * list item 2
+ * list item 3 \ No newline at end of file
diff --git a/tests/testsuite/unordered-list-items-leading-3spaces.out b/tests/testsuite/unordered-list-items-leading-3spaces.out
new file mode 100644
index 0000000..a5d2dfc
--- /dev/null
+++ b/tests/testsuite/unordered-list-items-leading-3spaces.out
@@ -0,0 +1,5 @@
+<ul>
+<li>list item 1</li>
+<li>list item 2</li>
+<li>list item 3</li>
+</ul> \ No newline at end of file
diff --git a/tests/testsuite/unordered-list-items-plussign.md b/tests/testsuite/unordered-list-items-plussign.md
new file mode 100644
index 0000000..c91561e
--- /dev/null
+++ b/tests/testsuite/unordered-list-items-plussign.md
@@ -0,0 +1,3 @@
++ list item 1
++ list item 2
++ list item 3 \ No newline at end of file
diff --git a/tests/testsuite/unordered-list-items-plussign.out b/tests/testsuite/unordered-list-items-plussign.out
new file mode 100644
index 0000000..a5d2dfc
--- /dev/null
+++ b/tests/testsuite/unordered-list-items-plussign.out
@@ -0,0 +1,5 @@
+<ul>
+<li>list item 1</li>
+<li>list item 2</li>
+<li>list item 3</li>
+</ul> \ No newline at end of file
diff --git a/tests/testsuite/unordered-list-paragraphs.md b/tests/testsuite/unordered-list-paragraphs.md
new file mode 100644
index 0000000..c94b4db
--- /dev/null
+++ b/tests/testsuite/unordered-list-paragraphs.md
@@ -0,0 +1,3 @@
+* list item in paragraph
+
+* another list item in paragraph \ No newline at end of file
diff --git a/tests/testsuite/unordered-list-paragraphs.out b/tests/testsuite/unordered-list-paragraphs.out
new file mode 100644
index 0000000..e78215e
--- /dev/null
+++ b/tests/testsuite/unordered-list-paragraphs.out
@@ -0,0 +1,4 @@
+<ul>
+<li><p>list item in paragraph</p></li>
+<li><p>another list item in paragraph</p></li>
+</ul> \ No newline at end of file
diff --git a/tests/testsuite/unordered-list-unindented-content.md b/tests/testsuite/unordered-list-unindented-content.md
new file mode 100644
index 0000000..f564c02
--- /dev/null
+++ b/tests/testsuite/unordered-list-unindented-content.md
@@ -0,0 +1,2 @@
+* This a very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long paragraph in a list.
+* and yet another long long long long long long long long long long long long long long long long long long long long long long line. \ No newline at end of file
diff --git a/tests/testsuite/unordered-list-unindented-content.out b/tests/testsuite/unordered-list-unindented-content.out
new file mode 100644
index 0000000..44d07b8
--- /dev/null
+++ b/tests/testsuite/unordered-list-unindented-content.out
@@ -0,0 +1,4 @@
+<ul>
+<li>This a very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long paragraph in a list.</li>
+<li>and yet another long long long long long long long long long long long long long long long long long long long long long long line.</li>
+</ul> \ No newline at end of file
diff --git a/tests/testsuite/unordered-list-with-indented-content.md b/tests/testsuite/unordered-list-with-indented-content.md
new file mode 100644
index 0000000..5fcc8e0
--- /dev/null
+++ b/tests/testsuite/unordered-list-with-indented-content.md
@@ -0,0 +1,5 @@
+* This is a list item
+ with the content on
+ multiline and indented.
+* And this another list item
+ with the same principle. \ No newline at end of file
diff --git a/tests/testsuite/unordered-list-with-indented-content.out b/tests/testsuite/unordered-list-with-indented-content.out
new file mode 100644
index 0000000..003d8ce
--- /dev/null
+++ b/tests/testsuite/unordered-list-with-indented-content.out
@@ -0,0 +1,7 @@
+<ul>
+<li>This is a list item
+with the content on
+multiline and indented.</li>
+<li>And this another list item
+with the same principle.</li>
+</ul> \ No newline at end of file