##// END OF EJS Templates
Adds an option for formatter display name....
Jean-Philippe Lang -
r12175:0dc98aabe635
parent child
Show More
@@ -18,7 +18,7
18
18
19 <p><%= setting_select :protocol, [['HTTP', 'http'], ['HTTPS', 'https']] %></p>
19 <p><%= setting_select :protocol, [['HTTP', 'http'], ['HTTPS', 'https']] %></p>
20
20
21 <p><%= setting_select :text_formatting, Redmine::WikiFormatting.format_names.collect{|name| [name, name.to_s]}, :blank => :label_none %></p>
21 <p><%= setting_select :text_formatting, Redmine::WikiFormatting.formats_for_select, :blank => :label_none %></p>
22
22
23 <p><%= setting_check_box :cache_formatted_text %></p>
23 <p><%= setting_check_box :cache_formatted_text %></p>
24
24
@@ -28,9 +28,14 module Redmine
28 yield self
28 yield self
29 end
29 end
30
30
31 def register(name, formatter, helper)
31 def register(name, formatter, helper, options={})
32 raise ArgumentError, "format name '#{name}' is already taken" if @@formatters[name.to_s]
32 name = name.to_s
33 @@formatters[name.to_s] = {:formatter => formatter, :helper => helper}
33 raise ArgumentError, "format name '#{name}' is already taken" if @@formatters[name]
34 @@formatters[name] = {
35 :formatter => formatter,
36 :helper => helper,
37 :label => options[:label] || name.humanize
38 }
34 end
39 end
35
40
36 def formatter
41 def formatter
@@ -51,6 +56,10 module Redmine
51 @@formatters.keys.map
56 @@formatters.keys.map
52 end
57 end
53
58
59 def formats_for_select
60 @@formatters.map {|name, options| [options[:label], name]}
61 end
62
54 def to_html(format, text, options = {})
63 def to_html(format, text, options = {})
55 text = if Setting.cache_formatted_text? && text.size > 2.kilobyte && cache_store && cache_key = cache_key_for(format, text, options[:object], options[:attribute])
64 text = if Setting.cache_formatted_text? && text.size > 2.kilobyte && cache_store && cache_key = cache_key_for(format, text, options[:object], options[:attribute])
56 # Text retrieved from the cache store may be frozen
65 # Text retrieved from the cache store may be frozen
@@ -30,6 +30,10 class Redmine::WikiFormattingTest < ActiveSupport::TestCase
30 assert_equal Redmine::WikiFormatting::NullFormatter::Helper, Redmine::WikiFormatting.helper_for('')
30 assert_equal Redmine::WikiFormatting::NullFormatter::Helper, Redmine::WikiFormatting.helper_for('')
31 end
31 end
32
32
33 def test_formats_for_select
34 assert_include ['Textile', 'textile'], Redmine::WikiFormatting.formats_for_select
35 end
36
33 def test_should_link_urls_and_email_addresses
37 def test_should_link_urls_and_email_addresses
34 raw = <<-DIFF
38 raw = <<-DIFF
35 This is a sample *text* with a link: http://www.redmine.org
39 This is a sample *text* with a link: http://www.redmine.org
General Comments 0
You need to be logged in to leave comments. Login now