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']
|
||||
%w[wrap line_numbers line_numbers_start tab_width bold_every css default_lang].each do |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
|
||||
|
||||
|
|
|
@ -12,24 +12,51 @@ class TestKramdown < Test::Unit::TestCase
|
|||
'footnote_nr' => 1,
|
||||
'entity_output' => 'as_char',
|
||||
'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
|
||||
|
||||
# http://kramdown.rubyforge.org/converter/html.html#options
|
||||
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
|
||||
|
||||
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' } }
|
||||
markdown = Converters::Markdown.new(@config.deep_merge(override))
|
||||
assert_match /<p>(«|«)Pit(›|›)hy(»|»)<\/p>/, markdown.convert(%{"Pit'hy"}).strip
|
||||
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
|
||||
|
|
Loading…
Reference in New Issue