diff options
author | Marcel Amirault <mamirault@gitlab.com> | 2022-06-27 06:01:18 +0300 |
---|---|---|
committer | Marcel Amirault <mamirault@gitlab.com> | 2022-06-27 06:01:18 +0300 |
commit | 1b4bf766f209b95186e06df6c7956494ba7c0c49 (patch) | |
tree | b648a58e659deeaf9088cc6d355d5ebaf9810354 | |
parent | 5fde05a8226c458535f72227eab9a76d757e9582 (diff) | |
parent | 399de3f7fab8b76e186e649c2cca3eedccb3105e (diff) |
Merge branch 'eread/fix-mixed-regexp-capture-types-rubocop-offense' into 'main'
Fix Lint/MixedRegexpCaptureTypes RuboCop offense
See merge request gitlab-org/gitlab-docs!2818
-rw-r--r-- | lib/filters/badges.rb | 4 | ||||
-rw-r--r-- | lib/gitlab/docs.rb | 2 | ||||
-rw-r--r-- | spec/gitlab/navigation_spec.rb | 2 | ||||
-rw-r--r-- | spec/lib/filters/badges_spec.rb | 161 |
4 files changed, 166 insertions, 3 deletions
diff --git a/lib/filters/badges.rb b/lib/filters/badges.rb index e14b24e6..2cd0e488 100644 --- a/lib/filters/badges.rb +++ b/lib/filters/badges.rb @@ -27,9 +27,9 @@ class BadgesFilter < Nanoc::Filter BADGES_MARKDOWN_PATTERN = %r{ (?:^|[^`]) # must be start of the line or anything except backtick - \*\*(\[|\() + \*\*(?:\[|\() (?<tier>CORE|STARTER|PREMIUM|ULTIMATE|FREE|BRONZE|SILVER|GOLD)(?:\s+(?<type>ONLY|SAAS|SELF)) - ?(\]|\))\*\* + ?(?:\]|\))\*\* (?:$|[^`]) # must end of line or anything except backtick }x.freeze diff --git a/lib/gitlab/docs.rb b/lib/gitlab/docs.rb index b078f62c..1a38e371 100644 --- a/lib/gitlab/docs.rb +++ b/lib/gitlab/docs.rb @@ -2,6 +2,8 @@ $LOAD_PATH.unshift(__dir__) +require 'nanoc' + module Gitlab module Docs autoload :Document, 'docs/document' diff --git a/spec/gitlab/navigation_spec.rb b/spec/gitlab/navigation_spec.rb index 36e1b132..425a5428 100644 --- a/spec/gitlab/navigation_spec.rb +++ b/spec/gitlab/navigation_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true require 'spec_helper' -require 'nanoc' + require 'gitlab/navigation' require 'gitlab/navigation/section' diff --git a/spec/lib/filters/badges_spec.rb b/spec/lib/filters/badges_spec.rb new file mode 100644 index 00000000..aefbdefa --- /dev/null +++ b/spec/lib/filters/badges_spec.rb @@ -0,0 +1,161 @@ +require 'spec_helper' + +require 'filters/badges' + +describe BadgesFilter do + describe '#run' do + let(:content) { nil } + + subject(:run) { described_class.new.run(content) } + + context 'when <strong>(FREE)</strong> badge' do + let(:content) { '<strong>(FREE)</strong>' } + + it 'returns correct HTML' do + expect(run).to eq('<span class="badge-trigger free"></span>') + end + end + + context 'when <strong>(PREMIUM)</strong> badge' do + let(:content) { '<strong>(PREMIUM)</strong>' } + + it 'returns correct HTML' do + expect(run).to eq('<span class="badge-trigger premium"></span>') + end + end + + context 'when <strong>(ULTIMATE)</strong> badge' do + let(:content) { '<strong>(ULTIMATE)</strong>' } + + it 'returns correct HTML' do + expect(run).to eq('<span class="badge-trigger ultimate"></span>') + end + end + + context 'when <strong>(FREE SELF)</strong> badge' do + let(:content) { '<strong>(FREE SELF)</strong>' } + + it 'returns correct HTML' do + expect(run).to eq('<span class="badge-trigger free-self"></span>') + end + end + + context 'when <strong>(PREMIUM SELF)</strong> badge' do + let(:content) { '<strong>(PREMIUM SELF)</strong>' } + + it 'returns correct HTML' do + expect(run).to eq('<span class="badge-trigger premium-self"></span>') + end + end + + context 'when <strong>(ULTIMATE SELF)</strong> badge' do + let(:content) { '<strong>(ULTIMATE SELF)</strong>' } + + it 'returns correct HTML' do + expect(run).to eq('<span class="badge-trigger ultimate-self"></span>') + end + end + + context 'when <strong>(FREE SAAS)</strong> badge' do + let(:content) { '<strong>(FREE SAAS)</strong>' } + + it 'returns correct HTML' do + expect(run).to eq('<span class="badge-trigger free-saas"></span>') + end + end + + context 'when <strong>(PREMIUM SAAS)</strong> badge' do + let(:content) { '<strong>(PREMIUM SAAS)</strong>' } + + it 'returns correct HTML' do + expect(run).to eq('<span class="badge-trigger premium-saas"></span>') + end + end + + context 'when <strong>(ULTIMATE SAAS)</strong> badge' do + let(:content) { '<strong>(ULTIMATE SAAS)</strong>' } + + it 'returns correct HTML' do + expect(run).to eq('<span class="badge-trigger ultimate-saas"></span>') + end + end + end + + describe '#run_from_markdown' do + let(:content) { nil } + + subject(:run_from_markdown) { described_class.new.run_from_markdown(content) } + + context 'when **(FREE)** badge' do + let(:content) { '**(FREE)**' } + + it 'returns correct HTML' do + expect(run_from_markdown).to eq('<span class="badge-trigger free"></span>') + end + end + + context 'when **(PREMIUM)** badge' do + let(:content) { '**(PREMIUM)**' } + + it 'returns correct HTML' do + expect(run_from_markdown).to eq('<span class="badge-trigger premium"></span>') + end + end + + context 'when **(ULTIMATE)** badge' do + let(:content) { '**(ULTIMATE)**' } + + it 'returns correct HTML' do + expect(run_from_markdown).to eq('<span class="badge-trigger ultimate"></span>') + end + end + + context 'when **(FREE SELF)** badge' do + let(:content) { '**(FREE SELF)**' } + + it 'returns correct HTML' do + expect(run_from_markdown).to eq('<span class="badge-trigger free-self"></span>') + end + end + + context 'when **(PREMIUM SELF)** badge' do + let(:content) { '**(PREMIUM SELF)**' } + + it 'returns correct HTML' do + expect(run_from_markdown).to eq('<span class="badge-trigger premium-self"></span>') + end + end + + context 'when **(ULTIMATE SELF)** badge' do + let(:content) { '**(ULTIMATE SELF)**' } + + it 'returns correct HTML' do + expect(run_from_markdown).to eq('<span class="badge-trigger ultimate-self"></span>') + end + end + + context 'when **(FREE SAAS)** badge' do + let(:content) { '**(FREE SAAS)**' } + + it 'returns correct HTML' do + expect(run_from_markdown).to eq('<span class="badge-trigger free-saas"></span>') + end + end + + context 'when **(PREMIUM SAAS)** badge' do + let(:content) { '**(PREMIUM SAAS)**' } + + it 'returns correct HTML' do + expect(run_from_markdown).to eq('<span class="badge-trigger premium-saas"></span>') + end + end + + context 'when **(ULTIMATE SAAS)** badge' do + let(:content) { '**(ULTIMATE SAAS)**' } + + it 'returns correct HTML' do + expect(run_from_markdown).to eq('<span class="badge-trigger ultimate-saas"></span>') + end + end + end +end |