Use aggregate_failures where appropriate
This commit is contained in:
parent
06478ef3ec
commit
3cafa74387
|
@ -81,10 +81,13 @@ describe 'GitLab Markdown', feature: true do
|
|||
describe 'Tables' do
|
||||
it 'parses table Markdown' do
|
||||
body = get_section('tables')
|
||||
|
||||
aggregate_failures do
|
||||
expect(body).to have_selector('th:contains("Header")')
|
||||
expect(body).to have_selector('th:contains("Row")')
|
||||
expect(body).to have_selector('th:contains("Example")')
|
||||
end
|
||||
end
|
||||
|
||||
it 'allows Markdown in tables' do
|
||||
expect(doc.at_css('td:contains("Baz")').children.to_html).
|
||||
|
@ -94,10 +97,12 @@ describe 'GitLab Markdown', feature: true do
|
|||
|
||||
describe 'Fenced Code Blocks' do
|
||||
it 'parses fenced code blocks' do
|
||||
aggregate_failures do
|
||||
expect(doc).to have_selector('pre.code.highlight.white.c')
|
||||
expect(doc).to have_selector('pre.code.highlight.white.python')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'Strikethrough' do
|
||||
it 'parses strikethroughs' do
|
||||
|
@ -108,15 +113,19 @@ describe 'GitLab Markdown', feature: true do
|
|||
describe 'Superscript' do
|
||||
it 'parses superscript' do
|
||||
body = get_section('superscript')
|
||||
|
||||
aggregate_failures do
|
||||
expect(body.to_html).to match('1<sup>st</sup>')
|
||||
expect(body.to_html).to match('2<sup>nd</sup>')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'HTML::Pipeline' do
|
||||
describe 'SanitizationFilter' do
|
||||
it 'uses a permissive whitelist' do
|
||||
aggregate_failures do
|
||||
expect(doc).to have_selector('b:contains("b tag")')
|
||||
expect(doc).to have_selector('em:contains("em tag")')
|
||||
expect(doc).to have_selector('code:contains("code tag")')
|
||||
|
@ -126,12 +135,14 @@ describe 'GitLab Markdown', feature: true do
|
|||
expect(doc).to have_selector('br')
|
||||
expect(doc).to have_selector('hr')
|
||||
end
|
||||
end
|
||||
|
||||
it 'permits span elements' do
|
||||
expect(doc).to have_selector('span:contains("span tag")')
|
||||
end
|
||||
|
||||
it 'permits table alignment' do
|
||||
aggregate_failures do
|
||||
expect(doc.at_css('th:contains("Header")')['style']).to eq 'text-align: center'
|
||||
expect(doc.at_css('th:contains("Row")')['style']).to eq 'text-align: right'
|
||||
expect(doc.at_css('th:contains("Example")')['style']).to eq 'text-align: left'
|
||||
|
@ -140,6 +151,7 @@ describe 'GitLab Markdown', feature: true do
|
|||
expect(doc.at_css('td:contains("Bar")')['style']).to eq 'text-align: right'
|
||||
expect(doc.at_css('td:contains("Baz")')['style']).to eq 'text-align: left'
|
||||
end
|
||||
end
|
||||
|
||||
it 'removes `rel` attribute from links' do
|
||||
body = get_section('sanitizationfilter')
|
||||
|
@ -161,6 +173,7 @@ describe 'GitLab Markdown', feature: true do
|
|||
|
||||
describe 'Edge Cases' do
|
||||
it 'allows markup inside link elements' do
|
||||
aggregate_failures do
|
||||
expect(doc.at_css('a[href="#link-emphasis"]').to_html).
|
||||
to eq %{<a href="#link-emphasis"><em>text</em></a>}
|
||||
|
||||
|
@ -171,6 +184,7 @@ describe 'GitLab Markdown', feature: true do
|
|||
to eq %{<a href="#link-code"><code>text</code></a>}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'EmojiFilter' do
|
||||
it 'parses Emoji' do
|
||||
|
@ -180,11 +194,13 @@ describe 'GitLab Markdown', feature: true do
|
|||
|
||||
describe 'TableOfContentsFilter' do
|
||||
it 'creates anchors inside header elements' do
|
||||
aggregate_failures do
|
||||
expect(doc).to have_selector('h1 a#gitlab-markdown')
|
||||
expect(doc).to have_selector('h2 a#markdown')
|
||||
expect(doc).to have_selector('h3 a#autolinkfilter')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'AutolinkFilter' do
|
||||
def body
|
||||
|
@ -290,12 +306,15 @@ describe 'GitLab Markdown', feature: true do
|
|||
describe 'Task Lists' do
|
||||
it 'generates task lists' do
|
||||
body = get_section('task-lists')
|
||||
|
||||
aggregate_failures do
|
||||
expect(body).to have_selector('ul.task-list', count: 2)
|
||||
expect(body).to have_selector('li.task-list-item', count: 7)
|
||||
expect(body).to have_selector('input[checked]', count: 3)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# `markdown` calls these two methods
|
||||
def current_user
|
||||
|
|
Loading…
Reference in New Issue