Commit 95ed0174 authored by Jan Christophersen's avatar Jan Christophersen

Add AsciiDoc snippet for CI/CD Badges

This commit adds CI/CD Badges Snippets for AsciiDoc as requested in #26087.
I've however run into an issue in highlighting the snippet, it seems as if AsciiDoc is currently not being highlighted properly (displayed as plaintext)

Add testcase for to_asciidoc

Update test case for Badges list
parent edb8ed36
...@@ -25,3 +25,10 @@ ...@@ -25,3 +25,10 @@
HTML HTML
.col-md-10.code.js-syntax-highlight .col-md-10.code.js-syntax-highlight
= highlight('.html', badge.to_html) = highlight('.html', badge.to_html)
.row
%hr
.row
.col-md-2.text-center
AsciiDoc
.col-md-10.code.js-syntax-highlight
= highlight('.adoc', badge.to_asciidoc)
---
title: Added AsciiDoc Snippet to CI/CD Badges
merge_request: 9164
author: Jan Christophersen
...@@ -20,6 +20,10 @@ module Gitlab ...@@ -20,6 +20,10 @@ module Gitlab
"[![#{title}](#{image_url})](#{link_url})" "[![#{title}](#{image_url})](#{link_url})"
end end
def to_asciidoc
"image:#{image_url}[link=\"#{link_url}\",title=\"#{title}\"]"
end
def title def title
raise NotImplementedError raise NotImplementedError
end end
......
...@@ -14,7 +14,8 @@ feature 'list of badges' do ...@@ -14,7 +14,8 @@ feature 'list of badges' do
expect(page).to have_content 'build status' expect(page).to have_content 'build status'
expect(page).to have_content 'Markdown' expect(page).to have_content 'Markdown'
expect(page).to have_content 'HTML' expect(page).to have_content 'HTML'
expect(page).to have_css('.highlight', count: 2) expect(page).to have_content 'AsciiDoc'
expect(page).to have_css('.highlight', count: 3)
expect(page).to have_xpath("//img[@alt='build status']") expect(page).to have_xpath("//img[@alt='build status']")
page.within('.highlight', match: :first) do page.within('.highlight', match: :first) do
...@@ -28,7 +29,8 @@ feature 'list of badges' do ...@@ -28,7 +29,8 @@ feature 'list of badges' do
expect(page).to have_content 'coverage report' expect(page).to have_content 'coverage report'
expect(page).to have_content 'Markdown' expect(page).to have_content 'Markdown'
expect(page).to have_content 'HTML' expect(page).to have_content 'HTML'
expect(page).to have_css('.highlight', count: 2) expect(page).to have_content 'AsciiDoc'
expect(page).to have_css('.highlight', count: 3)
expect(page).to have_xpath("//img[@alt='coverage report']") expect(page).to have_xpath("//img[@alt='coverage report']")
page.within('.highlight', match: :first) do page.within('.highlight', match: :first) do
......
...@@ -18,4 +18,14 @@ shared_examples 'badge metadata' do ...@@ -18,4 +18,14 @@ shared_examples 'badge metadata' do
it { is_expected.to include metadata.image_url } it { is_expected.to include metadata.image_url }
it { is_expected.to include metadata.link_url } it { is_expected.to include metadata.link_url }
end end
describe '#to_asciidoc' do
subject { metadata.to_asciidoc }
it { is_expected.to include metadata.image_url }
it { is_expected.to include metadata.link_url }
it { is_expected.to include 'image:' }
it { is_expected.to include 'link=' }
it { is_expected.to include 'title=' }
end
end end
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