diff options
Diffstat (limited to 'spec/lib/banzai/filter/sanitization_filter_spec.rb')
-rw-r--r-- | spec/lib/banzai/filter/sanitization_filter_spec.rb | 64 |
1 files changed, 52 insertions, 12 deletions
diff --git a/spec/lib/banzai/filter/sanitization_filter_spec.rb b/spec/lib/banzai/filter/sanitization_filter_spec.rb index f880fe06ce3..8eb8e5cf800 100644 --- a/spec/lib/banzai/filter/sanitization_filter_spec.rb +++ b/spec/lib/banzai/filter/sanitization_filter_spec.rb @@ -45,10 +45,10 @@ RSpec.describe Banzai::Filter::SanitizationFilter do it 'allows `text-align` property in `style` attribute on table elements' do html = <<~HTML - <table> - <tr><th style="text-align: center">Head</th></tr> - <tr><td style="text-align: right">Body</th></tr> - </table> + <table> + <tr><th style="text-align: center">Head</th></tr> + <tr><td style="text-align: right">Body</th></tr> + </table> HTML doc = filter(html) @@ -140,14 +140,14 @@ RSpec.describe Banzai::Filter::SanitizationFilter do describe 'footnotes' do it 'allows correct footnote id property on links' do - exp = %q(<a href="#fn1" id="fnref1">foo/bar.md</a>) + exp = %q(<a href="#fn-first" id="fnref-first">foo/bar.md</a>) act = filter(exp) expect(act.to_html).to eq exp end it 'allows correct footnote id property on li element' do - exp = %q(<ol><li id="fn1">footnote</li></ol>) + exp = %q(<ol><li id="fn-last">footnote</li></ol>) act = filter(exp) expect(act.to_html).to eq exp @@ -156,7 +156,7 @@ RSpec.describe Banzai::Filter::SanitizationFilter do it 'removes invalid id for footnote links' do exp = %q(<a href="#fn1">link</a>) - %w[fnrefx test xfnref1].each do |id| + %w[fnrefx test xfnref-1].each do |id| act = filter(%(<a href="#fn1" id="#{id}">link</a>)) expect(act.to_html).to eq exp @@ -166,18 +166,58 @@ RSpec.describe Banzai::Filter::SanitizationFilter do it 'removes invalid id for footnote li' do exp = %q(<ol><li>footnote</li></ol>) - %w[fnx test xfn1].each do |id| + %w[fnx test xfn-1].each do |id| act = filter(%(<ol><li id="#{id}">footnote</li></ol>)) expect(act.to_html).to eq exp end end - it 'allows footnotes numbered higher than 9' do - exp = %q(<a href="#fn15" id="fnref15">link</a><ol><li id="fn15">footnote</li></ol>) - act = filter(exp) + context 'using ruby-based HTML renderer' do + before do + stub_feature_flags(use_cmark_renderer: false) + end - expect(act.to_html).to eq exp + it 'allows correct footnote id property on links' do + exp = %q(<a href="#fn1" id="fnref1">foo/bar.md</a>) + act = filter(exp) + + expect(act.to_html).to eq exp + end + + it 'allows correct footnote id property on li element' do + exp = %q(<ol><li id="fn1">footnote</li></ol>) + act = filter(exp) + + expect(act.to_html).to eq exp + end + + it 'removes invalid id for footnote links' do + exp = %q(<a href="#fn1">link</a>) + + %w[fnrefx test xfnref1].each do |id| + act = filter(%(<a href="#fn1" id="#{id}">link</a>)) + + expect(act.to_html).to eq exp + end + end + + it 'removes invalid id for footnote li' do + exp = %q(<ol><li>footnote</li></ol>) + + %w[fnx test xfn1].each do |id| + act = filter(%(<ol><li id="#{id}">footnote</li></ol>)) + + expect(act.to_html).to eq exp + end + end + + it 'allows footnotes numbered higher than 9' do + exp = %q(<a href="#fn15" id="fnref15">link</a><ol><li id="fn15">footnote</li></ol>) + act = filter(exp) + + expect(act.to_html).to eq exp + end end end end |