blob: 49dda9252bbfa280e37d07d60b40f3c24fd5e045 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'Kramdown patch for syntax highlighting formatters' do
subject { Kramdown::Document.new(options + "\n" + code).to_html }
let(:code) do
<<-RUBY
~~~ ruby
def what?
42
end
~~~
RUBY
end
context 'with invalid formatter' do
let(:options) { %({::options auto_ids="false" footnote_nr="5" syntax_highlighter="rouge" syntax_highlighter_opts="{formatter: CSV, line_numbers: true\\}" /}) }
it 'falls back to standard HTML and disallows CSV' do
expect(CSV).not_to receive(:new)
expect(::Rouge::Formatters::HTML).to receive(:new).and_call_original
expect(subject).to be_present
end
end
context 'with valid formatter' do
let(:options) { %({::options auto_ids="false" footnote_nr="5" syntax_highlighter="rouge" syntax_highlighter_opts="{formatter: HTMLLegacy\\}" /}) }
it 'allows formatter' do
expect(::Rouge::Formatters::HTMLLegacy).to receive(:new).and_call_original
expect(subject).to be_present
end
end
end
|