Commit 9d34efb5 authored by Robert Speicher's avatar Robert Speicher

Merge branch 'rs-issue-1348' into 'master'

Add Markdown feature specs for markup inside links

It was already working, just want to make sure we don't break it in the future.

See merge request !619
parents 5b3c823f cb079c82
...@@ -62,7 +62,7 @@ describe 'GitLab Markdown' do ...@@ -62,7 +62,7 @@ describe 'GitLab Markdown' do
# Given a header ID, goes to that element's parent (the header), then to its # Given a header ID, goes to that element's parent (the header), then to its
# second sibling (the body). # second sibling (the body).
def get_section(id) def get_section(id)
@doc.at_css("##{id}").parent.next.next @doc.at_css("##{id}").parent.next_element
end end
# it 'writes to a file' do # it 'writes to a file' do
...@@ -161,6 +161,19 @@ describe 'GitLab Markdown' do ...@@ -161,6 +161,19 @@ describe 'GitLab Markdown' do
end end
end end
describe 'Edge Cases' do
it 'allows markup inside link elements' do
expect(@doc.at_css('a[href="#link-emphasis"]').to_html).
to eq %{<a href="#link-emphasis"><em>text</em></a>}
expect(@doc.at_css('a[href="#link-strong"]').to_html).
to eq %{<a href="#link-strong"><strong>text</strong></a>}
expect(@doc.at_css('a[href="#link-code"]').to_html).
to eq %{<a href="#link-code"><code>text</code></a>}
end
end
describe 'EmojiFilter' do describe 'EmojiFilter' do
it 'parses Emoji' do it 'parses Emoji' do
expect(@doc).to have_selector('img.emoji', count: 10) expect(@doc).to have_selector('img.emoji', count: 10)
...@@ -176,7 +189,7 @@ describe 'GitLab Markdown' do ...@@ -176,7 +189,7 @@ describe 'GitLab Markdown' do
end end
describe 'AutolinkFilter' do describe 'AutolinkFilter' do
let(:list) { get_section('autolinkfilter').parent.search('ul') } let(:list) { get_section('autolinkfilter').next_element }
def item(index) def item(index)
list.at_css("li:nth-child(#{index})") list.at_css("li:nth-child(#{index})")
......
...@@ -94,6 +94,14 @@ The problem with SanitizationFilter is that it can be too aggressive. ...@@ -94,6 +94,14 @@ The problem with SanitizationFilter is that it can be too aggressive.
| `1 < 3 & 5` | 1 &lt; 3 &amp; 5 | 1 < 3 & 5 | | `1 < 3 & 5` | 1 &lt; 3 &amp; 5 | 1 < 3 & 5 |
| `<foo>` | &lt;foo&gt; | <foo> | | `<foo>` | &lt;foo&gt; | <foo> |
### Edge Cases
Markdown should be usable inside a link. Let's try!
- [_text_](#link-emphasis)
- [**text**](#link-strong)
- [`text`](#link-code)
### EmojiFilter ### EmojiFilter
Because life would be :zzz: without Emoji, right? :rocket: Because life would be :zzz: without Emoji, right? :rocket:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment