turndown test runner

Lorem ipsum

    Lorem ipsum

Lorem

ipsum

sit

    Lorem

    ipsum

    sit

em element

    _em element_

i element

    _i element_

strong element

    **strong element**

b element

    **b element**

`code element`

    `code element`

`There is a literal backtick (`) here`

    ``There is a literal backtick (`) here``

`here are three ``` here are four ```` that's it`

    `here are three ``` here are four ```` that's it`

`here are three ``` here are four ```` here is one ` that's it`

    ``here are three ``` here are four ```` here is one ` that's it``

``starting with a backtick`

    `` `starting with a backtick ``

`_emphasis_`

    `_emphasis_`

`_emphasis_`

    `_emphasis_`

# Level One Heading

    Level One Heading
    =================

===

    \===

A sentence containing =

    A sentence containing =

# Level One Heading with ATX

    # Level One Heading with ATX

## Level Two Heading

    Level Two Heading
    -----------------

## Level Two Heading with ATX

    ## Level Two Heading with ATX

### Level Three Heading

    ### Level Three Heading

#### Level Four Heading with `child`

    #### Level Four Heading with `child`

Level Seven Heading?

    Level Seven Heading?

    * * *

    * * *

    - - -

More
after the break

    More
    after the break

More
after the break

    More\
    after the break

    ![](http://example.com/logo.png)

    ![](logo.png)

    ![img with alt](logo.png)

    ![img with
    alt](logo.png)

    ![img with
    alt](logo.png)

    ![](logo.png "the
    title")

An anchor

    [An anchor](http://example.com)

An anchor

    [An anchor](http://example.com "Title for link")

An anchor

    [An anchor](http://example.com "Title for
    link")

An anchor

    [An anchor](http://example.com "\"hello\"")

An anchor

    [An anchor](http://example.com?\(query\))

Anchor without a title

    Anchor without a title

Some `code`

    [Some `code`](http://example.com/code)

Reference link

    [Reference link][1]

    [1]: http://example.com

Reference link with collapsed style

    [Reference link with collapsed style][]

    [Reference link with collapsed style]: http://example.com

Reference link with shortcut style

    [Reference link with shortcut style]

    [Reference link with shortcut style]: http://example.com

    def code_block
      # 42 < 9001
      "Hello world!"
    end

        def code_block
          # 42 < 9001
          "Hello world!"
        end

    def first_code_block
      # 42 < 9001
      "Hello world!"
    end

next:

    def second_code_block
      # 42 < 9001
      "Hello world!"
    end

        def first_code_block
          # 42 < 9001
          "Hello world!"
        end

    next:

        def second_code_block
          # 42 < 9001
          "Hello world!"
        end

    Multiple new lines

    should not be

    removed

        Multiple new lines

        should not be

        removed

    First line
    Second line
    Third line

        First line
        Second line
        Third line

    First line
    Second line
    Third line

    ```
    First line
    Second line
    Third line
    ```

    def a_fenced_code block; end

    ```
    def a_fenced_code block; end
    ```

    def a_fenced_code block; end

    ~~~
    def a_fenced_code block; end
    ~~~

    ~~~ foo

    \~~~ foo

A sentence containing ~~~

    A sentence containing ~~~

    def a_fenced_code block; end

    ```ruby
    def a_fenced_code block; end
    ```

1. Ordered list item 1
2. Ordered list item 2
3. Ordered list item 3

    1.  Ordered list item 1
    2.  Ordered list item 2
    3.  Ordered list item 3

42. Ordered list item 42
43. Ordered list item 43
44. Ordered list item 44

    42.  Ordered list item 42
    43.  Ordered list item 43
    44.  Ordered list item 44

42. Ordered list item 42

    Ordered list's additional content

    42.  Ordered list item 42

         Ordered list's additional content

A paragraph.

1. Ordered list item 1
2. Ordered list item 2
3. Ordered list item 3

Another paragraph.

- Unordered list item 1
- Unordered list item 2
- Unordered list item 3

    A paragraph.

    1.  Ordered list item 1
    2.  Ordered list item 2
    3.  Ordered list item 3

    Another paragraph.

    *   Unordered list item 1
    *   Unordered list item 2
    *   Unordered list item 3

- Unordered list item 1
- Unordered list item 2
- Unordered list item 3

    *   Unordered list item 1
    *   Unordered list item 2
    *   Unordered list item 3

- Unordered list item 1
- Unordered list item 2
- Unordered list item 3

    -   Unordered list item 1
    -   Unordered list item 2
    -   Unordered list item 3

- List item with paragraph

- List item without paragraph

    *   List item with paragraph

    *   List item without paragraph

1. This is a paragraph in a list item.

   This is a paragraph in the same list item as above.

2. A paragraph in a second list item.

    1.  This is a paragraph in a list item.

        This is a paragraph in the same list item as above.

    2.  A paragraph in a second list item.

- This is a list item at root level
- This is another item at root level
- - This is a nested list item
  - This is another nested list item
  - - This is a deeply nested list item
    - This is another deeply nested list item
    - This is a third deeply nested list item
- This is a third item at root level

    *   This is a list item at root level
    *   This is another item at root level
    *   *   This is a nested list item
        *   This is another nested list item
        *   *   This is a deeply nested list item
            *   This is another deeply nested list item
            *   This is a third deeply nested list item
    *   This is a third item at root level

- This is a list item at root level
- This is another item at root level
- 1. This is a nested list item
  2. This is another nested list item
  3. - This is a deeply nested list item
     - This is another deeply nested list item
     - This is a third deeply nested list item
- This is a third item at root level

    *   This is a list item at root level
    *   This is another item at root level
    *   1.  This is a nested list item
        2.  This is another nested list item
        3.  *   This is a deeply nested list item
            *   This is another deeply nested list item
            *   This is a third deeply nested list item
    *   This is a third item at root level

- A list item with a blockquote:

  > This is a blockquote inside a list item.

    *   A list item with a blockquote:

        > This is a blockquote inside a list item.

> This is a paragraph within a blockquote.

> This is another paragraph within a blockquote.

    > This is a paragraph within a blockquote.
    >
    > This is another paragraph within a blockquote.

> This is the first level of quoting.

> > This is a paragraph in a nested blockquote.

> Back to the first level.

    > This is the first level of quoting.
    >
    > > This is a paragraph in a nested blockquote.
    >
    > Back to the first level.

> ## This is a header.

> 1. This is the first list item.
> 2. This is the second list item.

> A code block:

>     return 1 < 2 ? shell_exec('echo $input | $markdown_script') : 0;

    > This is a header.
    > -----------------
    >
    > 1.  This is the first list item.
    > 2.  This is the second list item.
    >
    > A code block:
    >
    >     return 1 < 2 ? shell_exec('echo $input | $markdown_script') : 0;

A div
Another div

    A div

    Another div

A div
Another div

    A div

    Another div

    Hello world

        Hello world

### h3 with leading whitespace

    ### h3 with leading whitespace

1. Chapter One
   1. Section One
   2. Section Two with trailing whitespace
   3. Section Three with trailing whitespace
2. Chapter Two
3. Chapter Three with trailing whitespace

    1.  Chapter One
        1.  Section One
        2.  Section Two with trailing whitespace
        3.  Section Three with trailing whitespace
    2.  Chapter Two
    3.  Chapter Three with trailing whitespace

- Indented li with leading/trailing newlines
- Strong with trailing space inside li with leading/trailing whitespace
- li without whitespace
- Leading space, text, lots of whitespace … text

    *   Indented li with leading/trailing newlines
    *   **Strong with trailing space inside li with leading/trailing whitespace**
    *   li without whitespace
    *   Leading space, text, lots of whitespace … text

I need more spaces!

    I [need](http://example.com/need) [more](http://www.example.com/more) spaces!

Text with no space after the period. Text in em with leading/trailing spaces text in strong with trailing space

    Text with no space after the period. _Text in em with leading/trailing spaces_ **text in strong with trailing space**

Text at root link text with trailing space in strong more text at root

    Text at root **[link text with trailing space in strong](http://www.example.com)** more text at root

Text before blank em … text after blank em

    Text before blank em … text after blank em

Text before blank div …
text after blank div

    Text before blank div …

    text after blank div

Content in a nested div
Content in another div

    Content in a nested div

    Content in another div

backslash \

    backslash \\

### This is not a heading

    \### This is not a heading

#This is not # a heading

    #This is not # a heading

To add emphasis, surround text with *. For example: *this is emphasis*

    To add emphasis, surround text with \*. For example: \*this is emphasis\*

To add emphasis, surround text with _. For example: _this is emphasis_

    To add emphasis, surround text with \_. For example: \_this is emphasis\_

    def this_is_a_method; end;

        def this_is_a_method; end;

To add strong emphasis, surround text with **. For example: **this is strong**

    To add strong emphasis, surround text with \*\*. For example: \*\*this is strong\*\*

To add strong emphasis, surround text with __. For example: __this is strong__

    To add strong emphasis, surround text with \_\_. For example: \_\_this is strong\_\_

* * *

    \* \* \*

- - -

    \- - -

_ _ _

    \_ \_ \_

***

    \*\*\*

* * * * *

    \* \* \* \* \*

1984. by George Orwell

    1984\. by George Orwell

1984.George Orwell wrote 1984.

    1984.George Orwell wrote 1984.

* An unordered list item

    \* An unordered list item

- An unordered list item

    \- An unordered list item

+ An unordered list item

    \+ An unordered list item

Hello-world, 45 - 3 is 42

    Hello-world, 45 - 3 is 42

+1 and another +

    +1 and another +

You can use * for multiplication

    You can use \* for multiplication

**test

    **\*\*test**

test_italics

    _test\_italics_

> Blockquote in markdown

    \> Blockquote in markdown

>Blockquote in markdown

    \>Blockquote in markdown

42 > 1

    42 > 1

`not code`

    \`not code\`

[This] is a sentence with brackets

    \[This\] is a sentence with brackets

c[iao

    [c\[iao](http://www.example.com)

fasdf *883 asdf wer qweasd fsd asdf asdfaqwe rqwefrsdf

    fasdf \*883 asdf wer qweasd fsd asdf asdfaqwe rqwefrsdf

* * ** It aims to be*

    \* \* \*\* It aims to be\*

_Really_? Is that what it _is_? A **2000** year-old computer?

    \_Really\_? Is that what it \_is\_? A \*\*2000\*\* year-old computer?

Foo
Bar
Baz

    Foo

    Bar

    Baz

Foo Bar

    Foo Bar

Hello world

    Hello world

    ![](http://example.com/logo.png)

    ![](http://example.com/logo.png)

Foo Bar

    Foo Bar

Foo Bar

    Foo Bar

    ~~~
    Code
    ~~~

    ~~~~
    ~~~
    Code
    ~~~
    ~~~~

    ```
    Code
    ```

    ````
    ```
    Code
    ```
    ````

    ````
    Code
    ````

    `````
    ````
    Code
    ````
    `````

    Code

    ```

    Code

    ```

Foo Bar

    Foo   Bar

1. First
2. Second

     1. First
     2. Second

foo bar

    _foo_ bar

foo bar

    _foo_  bar

foo bar

    _foo_  bar

foo bar

    _foo_  bar

foo bar

    foo _bar_

foo bar

    foo  _bar_

foo bar

    foo  _bar_

foo bar

    foo  _bar_

Four spaces `make an indented code block in Markdown`

    Four spaces `    make an indented code block in Markdown`

`A line break` note the spaces

    `A line break  ` **note the spaces**

tight`code`wrap

    **tight**`code`**wrap**

not so tight `code` wrap

    **not so tight** `code` **wrap**

`nasty code`

    `    nasty code   `