diff --git a/test/fixtures/stmd_conflicting/Headers/Setext.html b/test/fixtures/stmd_conflicting/Headers/Setext.html
new file mode 100644
index 0000000..787fb02
--- /dev/null
+++ b/test/fixtures/stmd_conflicting/Headers/Setext.html
@@ -0,0 +1,9 @@
+
Level one
+Two
+In a paragraph
+Level two
+more text
+======
+no empty headers
+not a header
+
diff --git a/test/fixtures/stmd_conflicting/Headers/Setext.markdown b/test/fixtures/stmd_conflicting/Headers/Setext.markdown
new file mode 100644
index 0000000..da0c7e2
--- /dev/null
+++ b/test/fixtures/stmd_conflicting/Headers/Setext.markdown
@@ -0,0 +1,17 @@
+Level one
+=========
+
+Two
+---
+
+In a paragraph
+
+Level two
+---------
+more text
+
+======
+no empty headers
+
+not a header
+------------ -----
diff --git a/test/fixtures/stmd_ok/Headers/ATX.html b/test/fixtures/stmd_ok/Headers/ATX.html
new file mode 100644
index 0000000..f375b98
--- /dev/null
+++ b/test/fixtures/stmd_ok/Headers/ATX.html
@@ -0,0 +1,14 @@
+One
+Two
+Three
+Four
+Five
+Six
+####### Seven
+Three with
+Spacing doesn't matter
+Escaped final #
+## Not a header
+#5 not a header
+
+(empty header)
diff --git a/test/fixtures/stmd_ok/Headers/ATX.markdown b/test/fixtures/stmd_ok/Headers/ATX.markdown
new file mode 100644
index 0000000..f687aa5
--- /dev/null
+++ b/test/fixtures/stmd_ok/Headers/ATX.markdown
@@ -0,0 +1,20 @@
+# One
+## Two
+### Three
+#### Four
+##### Five
+
+###### Six
+
+####### Seven
+
+### Three with ###
+## Spacing doesn't matter ##
+## Escaped final \##
+
+\## Not a header
+
+#5 not a header
+
+##
+(empty header)
diff --git a/test/fixtures/stmd_pending/Blockquotes/Indents.html b/test/fixtures/stmd_pending/Blockquotes/Indents.html
new file mode 100644
index 0000000..fd98ee8
--- /dev/null
+++ b/test/fixtures/stmd_pending/Blockquotes/Indents.html
@@ -0,0 +1,12 @@
+
+one
+blockquote
+
+
+
+
+triply nested
+triply nested
+
+
+
diff --git a/test/fixtures/stmd_pending/Blockquotes/Indents.markdown b/test/fixtures/stmd_pending/Blockquotes/Indents.markdown
new file mode 100644
index 0000000..f9342ff
--- /dev/null
+++ b/test/fixtures/stmd_pending/Blockquotes/Indents.markdown
@@ -0,0 +1,5 @@
+> one
+ > blockquote
+
+>>> triply nested
+ > > > triply nested
diff --git a/test/fixtures/stmd_pending/Blockquotes/Nesting.html b/test/fixtures/stmd_pending/Blockquotes/Nesting.html
new file mode 100644
index 0000000..f40e999
--- /dev/null
+++ b/test/fixtures/stmd_pending/Blockquotes/Nesting.html
@@ -0,0 +1,32 @@
+These are all equivalent:
+
+
+nested
+blockquote
+
+
+
+
+nested
+blockquote
+
+
+
+
+nested
+blockquote
+
+
+
+
+nested
+blockquote
+
+
+This is not:
+
+nested
+
+blockquote
+
+
diff --git a/test/fixtures/stmd_pending/Blockquotes/Nesting.markdown b/test/fixtures/stmd_pending/Blockquotes/Nesting.markdown
new file mode 100644
index 0000000..3d67843
--- /dev/null
+++ b/test/fixtures/stmd_pending/Blockquotes/Nesting.markdown
@@ -0,0 +1,22 @@
+These are all equivalent:
+
+> > nested
+> > blockquote
+
+
+>> nested
+>> blockquote
+
+
+> > nested
+blockquote
+
+
+> > nested
+> blockquote
+
+
+This is not:
+
+> nested
+> > blockquote
diff --git a/test/fixtures/stmd_pending/Blockquotes/Separation.html b/test/fixtures/stmd_pending/Blockquotes/Separation.html
new file mode 100644
index 0000000..910d545
--- /dev/null
+++ b/test/fixtures/stmd_pending/Blockquotes/Separation.html
@@ -0,0 +1,39 @@
+One blockquote, two paragraphs:
+
+one
+two
+
+Two blockquotes:
+
+one
+
+
+two
+
+Nested blockquote, two paragraphs:
+
+
+one
+two
+
+
+Nested blockquote, two blockquotes:
+
+
+one
+
+
+two
+
+
+Two nested blockquotes:
+
+
+one
+
+
+
+
+two
+
+
diff --git a/test/fixtures/stmd_pending/Blockquotes/Separation.markdown b/test/fixtures/stmd_pending/Blockquotes/Separation.markdown
new file mode 100644
index 0000000..823d865
--- /dev/null
+++ b/test/fixtures/stmd_pending/Blockquotes/Separation.markdown
@@ -0,0 +1,29 @@
+One blockquote, two paragraphs:
+
+> one
+>
+> two
+
+Two blockquotes:
+
+> one
+
+> two
+
+Nested blockquote, two paragraphs:
+
+> > one
+> >
+> > two
+
+Nested blockquote, two blockquotes:
+
+> > one
+>
+> > two
+
+Two nested blockquotes:
+
+> > one
+
+> > two
diff --git a/test/fixtures/stmd_pending/Code/BlankLines.html b/test/fixtures/stmd_pending/Code/BlankLines.html
new file mode 100644
index 0000000..ae0abf7
--- /dev/null
+++ b/test/fixtures/stmd_pending/Code/BlankLines.html
@@ -0,0 +1,33 @@
+foo
+
+
+
+bar
+
+
+foo
+
+
+
+bar
+
+
+foo
+
+
+
+bar
+
+
+One
+CodeA
+
+CodeB
+
+Two
+CodeA
+
+
+
+- One
+
diff --git a/test/fixtures/stmd_pending/Code/BlankLines.markdown b/test/fixtures/stmd_pending/Code/BlankLines.markdown
new file mode 100644
index 0000000..b0d5a0c
--- /dev/null
+++ b/test/fixtures/stmd_pending/Code/BlankLines.markdown
@@ -0,0 +1,28 @@
+ foo
+
+
+
+ bar
+> foo
+>
+>
+>
+> bar
+ foo
+
+
+
+ bar
+
+1. One
+
+ CodeA
+
+ CodeB
+
+2. Two
+
+ CodeA
+
+
+1. One
diff --git a/test/fixtures/stmd_pending/Code/BlankLinesAtEnd.html b/test/fixtures/stmd_pending/Code/BlankLinesAtEnd.html
new file mode 100644
index 0000000..ac803d9
--- /dev/null
+++ b/test/fixtures/stmd_pending/Code/BlankLinesAtEnd.html
@@ -0,0 +1,14 @@
+
+
+
diff --git a/test/fixtures/stmd_pending/Code/BlankLinesAtEnd.markdown b/test/fixtures/stmd_pending/Code/BlankLinesAtEnd.markdown
new file mode 100644
index 0000000..55879ae
--- /dev/null
+++ b/test/fixtures/stmd_pending/Code/BlankLinesAtEnd.markdown
@@ -0,0 +1,14 @@
+* List
+
+ code
+
+
+ * one
+ * two
+
+
+
+* one
+ not code
+
+* two
diff --git a/test/fixtures/stmd_pending/Code/FenceMatching.html b/test/fixtures/stmd_pending/Code/FenceMatching.html
new file mode 100644
index 0000000..4c7468e
--- /dev/null
+++ b/test/fixtures/stmd_pending/Code/FenceMatching.html
@@ -0,0 +1,8 @@
+```
+
+
+`````
+
+````
+
+
diff --git a/test/fixtures/stmd_pending/Code/FenceMatching.markdown b/test/fixtures/stmd_pending/Code/FenceMatching.markdown
new file mode 100644
index 0000000..d86169a
--- /dev/null
+++ b/test/fixtures/stmd_pending/Code/FenceMatching.markdown
@@ -0,0 +1,10 @@
+````abc
+```
+````
+``````blah
+
+`````
+
+````
+
+```````````
diff --git a/test/fixtures/stmd_pending/Code/FencedCodeBlocks.html b/test/fixtures/stmd_pending/Code/FencedCodeBlocks.html
new file mode 100644
index 0000000..4813d72
--- /dev/null
+++ b/test/fixtures/stmd_pending/Code/FencedCodeBlocks.html
@@ -0,0 +1,24 @@
+This is a fenced code block:
+pairs :: [(Int,Char)]
+pairs = [(x,y) | x <- [0..10], y <- ['a'..'z']]
+
+Here is one with tildes:
+pairs :: [(Int,Char)]
+pairs = [(x,y) | x <- [0..10], y <- ['a'..'z']]
+
+More metadata:
+pairs :: [(Int,Char)]
+pairs = [(x,y) | x <- [0..10], y <- ['a'..'z']]
+
+More backticks:
+pairs :: [(Int,Char)]
+pairs = [(x,y) | x <- [0..10], y <- ['a'..'z']]
+
+backticks :: String
+backticks = "`````"
+
+Without an end:
+code with
+no end
+
+
diff --git a/test/fixtures/stmd_pending/Code/FencedCodeBlocks.markdown b/test/fixtures/stmd_pending/Code/FencedCodeBlocks.markdown
new file mode 100644
index 0000000..6ccc6be
--- /dev/null
+++ b/test/fixtures/stmd_pending/Code/FencedCodeBlocks.markdown
@@ -0,0 +1,35 @@
+This is a fenced code block:
+```haskell
+pairs :: [(Int,Char)]
+pairs = [(x,y) | x <- [0..10], y <- ['a'..'z']]
+```
+Here is one with tildes:
+
+~~~ haskell
+pairs :: [(Int,Char)]
+pairs = [(x,y) | x <- [0..10], y <- ['a'..'z']]
+~~~
+
+More metadata:
+
+```haskell numberLines start=50
+pairs :: [(Int,Char)]
+pairs = [(x,y) | x <- [0..10], y <- ['a'..'z']]
+```
+
+More backticks:
+
+```````` haskell
+pairs :: [(Int,Char)]
+pairs = [(x,y) | x <- [0..10], y <- ['a'..'z']]
+
+backticks :: String
+backticks = "`````"
+`````````````
+
+Without an end:
+
+```
+code with
+no end
+
diff --git a/test/fixtures/stmd_pending/Code/IndentedCodeBlocks.html b/test/fixtures/stmd_pending/Code/IndentedCodeBlocks.html
new file mode 100644
index 0000000..0b9b7e7
--- /dev/null
+++ b/test/fixtures/stmd_pending/Code/IndentedCodeBlocks.html
@@ -0,0 +1,22 @@
+Indented code with two space indent in first and last line:
+ two spaces *hello*
+{ more }
+
+ and
+
+Indented code requires a leading/trailing blank line:
+quick-command --option "$*"
+Indented code does not require a trailing blank line:
+code
+
+and not code.
+Code in blockquote:
+
+code
+
+
+Code in list:
+
+code
+
+
diff --git a/test/fixtures/stmd_pending/Code/IndentedCodeBlocks.markdown b/test/fixtures/stmd_pending/Code/IndentedCodeBlocks.markdown
new file mode 100644
index 0000000..2a99db0
--- /dev/null
+++ b/test/fixtures/stmd_pending/Code/IndentedCodeBlocks.markdown
@@ -0,0 +1,22 @@
+Indented code with two space indent in first and last line:
+
+ two spaces *hello*
+ { more }
+
+ and
+
+Indented code requires a leading/trailing blank line:
+ quick-command --option "$*"
+
+Indented code does not require a trailing blank line:
+
+ code
+and not code.
+
+Code in blockquote:
+
+> code
+
+Code in list:
+
+1. code
diff --git a/test/fixtures/stmd_pending/Code/IndentedFences.html b/test/fixtures/stmd_pending/Code/IndentedFences.html
new file mode 100644
index 0000000..66e76da
--- /dev/null
+++ b/test/fixtures/stmd_pending/Code/IndentedFences.html
@@ -0,0 +1,20 @@
+a
+
+z
+
+a
+a
+a
+ a
+
+
+foo
+ Hello
+
+World
+
+
+
+a
+
+
diff --git a/test/fixtures/stmd_pending/Code/IndentedFences.markdown b/test/fixtures/stmd_pending/Code/IndentedFences.markdown
new file mode 100644
index 0000000..098545f
--- /dev/null
+++ b/test/fixtures/stmd_pending/Code/IndentedFences.markdown
@@ -0,0 +1,26 @@
+ ```
+ a
+ ```
+
+ ```
+z
+```
+
+ ```
+a
+ a
+ a
+ a
+ ```
+
+* foo
+
+ ```
+ Hello
+
+ World
+ ```
+
+> ```
+>a
+>```
diff --git a/test/fixtures/stmd_pending/Code/IndentedInLists.html b/test/fixtures/stmd_pending/Code/IndentedInLists.html
new file mode 100644
index 0000000..76ed424
--- /dev/null
+++ b/test/fixtures/stmd_pending/Code/IndentedInLists.html
@@ -0,0 +1,22 @@
+
+
+foo
+code starts here
+
+foo
+code starts here
+
+
+
+foo
+code starts here
+
+
+foo
+code starts here
+
+
+
diff --git a/test/fixtures/stmd_pending/Code/IndentedInLists.markdown b/test/fixtures/stmd_pending/Code/IndentedInLists.markdown
new file mode 100644
index 0000000..54e1af1
--- /dev/null
+++ b/test/fixtures/stmd_pending/Code/IndentedInLists.markdown
@@ -0,0 +1,17 @@
+- code starts here
+
+1. foo
+
+ code starts here
+
+2. foo
+
+ code starts here
+
+- foo
+
+ code starts here
+
+ - foo
+
+ code starts here
diff --git a/test/fixtures/stmd_pending/Code/Inline.html b/test/fixtures/stmd_pending/Code/Inline.html
new file mode 100644
index 0000000..9c52790
--- /dev/null
+++ b/test/fixtures/stmd_pending/Code/Inline.html
@@ -0,0 +1,13 @@
+All of these are equivalent:
+
+*hi*
+*hi*
+*hi*
+*hi*
+*hi*
+
+Backticks in code spans:
+
diff --git a/test/fixtures/stmd_pending/Code/Inline.markdown b/test/fixtures/stmd_pending/Code/Inline.markdown
new file mode 100644
index 0000000..38e5b0c
--- /dev/null
+++ b/test/fixtures/stmd_pending/Code/Inline.markdown
@@ -0,0 +1,13 @@
+All of these are equivalent:
+
+- `*hi*`
+- ` *hi* `
+- ``*hi* ``
+- ````*hi*````
+- `*hi*
+ `
+
+Backticks in code spans:
+
+- ``` ``code`` ```
+- ` ``code`` `
diff --git a/test/fixtures/stmd_pending/Code/ListBreakAfter.html b/test/fixtures/stmd_pending/Code/ListBreakAfter.html
new file mode 100644
index 0000000..29d6d5e
--- /dev/null
+++ b/test/fixtures/stmd_pending/Code/ListBreakAfter.html
@@ -0,0 +1,30 @@
+
+foo
+
+bar
+code1
+code2
+
+code?
+
+foo
+
+
+code?
+
+
+code?
+
diff --git a/test/fixtures/stmd_pending/Code/ListBreakAfter.markdown b/test/fixtures/stmd_pending/Code/ListBreakAfter.markdown
new file mode 100644
index 0000000..4fa79f1
--- /dev/null
+++ b/test/fixtures/stmd_pending/Code/ListBreakAfter.markdown
@@ -0,0 +1,26 @@
+* foo
+ * bar
+
+ code1
+ code2
+
+ code?
+
+* foo
+ * bar
+
+ code1
+ code2
+
+
+ code?
+
+* foo
+ * bar
+
+ code1
+ code2
+
+
+
+ code?
diff --git a/test/fixtures/stmd_pending/Code/WhiteLines.html b/test/fixtures/stmd_pending/Code/WhiteLines.html
new file mode 100644
index 0000000..7fa137f
--- /dev/null
+++ b/test/fixtures/stmd_pending/Code/WhiteLines.html
@@ -0,0 +1,7 @@
+ABC
+
+
+
+DEF
+
+GHI
diff --git a/test/fixtures/stmd_pending/Code/WhiteLines.markdown b/test/fixtures/stmd_pending/Code/WhiteLines.markdown
new file mode 100644
index 0000000..ea17af7
--- /dev/null
+++ b/test/fixtures/stmd_pending/Code/WhiteLines.markdown
@@ -0,0 +1,9 @@
+ ABC
+
+
+
+ DEF
+
+
+
+GHI
diff --git a/test/fixtures/stmd_pending/Emphasis/Escapes.html b/test/fixtures/stmd_pending/Emphasis/Escapes.html
new file mode 100644
index 0000000..17c9e2d
--- /dev/null
+++ b/test/fixtures/stmd_pending/Emphasis/Escapes.html
@@ -0,0 +1 @@
+hi* there
diff --git a/test/fixtures/stmd_pending/Emphasis/Escapes.markdown b/test/fixtures/stmd_pending/Emphasis/Escapes.markdown
new file mode 100644
index 0000000..4f14698
--- /dev/null
+++ b/test/fixtures/stmd_pending/Emphasis/Escapes.markdown
@@ -0,0 +1 @@
+*hi\* there*
\ No newline at end of file
diff --git a/test/fixtures/stmd_pending/Emphasis/NestedEmphAndStrong.html b/test/fixtures/stmd_pending/Emphasis/NestedEmphAndStrong.html
new file mode 100644
index 0000000..b41b527
--- /dev/null
+++ b/test/fixtures/stmd_pending/Emphasis/NestedEmphAndStrong.html
@@ -0,0 +1,66 @@
+
+- test test
+- test test
+- test test
+- test test
+- test test
+- test test
+- test test
+- test test
+- test test
+- test test
+- test test
+- test test
+- test test
+- test test
+- test test
+- test test
+
+Incorrect nesting:
+
+- *test test* test
+- _test test_ test
+- **test test* test*
+- __test␣test_␣test_
+- test test test
+- test test test
+- test test test
+- test test test
+
+No emphasis:
+
+- test* test *test
+- test** test **test
+- test_ test _test
+- test__ test __test
+
+Middle-word emphasis (asterisks):
+
+- ab
+- ab
+- abc
+- ab
+- ab
+- abc
+
+Middle-word emphasis (underscore):
+
+- _a_b
+- a_b_
+- a_b_c
+- __a__b
+- a__b__
+- a__b__c
+- my_precious_file.txt
+
+Tricky Cases:
+
+- E**. Test TestTestTest
+- E**. Test Test Test Test
+
+Overlong emphasis:
+Name: ____________
+Organization: ____
+Region/Country: __
+_____Cut here_____
+____Cut here____
diff --git a/test/fixtures/stmd_pending/Emphasis/NestedEmphAndStrong.markdown b/test/fixtures/stmd_pending/Emphasis/NestedEmphAndStrong.markdown
new file mode 100644
index 0000000..ec7da25
--- /dev/null
+++ b/test/fixtures/stmd_pending/Emphasis/NestedEmphAndStrong.markdown
@@ -0,0 +1,69 @@
+1. ***test test***
+2. ___test test___
+3. *test **test***
+4. **test *test***
+5. ***test* test**
+6. ***test** test*
+7. ***test* test**
+8. **test *test***
+9. *test **test***
+10. _test __test___
+11. __test _test___
+12. ___test_ test__
+13. ___test__ test_
+14. ___test_ test__
+15. __test _test___
+16. _test __test___
+
+Incorrect nesting:
+
+1. *test **test* test**
+2. _test __test_ test__
+3. **test *test** test*
+4. __test _test__ test_
+5. *test *test* test*
+6. _test _test_ test_
+7. **test **test** test**
+8. __test __test__ test__
+
+No emphasis:
+
+1. test* test *test
+2. test** test **test
+3. test_ test _test
+4. test__ test __test
+
+Middle-word emphasis (asterisks):
+
+1. *a*b
+2. a*b*
+3. a*b*c
+4. **a**b
+5. a**b**
+6. a**b**c
+
+Middle-word emphasis (underscore):
+
+1. _a_b
+2. a_b_
+3. a_b_c
+4. __a__b
+5. a__b__
+6. a__b__c
+7. my_precious_file.txt
+
+Tricky Cases:
+
+1. E**. **Test** TestTestTest
+2. E**. **Test** Test Test Test
+
+Overlong emphasis:
+
+Name: ____________
+Organization: ____
+Region/Country: __
+
+_____Cut here_____
+
+____Cut here____
+
diff --git a/test/fixtures/stmd_pending/Emphasis/Pathological.html b/test/fixtures/stmd_pending/Emphasis/Pathological.html
new file mode 100644
index 0000000..37eb9fa
--- /dev/null
+++ b/test/fixtures/stmd_pending/Emphasis/Pathological.html
@@ -0,0 +1,24 @@
+This input can take a long time to parse in some implementations.
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+aaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa**
diff --git a/test/fixtures/stmd_pending/Emphasis/Pathological.markdown b/test/fixtures/stmd_pending/Emphasis/Pathological.markdown
new file mode 100644
index 0000000..5deb95e
--- /dev/null
+++ b/test/fixtures/stmd_pending/Emphasis/Pathological.markdown
@@ -0,0 +1,26 @@
+This input can take a long time to parse in some implementations.
+
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+*a
+aaaaa
+
+*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**
diff --git a/test/fixtures/stmd_pending/Emphasis/Punctuation.html b/test/fixtures/stmd_pending/Emphasis/Punctuation.html
new file mode 100644
index 0000000..6061b81
--- /dev/null
+++ b/test/fixtures/stmd_pending/Emphasis/Punctuation.html
@@ -0,0 +1,10 @@
+Here is a _ that is cool.
+Foo.
+Foo.
+Foo.
+Foo.
+Foo.
+Foo.
+Foo. Foo? Foo! Foo: Foo; (Foo)
+Foo. Foo? Foo! Foo: Foo; (Foo)
+Foo. Foo? Foo! Foo: Foo; (Foo)
diff --git a/test/fixtures/stmd_pending/Emphasis/Punctuation.markdown b/test/fixtures/stmd_pending/Emphasis/Punctuation.markdown
new file mode 100644
index 0000000..e3f23b8
--- /dev/null
+++ b/test/fixtures/stmd_pending/Emphasis/Punctuation.markdown
@@ -0,0 +1,19 @@
+Here is a _ that is _cool_.
+
+_Foo._
+
+__Foo.__
+
+___Foo.___
+
+_Foo_.
+
+__Foo__.
+
+___Foo___.
+
+_Foo_. _Foo_? _Foo_! _Foo_: _Foo_; (_Foo_)
+
+__Foo__. __Foo__? __Foo__! __Foo__: __Foo__; (__Foo__)
+
+___Foo___. ___Foo___? ___Foo___! ___Foo___: ___Foo___; (___Foo___)
diff --git a/test/fixtures/stmd_pending/HTML/Blocks.html b/test/fixtures/stmd_pending/HTML/Blocks.html
new file mode 100644
index 0000000..dc80335
--- /dev/null
+++ b/test/fixtures/stmd_pending/HTML/Blocks.html
@@ -0,0 +1,18 @@
+
+
+
+
+
+* raw html with trailing space
+
diff --git a/test/fixtures/stmd_pending/HTML/Blocks.markdown b/test/fixtures/stmd_pending/HTML/Blocks.markdown
new file mode 100644
index 0000000..a83fa66
--- /dev/null
+++ b/test/fixtures/stmd_pending/HTML/Blocks.markdown
@@ -0,0 +1,26 @@
+
+
+
+
+
+*this is markdown*
+
+
+
+
+
+
+
+
+
+* raw html with trailing space
+
diff --git a/test/fixtures/stmd_pending/HTML/Inline.html b/test/fixtures/stmd_pending/HTML/Inline.html
new file mode 100644
index 0000000..94d40ac
--- /dev/null
+++ b/test/fixtures/stmd_pending/HTML/Inline.html
@@ -0,0 +1,8 @@
+hi
+hi
+
+Hello there.
+A line
break.
+
diff --git a/test/fixtures/stmd_pending/HTML/Inline.markdown b/test/fixtures/stmd_pending/HTML/Inline.markdown
new file mode 100644
index 0000000..2259421
--- /dev/null
+++ b/test/fixtures/stmd_pending/HTML/Inline.markdown
@@ -0,0 +1,8 @@
+hi
+`hi`
+
+Hello there.
+A line
break.
+
diff --git a/test/fixtures/stmd_pending/HTML/UppercaseTags.html b/test/fixtures/stmd_pending/HTML/UppercaseTags.html
new file mode 100644
index 0000000..8d2d828
--- /dev/null
+++ b/test/fixtures/stmd_pending/HTML/UppercaseTags.html
@@ -0,0 +1,4 @@
+
+this is a block
+
+Here is some inline html.
diff --git a/test/fixtures/stmd_pending/HTML/UppercaseTags.markdown b/test/fixtures/stmd_pending/HTML/UppercaseTags.markdown
new file mode 100644
index 0000000..b476ffb
--- /dev/null
+++ b/test/fixtures/stmd_pending/HTML/UppercaseTags.markdown
@@ -0,0 +1,5 @@
+
+this is a block
+
+
+Here is some inline html.
\ No newline at end of file
diff --git a/test/fixtures/stmd_pending/Headers/ATX.html b/test/fixtures/stmd_pending/Headers/ATX.html
new file mode 100644
index 0000000..f375b98
--- /dev/null
+++ b/test/fixtures/stmd_pending/Headers/ATX.html
@@ -0,0 +1,14 @@
+One
+Two
+Three
+Four
+Five
+Six
+####### Seven
+Three with
+Spacing doesn't matter
+Escaped final #
+## Not a header
+#5 not a header
+
+(empty header)
diff --git a/test/fixtures/stmd_pending/Headers/ATX.markdown b/test/fixtures/stmd_pending/Headers/ATX.markdown
new file mode 100644
index 0000000..f687aa5
--- /dev/null
+++ b/test/fixtures/stmd_pending/Headers/ATX.markdown
@@ -0,0 +1,20 @@
+# One
+## Two
+### Three
+#### Four
+##### Five
+
+###### Six
+
+####### Seven
+
+### Three with ###
+## Spacing doesn't matter ##
+## Escaped final \##
+
+\## Not a header
+
+#5 not a header
+
+##
+(empty header)
diff --git a/test/fixtures/stmd_pending/Headers/Setext.html b/test/fixtures/stmd_pending/Headers/Setext.html
new file mode 100644
index 0000000..787fb02
--- /dev/null
+++ b/test/fixtures/stmd_pending/Headers/Setext.html
@@ -0,0 +1,9 @@
+Level one
+Two
+In a paragraph
+Level two
+more text
+======
+no empty headers
+not a header
+
diff --git a/test/fixtures/stmd_pending/Headers/Setext.markdown b/test/fixtures/stmd_pending/Headers/Setext.markdown
new file mode 100644
index 0000000..da0c7e2
--- /dev/null
+++ b/test/fixtures/stmd_pending/Headers/Setext.markdown
@@ -0,0 +1,17 @@
+Level one
+=========
+
+Two
+---
+
+In a paragraph
+
+Level two
+---------
+more text
+
+======
+no empty headers
+
+not a header
+------------ -----
diff --git a/test/fixtures/stmd_pending/Links/AngleBrackets.html b/test/fixtures/stmd_pending/Links/AngleBrackets.html
new file mode 100644
index 0000000..21ac00d
--- /dev/null
+++ b/test/fixtures/stmd_pending/Links/AngleBrackets.html
@@ -0,0 +1,3 @@
+silly URL with angle brackets.
+link.
+link.
diff --git a/test/fixtures/stmd_pending/Links/AngleBrackets.markdown b/test/fixtures/stmd_pending/Links/AngleBrackets.markdown
new file mode 100644
index 0000000..c2e06ff
--- /dev/null
+++ b/test/fixtures/stmd_pending/Links/AngleBrackets.markdown
@@ -0,0 +1,7 @@
+[silly URL with angle brackets](}]*+|&)>).
+
+[link]( "title").
+
+[link][].
+
+[link]: "title"
diff --git a/test/fixtures/stmd_pending/Links/AutoLinks.html b/test/fixtures/stmd_pending/Links/AutoLinks.html
new file mode 100644
index 0000000..092353f
--- /dev/null
+++ b/test/fixtures/stmd_pending/Links/AutoLinks.html
@@ -0,0 +1,7 @@
+http://google.com?query=blah&time=15
+someone.else@somedomain.com
+ftp://old.ftp.server.edu
+git://some.git.repo/project.git
+
+<http://not.an autolink>
+<relative/not/autolink>
diff --git a/test/fixtures/stmd_pending/Links/AutoLinks.markdown b/test/fixtures/stmd_pending/Links/AutoLinks.markdown
new file mode 100644
index 0000000..bf95b8d
--- /dev/null
+++ b/test/fixtures/stmd_pending/Links/AutoLinks.markdown
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/test/fixtures/stmd_pending/Links/BackticksInLinks.html b/test/fixtures/stmd_pending/Links/BackticksInLinks.html
new file mode 100644
index 0000000..ff70383
--- /dev/null
+++ b/test/fixtures/stmd_pending/Links/BackticksInLinks.html
@@ -0,0 +1 @@
+the right bracket character (]
)
diff --git a/test/fixtures/stmd_pending/Links/BackticksInLinks.markdown b/test/fixtures/stmd_pending/Links/BackticksInLinks.markdown
new file mode 100644
index 0000000..539fd52
--- /dev/null
+++ b/test/fixtures/stmd_pending/Links/BackticksInLinks.markdown
@@ -0,0 +1 @@
+[the right bracket character (`]`)](/url)
diff --git a/test/fixtures/stmd_pending/Links/CaseInsensitiveReferences.html b/test/fixtures/stmd_pending/Links/CaseInsensitiveReferences.html
new file mode 100644
index 0000000..afe4557
--- /dev/null
+++ b/test/fixtures/stmd_pending/Links/CaseInsensitiveReferences.html
@@ -0,0 +1 @@
+Толпой is a Russian word.
diff --git a/test/fixtures/stmd_pending/Links/CaseInsensitiveReferences.markdown b/test/fixtures/stmd_pending/Links/CaseInsensitiveReferences.markdown
new file mode 100644
index 0000000..f9653b9
--- /dev/null
+++ b/test/fixtures/stmd_pending/Links/CaseInsensitiveReferences.markdown
@@ -0,0 +1,3 @@
+[Толпой] is a Russian word.
+
+[ТОЛПОЙ]: /url
diff --git a/test/fixtures/stmd_pending/Links/Entities.html b/test/fixtures/stmd_pending/Links/Entities.html
new file mode 100644
index 0000000..252dadb
--- /dev/null
+++ b/test/fixtures/stmd_pending/Links/Entities.html
@@ -0,0 +1,2 @@
+http://göögle.com
+hi
diff --git a/test/fixtures/stmd_pending/Links/Entities.markdown b/test/fixtures/stmd_pending/Links/Entities.markdown
new file mode 100644
index 0000000..d81ee36
--- /dev/null
+++ b/test/fixtures/stmd_pending/Links/Entities.markdown
@@ -0,0 +1,3 @@
+
+
+[hi](/url "göögle & yahoo")
diff --git a/test/fixtures/stmd_pending/Links/InlineLinks.html b/test/fixtures/stmd_pending/Links/InlineLinks.html
new file mode 100644
index 0000000..ae33f33
--- /dev/null
+++ b/test/fixtures/stmd_pending/Links/InlineLinks.html
@@ -0,0 +1,10 @@
+
+- link
+- link
+- link
+- link with
+linebreak.
+- link
+- [not a link] (/url)
+
diff --git a/test/fixtures/stmd_pending/Links/InlineLinks.markdown b/test/fixtures/stmd_pending/Links/InlineLinks.markdown
new file mode 100644
index 0000000..a822c4d
--- /dev/null
+++ b/test/fixtures/stmd_pending/Links/InlineLinks.markdown
@@ -0,0 +1,9 @@
+1. [link](/url)
+2. [link](/url "title")
+3. [link](/url
+ "title")
+4. [link *with
+linebreak*]( "title
+with linebreak").
+5. [link](/url(withparens) 'and single quoted title')
+6. [not a link] (/url)
diff --git a/test/fixtures/stmd_pending/Links/ParensInURLs.html b/test/fixtures/stmd_pending/Links/ParensInURLs.html
new file mode 100644
index 0000000..9cd6de7
--- /dev/null
+++ b/test/fixtures/stmd_pending/Links/ParensInURLs.html
@@ -0,0 +1,6 @@
+Inline link 1 with parens.
+Inline link 2 with parens.
+Inline link 3 with non-escaped parens.
+Inline link 4 with non-escaped parens.
+Reference link 1 with parens.
+Reference link 2 with parens.
diff --git a/test/fixtures/stmd_pending/Links/ParensInURLs.markdown b/test/fixtures/stmd_pending/Links/ParensInURLs.markdown
new file mode 100644
index 0000000..bb7be4f
--- /dev/null
+++ b/test/fixtures/stmd_pending/Links/ParensInURLs.markdown
@@ -0,0 +1,14 @@
+[Inline link 1 with parens](/url\(test\) "title").
+
+[Inline link 2 with parens]( "title").
+
+[Inline link 3 with non-escaped parens](/url(test) "title").
+
+[Inline link 4 with non-escaped parens]( "title").
+
+[Reference link 1 with parens][1].
+
+[Reference link 2 with parens][2].
+
+ [1]: /url(test) "title"
+ [2]: "title"
diff --git a/test/fixtures/stmd_pending/Links/ReferenceLinks.html b/test/fixtures/stmd_pending/Links/ReferenceLinks.html
new file mode 100644
index 0000000..397cdb2
--- /dev/null
+++ b/test/fixtures/stmd_pending/Links/ReferenceLinks.html
@@ -0,0 +1,7 @@
+
+Link references can be defined anywhere.
+
+
+another one
+
diff --git a/test/fixtures/stmd_pending/Links/ReferenceLinks.markdown b/test/fixtures/stmd_pending/Links/ReferenceLinks.markdown
new file mode 100644
index 0000000..ebcf5a9
--- /dev/null
+++ b/test/fixtures/stmd_pending/Links/ReferenceLinks.markdown
@@ -0,0 +1,10 @@
+1. [Link references] can be defined anywhere.
+
+ [Link references]: /url
+ (even in a list item)
+
+> [another] one
+>
+> [another]:
+> /foo "can break
+> lines"
diff --git a/test/fixtures/stmd_pending/Lists/CodeBlocksInLists.html b/test/fixtures/stmd_pending/Lists/CodeBlocksInLists.html
new file mode 100644
index 0000000..fcd3e2a
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/CodeBlocksInLists.html
@@ -0,0 +1,14 @@
+
+list item
+code
+list item
+code
+
+code
+
+code
+
+code
+code
+
+
diff --git a/test/fixtures/stmd_pending/Lists/CodeBlocksInLists.markdown b/test/fixtures/stmd_pending/Lists/CodeBlocksInLists.markdown
new file mode 100644
index 0000000..7730808
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/CodeBlocksInLists.markdown
@@ -0,0 +1,18 @@
+1. list item
+ code
+
+2. list item
+ ~~~
+ code
+ ~~~
+
+3. ~~~
+ code
+ ~~~
+
+4. ~~~
+ code
+ ~~~
+
+5. code
+ code
diff --git a/test/fixtures/stmd_pending/Lists/ConsecutiveLists.html b/test/fixtures/stmd_pending/Lists/ConsecutiveLists.html
new file mode 100644
index 0000000..f8f9098
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/ConsecutiveLists.html
@@ -0,0 +1,20 @@
+
+
+
+
+- four
+- four
+
+
+- five
+- five
+
diff --git a/test/fixtures/stmd_pending/Lists/ConsecutiveLists.markdown b/test/fixtures/stmd_pending/Lists/ConsecutiveLists.markdown
new file mode 100644
index 0000000..c4faa54
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/ConsecutiveLists.markdown
@@ -0,0 +1,10 @@
+* one
+* one
++ two
++ two
+- three
+- three
+1. four
+1. four
+1) five
+1) five
diff --git a/test/fixtures/stmd_pending/Lists/EmptyListItem.html b/test/fixtures/stmd_pending/Lists/EmptyListItem.html
new file mode 100644
index 0000000..2c23fe1
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/EmptyListItem.html
@@ -0,0 +1,10 @@
+
+
+- one
+
+- three
+
diff --git a/test/fixtures/stmd_pending/Lists/EmptyListItem.markdown b/test/fixtures/stmd_pending/Lists/EmptyListItem.markdown
new file mode 100644
index 0000000..d30cbc3
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/EmptyListItem.markdown
@@ -0,0 +1,7 @@
+- one
+-
+- three
+
+1. one
+2.
+3. three
diff --git a/test/fixtures/stmd_pending/Lists/InBlockquote.html b/test/fixtures/stmd_pending/Lists/InBlockquote.html
new file mode 100644
index 0000000..da233e8
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/InBlockquote.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/fixtures/stmd_pending/Lists/InBlockquote.markdown b/test/fixtures/stmd_pending/Lists/InBlockquote.markdown
new file mode 100644
index 0000000..511563b
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/InBlockquote.markdown
@@ -0,0 +1,12 @@
+> - tight
+> - tight
+
+
+> - loose
+>
+> - loose
+
+
+> - one-item list
+
+> - one-item list
diff --git a/test/fixtures/stmd_pending/Lists/Indents.html b/test/fixtures/stmd_pending/Lists/Indents.html
new file mode 100644
index 0000000..a11a5a6
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/Indents.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+
diff --git a/test/fixtures/stmd_pending/Lists/Indents.markdown b/test/fixtures/stmd_pending/Lists/Indents.markdown
new file mode 100644
index 0000000..293d112
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/Indents.markdown
@@ -0,0 +1,17 @@
+ > * foo
+>
+> bar
+
+
+ - one
+ - two
+
+
+- one
+ - two
+- three
+
+
+- one
+ - two
+- three
diff --git a/test/fixtures/stmd_pending/Lists/ListsAndHRs.html b/test/fixtures/stmd_pending/Lists/ListsAndHRs.html
new file mode 100644
index 0000000..40826f7
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/ListsAndHRs.html
@@ -0,0 +1,7 @@
+
+
diff --git a/test/fixtures/stmd_pending/Lists/ListsAndHRs.markdown b/test/fixtures/stmd_pending/Lists/ListsAndHRs.markdown
new file mode 100644
index 0000000..19c07e7
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/ListsAndHRs.markdown
@@ -0,0 +1,3 @@
+* item 1
+ * item 2
+* * * * *
diff --git a/test/fixtures/stmd_pending/Lists/ListsAndSetextHeaders.html b/test/fixtures/stmd_pending/Lists/ListsAndSetextHeaders.html
new file mode 100644
index 0000000..c6af9eb
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/ListsAndSetextHeaders.html
@@ -0,0 +1,6 @@
+
+- item
+- item
+Not header
+
+
diff --git a/test/fixtures/stmd_pending/Lists/ListsAndSetextHeaders.markdown b/test/fixtures/stmd_pending/Lists/ListsAndSetextHeaders.markdown
new file mode 100644
index 0000000..acfa655
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/ListsAndSetextHeaders.markdown
@@ -0,0 +1,4 @@
+1. item
+2. item
+Not header
+----------
diff --git a/test/fixtures/stmd_pending/Lists/MultipleBlankLines.html b/test/fixtures/stmd_pending/Lists/MultipleBlankLines.html
new file mode 100644
index 0000000..d894db1
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/MultipleBlankLines.html
@@ -0,0 +1,56 @@
+
+First Item
+
+Second Item
+
+
+
+
+Third Item
+
+
+
+
+Fourth Item
+
+
+
diff --git a/test/fixtures/stmd_pending/Lists/MultipleBlankLines.markdown b/test/fixtures/stmd_pending/Lists/MultipleBlankLines.markdown
new file mode 100644
index 0000000..e24a4f2
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/MultipleBlankLines.markdown
@@ -0,0 +1,37 @@
+1. First Item
+
+ * one
+ * two
+
+ * one
+ * two
+
+1. Second Item
+
+ * one
+ * two
+
+
+ * one
+ * two
+
+1. Third Item
+
+ * one
+ * two
+
+
+
+ * one
+ * two
+
+1. Fourth Item
+
+ * one
+ * two
+
+
+
+
+ * one
+ * two
diff --git a/test/fixtures/stmd_pending/Lists/Start.html b/test/fixtures/stmd_pending/Lists/Start.html
new file mode 100644
index 0000000..46e0550
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/Start.html
@@ -0,0 +1,11 @@
+
+- this list starts with 4.
+- and continues
+- the continuation number is irrelevant.
+
+
+- a space odyssey
+
+
+- standard lists get no start attribute
+
diff --git a/test/fixtures/stmd_pending/Lists/Start.markdown b/test/fixtures/stmd_pending/Lists/Start.markdown
new file mode 100644
index 0000000..175226f
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/Start.markdown
@@ -0,0 +1,7 @@
+4. this list starts with 4.
+5. and continues
+1. the continuation number is irrelevant.
+
+2001) a space odyssey
+
+1. standard lists get no start attribute
diff --git a/test/fixtures/stmd_pending/Lists/Sublists.html b/test/fixtures/stmd_pending/Lists/Sublists.html
new file mode 100644
index 0000000..af62915
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/Sublists.html
@@ -0,0 +1,49 @@
+Four levels:
+
+
+- one
+
+- two
+
+- three
+
+- four
+
+
+
+
+
+- one
+
+
+
+- one
+
+- two
+
+- three
+
+- four
+
+
+
+
diff --git a/test/fixtures/stmd_pending/Lists/Sublists.markdown b/test/fixtures/stmd_pending/Lists/Sublists.markdown
new file mode 100644
index 0000000..9eced9e
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/Sublists.markdown
@@ -0,0 +1,24 @@
+Four levels:
+
+- one
+ - two
+ - three
+ - four
+
+
+1. one
+ 1. two
+ 1. three
+ 1. four
+
+
+1) one
+ - two
+ 1) three
+ - four
+
+
+- one
+ - two
+ 1. three
+ 1) four
diff --git a/test/fixtures/stmd_pending/Lists/TightAndLoose.html b/test/fixtures/stmd_pending/Lists/TightAndLoose.html
new file mode 100644
index 0000000..7792ebb
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/TightAndLoose.html
@@ -0,0 +1,49 @@
+
+- tight
+
+
+
+
+- tight
+- list
+
+
+loose
+list
+
+
+loose
+
+
+
+- tight
+
+
+
+- tight
+
+blockquote
+and
+
+code
+
+- tight
+
+
diff --git a/test/fixtures/stmd_pending/Lists/TightAndLoose.markdown b/test/fixtures/stmd_pending/Lists/TightAndLoose.markdown
new file mode 100644
index 0000000..263a34c
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/TightAndLoose.markdown
@@ -0,0 +1,45 @@
+1. tight
+
+
+- tight
+- list
+
+
+- loose
+
+- list
+
+
+1. tight
+2. list
+
+
+1. loose
+
+2. list
+
+
+1. loose
+
+ - sublist
+
+
+
+1. tight
+ - sublist
+
+
+- tight
+ > blockquote
+ and
+ ```
+ code
+ ```
+- tight
+
+
+- tight
+ - with loose
+
+ - sublist
+- tight
diff --git a/test/fixtures/stmd_pending/Lists/TightLooseBlockquote.html b/test/fixtures/stmd_pending/Lists/TightLooseBlockquote.html
new file mode 100644
index 0000000..7e78214
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/TightLooseBlockquote.html
@@ -0,0 +1,32 @@
+
+- tight I
+
+bq
+
+- tight I
+
+
+- tight II
+
+bq
+
+foo
+- tight II
+
+
+- Blank lines in bq don't break list
+
+bq
+
+- Should say (2) in output
+
+
+- Blank lines in bq don't break LI
+
+- item A
+
+bq
+
+- item B
+
+
diff --git a/test/fixtures/stmd_pending/Lists/TightLooseBlockquote.markdown b/test/fixtures/stmd_pending/Lists/TightLooseBlockquote.markdown
new file mode 100644
index 0000000..08200cc
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/TightLooseBlockquote.markdown
@@ -0,0 +1,25 @@
+* tight I
+ > bq
+ >
+* tight I
+
+
+* tight II
+ > bq
+ >
+ foo
+* tight II
+
+1. Blank lines in bq don't break list
+ > bq
+ >
+ >
+1. Should say (2) in output
+
+* Blank lines in bq don't break LI
+ * item A
+ > bq
+ >
+ >
+ * item B
+
\ No newline at end of file
diff --git a/test/fixtures/stmd_pending/Lists/TightLooseMore.html b/test/fixtures/stmd_pending/Lists/TightLooseMore.html
new file mode 100644
index 0000000..f26f457
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/TightLooseMore.html
@@ -0,0 +1,7 @@
+
diff --git a/test/fixtures/stmd_pending/Lists/TightLooseMore.markdown b/test/fixtures/stmd_pending/Lists/TightLooseMore.markdown
new file mode 100644
index 0000000..7ace63f
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/TightLooseMore.markdown
@@ -0,0 +1,4 @@
+* foo
+ * bar
+
+ blah
\ No newline at end of file
diff --git a/test/fixtures/stmd_pending/Lists/TwoBlankLinesEndList.html b/test/fixtures/stmd_pending/Lists/TwoBlankLinesEndList.html
new file mode 100644
index 0000000..629add1
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/TwoBlankLinesEndList.html
@@ -0,0 +1,21 @@
+
+one
+two
+
+
+- new list
+
+
+
+
+
+
+- one
+
+code
+
diff --git a/test/fixtures/stmd_pending/Lists/TwoBlankLinesEndList.markdown b/test/fixtures/stmd_pending/Lists/TwoBlankLinesEndList.markdown
new file mode 100644
index 0000000..2984a19
--- /dev/null
+++ b/test/fixtures/stmd_pending/Lists/TwoBlankLinesEndList.markdown
@@ -0,0 +1,20 @@
+1. one
+
+2. two
+
+
+1. new list
+
+
+> - one
+>
+> - two
+>
+>
+> - new list
+
+
+1. one
+
+
+ code
diff --git a/test/fixtures/stmd_pending/Misc/BackslashEscapes.html b/test/fixtures/stmd_pending/Misc/BackslashEscapes.html
new file mode 100644
index 0000000..3eb2aed
--- /dev/null
+++ b/test/fixtures/stmd_pending/Misc/BackslashEscapes.html
@@ -0,0 +1,14 @@
+*not emphasized*
+\emphasis
+**not bold**
+<br/> not a tag
+[link](/foo) not a link
+link
+`not code`
+1. not a list item
+* not a list.
+# Not a header
+[foo]: /url "not a reference"
+$ ^ ; can be escaped.
+\a \b \T cannot.
+unicode letters and symbols cannot: \π \‥.
diff --git a/test/fixtures/stmd_pending/Misc/BackslashEscapes.markdown b/test/fixtures/stmd_pending/Misc/BackslashEscapes.markdown
new file mode 100644
index 0000000..23496dc
--- /dev/null
+++ b/test/fixtures/stmd_pending/Misc/BackslashEscapes.markdown
@@ -0,0 +1,19 @@
+\*not emphasized*
+\\*emphasis*
+\*\*not bold**
+\
not a tag
+\[link](/foo) not a link
+[link](/foo\) "title\"")
+\`not code`
+
+1\. not a list item
+
+\* not a list.
+
+\# Not a header
+
+\[foo]: /url "not a reference"
+
+\$ \^ \; can be escaped.
+\a \b \T cannot.
+unicode letters and symbols cannot: \π \‥.
diff --git a/test/fixtures/stmd_pending/Misc/Laziness.html b/test/fixtures/stmd_pending/Misc/Laziness.html
new file mode 100644
index 0000000..e130eb5
--- /dev/null
+++ b/test/fixtures/stmd_pending/Misc/Laziness.html
@@ -0,0 +1,22 @@
+
+
+- one
+two
+
+
+Laziness only affects paragraph continuations:
+
+code
+
+
+not same code block
+
+
+- hello
+
+
+
+
+
+code
+
diff --git a/test/fixtures/stmd_pending/Misc/Laziness.markdown b/test/fixtures/stmd_pending/Misc/Laziness.markdown
new file mode 100644
index 0000000..2c32870
--- /dev/null
+++ b/test/fixtures/stmd_pending/Misc/Laziness.markdown
@@ -0,0 +1,14 @@
+> 1. one
+> two
+
+Laziness only affects paragraph continuations:
+
+> code
+ not same code block
+
+1. hello
+-----
+
+> ```
+code
+```
diff --git a/test/fixtures/stmd_pending/Misc/LineBreaks.html b/test/fixtures/stmd_pending/Misc/LineBreaks.html
new file mode 100644
index 0000000..2d85e85
--- /dev/null
+++ b/test/fixtures/stmd_pending/Misc/LineBreaks.html
@@ -0,0 +1,11 @@
+Two spaces
+break a line. Or more than two
+and spaces in the following line are absorbed.
+You can also break lines with
+a backslash.
+Two spaces at the end of a paragraph are
+not a line break.
+A backslash at the end of a paragraph is
+not a line break.\
+Similarly with setext headers
+And with backslashes\
diff --git a/test/fixtures/stmd_pending/Misc/LineBreaks.markdown b/test/fixtures/stmd_pending/Misc/LineBreaks.markdown
new file mode 100644
index 0000000..3632dcb
--- /dev/null
+++ b/test/fixtures/stmd_pending/Misc/LineBreaks.markdown
@@ -0,0 +1,18 @@
+Two spaces
+break a line. Or more than two
+ and spaces in the following line are absorbed.
+
+You can also break lines with\
+a backslash.
+
+Two spaces at the end of a paragraph are
+not a line break.
+
+A backslash at the end of a paragraph is
+not a line break.\
+
+Similarly with setext headers
+-------------------------------
+
+And with backslashes\
+---------------------
diff --git a/test/fixtures/stmd_pending/Misc/Transitions.html b/test/fixtures/stmd_pending/Misc/Transitions.html
new file mode 100644
index 0000000..fceff9f
--- /dev/null
+++ b/test/fixtures/stmd_pending/Misc/Transitions.html
@@ -0,0 +1,26 @@
+
+blockquote
+
+blockquote
+
+
+
+- list
+- list
+
+
+
+paragraph
+header
+header
+code
+
+code
+
+
diff --git a/test/fixtures/stmd_pending/Misc/Transitions.markdown b/test/fixtures/stmd_pending/Misc/Transitions.markdown
new file mode 100644
index 0000000..5f3a9d3
--- /dev/null
+++ b/test/fixtures/stmd_pending/Misc/Transitions.markdown
@@ -0,0 +1,20 @@
+> blockquote
+> > blockquote
+1. list
+2. list
+ - sublist
+* * * * *
+paragraph
+
+header
+------
+### header
+ code
+```
+code
+```
+
diff --git a/test/fixtures/stmd_pending/Tabs/TabConversionUnicode.html b/test/fixtures/stmd_pending/Tabs/TabConversionUnicode.html
new file mode 100644
index 0000000..f596f6a
--- /dev/null
+++ b/test/fixtures/stmd_pending/Tabs/TabConversionUnicode.html
@@ -0,0 +1 @@
+То лпой
is a Russian word with a tab inside.
diff --git a/test/fixtures/stmd_pending/Tabs/TabConversionUnicode.markdown b/test/fixtures/stmd_pending/Tabs/TabConversionUnicode.markdown
new file mode 100644
index 0000000..0bd7b52
--- /dev/null
+++ b/test/fixtures/stmd_pending/Tabs/TabConversionUnicode.markdown
@@ -0,0 +1 @@
+`То лпой` is a Russian word with a tab inside.
diff --git a/test/stdm.js b/test/stdm.js
new file mode 100644
index 0000000..1ee6833
--- /dev/null
+++ b/test/stdm.js
@@ -0,0 +1,30 @@
+/*global describe*/
+'use strict';
+
+
+var path = require('path');
+
+
+var utils = require('./utils');
+var Remarked = require('../');
+
+
+describe('stmd', function () {
+ var md = new Remarked();
+
+ utils.addTests(path.join(__dirname, 'fixtures/stmd_ok'), md);
+});
+
+
+describe('stmd pending', function () {
+ var md = new Remarked();
+
+ utils.addTests(path.join(__dirname, 'fixtures/stmd_pending'), md, true);
+});
+
+
+describe('stmd original with error', function () {
+ var md = new Remarked();
+
+ utils.addTests(path.join(__dirname, 'fixtures/stmd_conflicting'), md, true);
+});
\ No newline at end of file
diff --git a/test/utils.js b/test/utils.js
index cb5356e..2c55d0a 100644
--- a/test/utils.js
+++ b/test/utils.js
@@ -7,8 +7,9 @@ var path = require('path');
var assert = require('assert');
-function addTests(dir, md) {
+function addTests(dir, md, skip) {
var files = fs.readdirSync(dir);
+ var fixtures = {};
files.forEach(function (name) {
var filePath = path.join(dir, name);
@@ -16,20 +17,34 @@ function addTests(dir, md) {
if (stat.isDirectory()) {
describe(name, function () {
- addTests(filePath, md);
+ addTests(filePath, md, skip);
});
return;
}
- if (stat.isFile) {
- if (path.extname(filePath) !== '.md') { return; }
-
- var mustBe = fs.readFileSync(path.join(dir, path.basename(name, '.md') + '.html'), 'utf8');
- var src = fs.readFileSync(filePath, 'utf8');
+ if (stat.isFile()) {
+ fixtures[name] = fs.readFileSync(path.join(dir, name), 'utf8');
+ }
+ });
- it(name, function () {
- assert.strictEqual(mustBe, md.render(src));
- });
+ Object.keys(fixtures).forEach(function (name) {
+ var src, right,
+ ext = path.extname(name),
+ base = path.basename(name, ext);
+
+ if (['.md', '.markdown'].indexOf(ext) !== -1) {
+ right = fixtures[base + '.html'];
+ src = fixtures[name];
+
+ if (!skip) {
+ it(base, function () {
+ assert.strictEqual(right, md.render(src));
+ });
+ } else {
+ it.skip(base, function () {
+ assert.strictEqual(right, md.render(src));
+ });
+ }
}
});
}