Merge pull request #1543 from maul-esel/fix-coderay
Add tests for special handling of kramdown's coderay options
This commit is contained in:
commit
0e784596a5
|
@ -16,7 +16,7 @@ module Jekyll
|
||||||
if @config['kramdown']['use_coderay']
|
if @config['kramdown']['use_coderay']
|
||||||
%w[wrap line_numbers line_numbers_start tab_width bold_every css default_lang].each do |opt|
|
%w[wrap line_numbers line_numbers_start tab_width bold_every css default_lang].each do |opt|
|
||||||
key = "coderay_#{opt}"
|
key = "coderay_#{opt}"
|
||||||
@config['kramdown'][key.to_sym] = @config['kramdown']['coderay'][key] unless @config['kramdown'].has_key?(key)
|
@config['kramdown'][key] = @config['kramdown']['coderay'][key] unless @config['kramdown'].has_key?(key)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -12,24 +12,51 @@ class TestKramdown < Test::Unit::TestCase
|
||||||
'footnote_nr' => 1,
|
'footnote_nr' => 1,
|
||||||
'entity_output' => 'as_char',
|
'entity_output' => 'as_char',
|
||||||
'toc_levels' => '1..6',
|
'toc_levels' => '1..6',
|
||||||
'smart_quotes' => 'lsquo,rsquo,ldquo,rdquo'
|
'smart_quotes' => 'lsquo,rsquo,ldquo,rdquo',
|
||||||
|
|
||||||
|
'use_coderay' => true,
|
||||||
|
'coderay_bold_every'=> 12,
|
||||||
|
'coderay' => {
|
||||||
|
'coderay_css' => :style,
|
||||||
|
'coderay_bold_every' => 8
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@config = Jekyll.configuration(@config)
|
||||||
|
@markdown = Converters::Markdown.new(@config)
|
||||||
end
|
end
|
||||||
|
|
||||||
# http://kramdown.rubyforge.org/converter/html.html#options
|
# http://kramdown.rubyforge.org/converter/html.html#options
|
||||||
should "pass kramdown options" do
|
should "pass kramdown options" do
|
||||||
markdown = Converters::Markdown.new(@config)
|
assert_equal "<h1>Some Header</h1>", @markdown.convert('# Some Header #').strip
|
||||||
assert_equal "<h1>Some Header</h1>", markdown.convert('# Some Header #').strip
|
|
||||||
end
|
end
|
||||||
|
|
||||||
should "convert quotes to smart quotes" do
|
should "convert quotes to smart quotes" do
|
||||||
markdown = Converters::Markdown.new(@config)
|
assert_match /<p>(“|“)Pit(’|’)hy(”|”)<\/p>/, @markdown.convert(%{"Pit'hy"}).strip
|
||||||
assert_match /<p>(“|“)Pit(’|’)hy(”|”)<\/p>/, markdown.convert(%{"Pit'hy"}).strip
|
|
||||||
|
|
||||||
override = { 'kramdown' => { 'smart_quotes' => 'lsaquo,rsaquo,laquo,raquo' } }
|
override = { 'kramdown' => { 'smart_quotes' => 'lsaquo,rsaquo,laquo,raquo' } }
|
||||||
markdown = Converters::Markdown.new(@config.deep_merge(override))
|
markdown = Converters::Markdown.new(@config.deep_merge(override))
|
||||||
assert_match /<p>(«|«)Pit(›|›)hy(»|»)<\/p>/, markdown.convert(%{"Pit'hy"}).strip
|
assert_match /<p>(«|«)Pit(›|›)hy(»|»)<\/p>/, markdown.convert(%{"Pit'hy"}).strip
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "moving up nested coderay options" do
|
||||||
|
setup do
|
||||||
|
@markdown.convert('some markup')
|
||||||
|
@converter_config = @markdown.instance_variable_get(:@config)['kramdown']
|
||||||
|
end
|
||||||
|
|
||||||
|
should "work correctly" do
|
||||||
|
assert_equal :style, @converter_config['coderay_css']
|
||||||
|
end
|
||||||
|
|
||||||
|
should "also work for defaults" do
|
||||||
|
default = Jekyll::Configuration::DEFAULTS['kramdown']['coderay']['coderay_tab_width']
|
||||||
|
assert_equal default, @converter_config['coderay_tab_width']
|
||||||
|
end
|
||||||
|
|
||||||
|
should "not overwrite" do
|
||||||
|
assert_equal 12, @converter_config['coderay_bold_every']
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue