The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# TODO Add other markup tests.

=== Phrase function: simple
--- kwim
<bold content>
--- html
<p><strong>content</strong></p>

=== Phrase function: simple with single attribute
--- kwim
<bold important:content>
--- html
<p><strong class="important">content</strong></p>

=== Phrase function: simple with multiple attributes
--- kwim
<bold quite important:content>
--- html
<p><strong class="quite important">content</strong></p>

=== Phrase function: key-value attribute
--- kwim
<bold id=item32:content>
--- html
<p><strong id="item32">content</strong></p>

=== Phrase function: key-quoted-value attribute
--- kwim
<bold id="item32":content>
--- html
<p><strong id="item32">content</strong></p>

=== Phrase function: key-value attribute; escaped colon
--- kwim
<bold id=item3\:2:content>
--- html
<p><strong id="item3:2">content</strong></p>

=== Phrase function: key-quoted-value attribute; with space
--- kwim
<bold title="A foo bar":content>
--- html
<p><strong title="A foo bar">content</strong></p>

=== Phrase function: attribute plus leading space
--- kwim
<bold quite important: content>
--- html
<p><strong class="quite important"> content</strong></p>

=== Phrase function: attribute plus trailing space
--- kwim
<bold quite important:content >
--- html
<p><strong class="quite important">content </strong></p>

=== Phrase function: leading colon
--- kwim
<bold ::leading>
--- html
<p><strong>:leading</strong></p>

=== Phrase function: lots of colons in content
--- kwim
<bold ::colons:everywhere:>
--- html
<p><strong>:colons:everywhere:</strong></p>

=== Phrase function: lots of colons in content; no leading space
--- kwim
<bold::colons:everywhere:>
--- html
<p><strong>:colons:everywhere:</strong></p>

=== Phrase function: attributes and colons in content
--- kwim
<bold important::colons:everywhere:>
--- html
<p><strong class="important">:colons:everywhere:</strong></p>

=== Phrase function: no content
--- kwim
<bold>
--- html
<p><strong/></p>

=== Phrase function: no content: one space
--- kwim
<bold >
--- html
<p><strong/></p>

=== Phrase function: no content: two spaces
--- SKIP
--- kwim
<bold  >
--- html
<p><strong> </strong></p>

=== Phrase function: attributes but no content
--- kwim
<bold important:>
--- html
<p><strong class="important"/></p>

=== Phrase function: attribute but no content, no trailing colon
--- kwim
<bold important:>
--- html
<p><strong class="important"/></p>

=== Phrase function: attributes but no content, no trailing colon, spaces in attributes
--- SKIP
--- kwim
<bold quite important:>
<bold: quite important >
--- html
<p><strong class="quite important"/></p>

=== Phrase function: span (no name)
--- SKIP
--- kwim
<:important:content>
--- html
<p><span class="important">content</span></p>

=== Phrase function: empty span
--- SKIP
--- kwim
<:>
--- html
<p><span/></p>

=== Phrase function: empty span with attribute
--- SKIP
--- kwim
<:important:>
--- html
<p><span class="important"/></p>

=== Phrase function: span with no attribute
--- SKIP
--- kwim
<:content>
--- html
<p><span>content</span></p>

=== Phrase function: nested
--- SKIP
--- kwim
<bold <emph bold italic>>
--- html
<p><strong><em>bold italic</em></strong></p>

=== Phrase function: nested with class
--- SKIP
--- kwim
<bold <emph variable: bold italic>>
--- html
<p><strong><em class="variable">bold italic</em></strong></p>

=== Phrase function: nested with angles in attributes
--- SKIP
--- kwim
<bold data-info="<oops>":<emph bold italic>>
--- html
<p><strong data-info="&lt;oops&gt;"><em>bold italic</em></strong></p>