### External links
###
!! test
-External links 1-4
+External links: non-bracketed
!! input
Non-bracketed: http://example.com
+!! result
+<p>Non-bracketed: <a href="http://example.com" class='external'>http://example.com</a>
+</p>
+!! end
+!! test
+External links: numbered
+!! input
Numbered: [http://example.com]
+!! result
+<p>Numbered: <a href="http://example.com" class='external' title="http://example.com">[1]</a><span class='urlexpansion'> (<i>http://example.com</i>)</span>
+</p>
+!!end
+!! test
+External links: specified text
+!! input
Specified text: [http://example.com link]
+!! result
+<p>Specified text: <a href="http://example.com" class='external' title="http://example.com">link</a><span class='urlexpansion'> (<i>http://example.com</i>)</span>
+</p>
+!!end
+!! test
+External links: trail
+!! input
Trail (not sure if this is meant to work): [http://example.com link]s
!! result
-<p>Non-bracketed: <a href="http://example.com" class='external' title="http://example.com">http://example.com</a>
-</p><p>Numbered: <a href="http://example.com" class='external' title="http://example.com">[1]</a><span class='urlexpansion'> (<i>http://example.com</i>)</span>
-</p><p>Specified text: <a href="http://example.com" class='external' title="http://example.com">link</a><span class='urlexpansion'> (<i>http://example.com</i>)</span>
-</p><p>Trail (not sure if this is meant to work): <a href="http://example.com" class='external' title="http://example.com">link</a>s<span class='urlexpansion'> (<i>http://example.com</i>)</span>
+<p>Trail (not sure if this is meant to work): <a href="http://example.com" class='external' title="http://example.com">link</a>s<span class='urlexpansion'> (<i>http://example.com</i>)</span>
</p>
!! end
-# todo: enable these
!! test
-!! disabled
-External links
+External links: dollar sign in URL
+!! input
+http://example.com/1$2345
+!! result
+<p><a href="http://example.com/1$2345" class='external'>http://example.com/1$2345</a>
+</p>
+!! end
+
+!! test
+External links: dollar sign in URL (named)
+!! input
+[http://example.com/1$2345]
+!! result
+<p><a href="http://example.com/1$2345" class='external' title="http://example.com/1$2345">[1]</a><span class='urlexpansion'> (<i>http://example.com/1$2345</i>)</span>
+</p>
+!!end
+
+!! test
+External image
!! input
-Unrecognised characters (for no good reason): http://example.com/1$2345 [http://example.com/1$2345]
External image: http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png
+!! result
+<p>External image: <img src="http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png" alt="Ncwikicol.png" />
+</p>
+!! end
+
+!! test
+External image from https
+!! input
External image from https: https://meta.wikimedia.org/upload/f/f1/Ncwikicol.png
+!! result
+<p>External image from https: <img src="https://meta.wikimedia.org/upload/f/f1/Ncwikicol.png" alt="Ncwikicol.png" />
+</p>
+!! end
+
+!! test
+Link to non-http image, no img tag
+!! input
Link to non-http image, no img tag: ftp://example.com/test.jpg
+!! result
+<p>Link to non-http image, no img tag: <a href="ftp://example.com/test.jpg" class='external'>ftp://example.com/test.jpg</a>
+</p>
+!! end
+
+!! test
+External links: terminating separator
+!! input
Terminating separator: http://example.com/thing,
+!! result
+<p>Terminating separator: <a href="http://example.com/thing" class='external'>http://example.com/thing</a>,
+</p>
+!! end
+
+!! test
+External links: intervening separator
+!! input
Intervening separator: http://example.com/1,2,3
+!! result
+<p>Intervening separator: <a href="http://example.com/1,2,3" class='external'>http://example.com/1,2,3</a>
+</p>
+!! end
+
+!! test
+External links: old bug with URL in query
+!! input
Old bug with URL in query: [http://example.com/thing?url=http://example.com link]
+!! result
+<p>Old bug with URL in query: <a href="http://example.com/thing?url=http://example.com" class='external' title="http://example.com/thing?url=http://example.com">link</a><span class='urlexpansion'> (<i>http://example.com/thing?url=http://example.com</i>)</span>
+</p>
+!! end
+
+!! test
+External links: old URL-in-URL bug, mixed protocols
+!! input
And again with mixed protocols: [ftp://example.com?url=http://example.com link]
+!! result
+<p>And again with mixed protocols: <a href="ftp://example.com?url=http://example.com" class='external' title="ftp://example.com?url=http://example.com">link</a><span class='urlexpansion'> (<i>ftp://example.com?url=http://example.com</i>)</span>
+</p>
+!!end
+
+!! test
+External links: URL in text
+!! input
URL in text: [http://example.com http://example.com]
+!! result
+<p>URL in text: <a href="http://example.com" class='external'>http://example.com</a>
+</p>
+!! end
+
+!! test
+External links: Clickable images
+!! input
ja-style clickable images: [http://example.com http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png]
+!! result
+<p>ja-style clickable images: <a href="http://example.com" class='external' title="http://example.com"><img src="http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png" alt="Ncwikicol.png" /></a><span class='urlexpansion'> (<i>http://example.com</i>)</span>
+</p>
+!!end
+
+!! test
+External links: raw ampersand
+!! input
Old & use: http://x&y
-Escaping without &: http://x&y
!! result
-<p>Unrecognised characters (for no good reason): <a href="http://example.com/1" class='external'>http://example.com/1</a>$2345
-[http://example.com/1$2345]</p>
-<p>External image: <img src="http://example.com/test.jpg" alt="test.jpg" /></p>
-<p>External image from https: <img src="https://example.com/test.jpg" alt="test.jpg" /></p>
-<p>Link to non-http image, no img tag: <a href="ftp://example.com/test.jpg" class='external'>ftp://example.com/test.jpg</a></p>
-<p>Terminating separator: <a href="http://example.com/thing" class='external'>http://example.com/thing</a>,</p>
-<p>Intervening separator: <a href="http://example.com/1,2,3" class='external'>http://example.com/1,2,3</a></p>
-<p>Old bug with URL in query: [http://example.com/thing?url=<a href="http://example.com" class='external'>http://example.com</a>
-link]</p>
-<p>And again with mixed protocols: [ftp://example.com?url=<a href="http://example.com" class='external'>http://example.com</a>
-link]</p>
-<p>URL in text: <a href='http://example.com' class='external'></a><a href="http://example.com" class=
-'external'>http://example.com</a> <span class='urlexpansion'>(<i>http://example.com</i>)</span></p>
-<p>ja-style clickable images: <a href='http://example.com' class='external'><img src=
-"http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png" alt="Ncwikicol.png" /></a> <span class=
-'urlexpansion'>(<i>http://example.com</i>)</span></p>
-<p>Old & use: <a href="http://x&y" class='external'>http://x&y</a></p>
-<p>Escaping without &: <a href="http://x&y" class='external'>http://x&y</a></p>
+<p>Old & use: <a href="http://x&y" class='external'>http://x&y</a>
+</p>
!! end
+
###
### Quotes
###