Should parse nested quotes: . “foo ‘bar’ baz”
‘foo ‘bar’ baz’ .
Should not overlap quotes: . ‘foo "bar’ baz" .
Should match quotes on the same level: . “foo bar baz” .
Should handle adjacent nested quotes: . ‘“double in single”’
“‘single in double’” .
Should not match quotes on different levels: . "foo bar"
“foo *bar”*
"foo bar baz" .
Smartquotes should not overlap with other tags: . foo "bar baz" quux .
Should try and find matching quote in this case: . "foo “bar 'baz” .
Should not touch ‘inches’ in quotes: . “Monitor 21”" and “Monitor”" .
Should render an apostrophe as a rsquo: . This isn‘t and can’t be the best approach to implement this... .
Apostrophe could end the word, that‘s why original smartypants replaces all of them as rsquo: . users’ stuff .
Quotes between punctuation chars:
. “(hai)”. .
Quotes at the start/end of the tokens: . “foo bar”
“foo bar”
“foo bar” .
Should treat softbreak as a space: . “this” and “that”.
“this” and “that”. .
Should treat hardbreak as a space: . “this”
and “that”.
“this” and
“that”. .
Should allow quotes adjacent to other punctuation characters, #643: . The dog---“‘man’s' best friend” .
Should parse quotes adjacent to code block, #677: . “test code
”
“code
test” .
Should parse quotes adjacent to inline html, #677: . “test
”
“
test” .