From b90739878805d587e00b0112a65e04f921883b75 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Wed, 8 Aug 2012 18:54:01 +0000 Subject: [PATCH] Slight change to the macro regexp. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10178 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/helpers/application_helper.rb | 2 +- test/unit/lib/redmine/wiki_formatting/macros_test.rb | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 2245944c8..983f3fd8b 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -852,7 +852,7 @@ module ApplicationHelper ( \{\{ # opening tag ([\w]+) # macro name - (\(([^\}]*)\))? # optional arguments + (\((.*?)\))? # optional arguments \}\} # closing tag ) /x unless const_defined?(:MACROS_RE) diff --git a/test/unit/lib/redmine/wiki_formatting/macros_test.rb b/test/unit/lib/redmine/wiki_formatting/macros_test.rb index 4583d3e9b..42885a7df 100644 --- a/test/unit/lib/redmine/wiki_formatting/macros_test.rb +++ b/test/unit/lib/redmine/wiki_formatting/macros_test.rb @@ -65,6 +65,17 @@ class Redmine::WikiFormatting::MacrosTest < ActionView::TestCase assert_equal '

Bar: () (String)

', textilizable("{{bar()}}") end + def test_multiple_macros_on_the_same_line + Redmine::WikiFormatting::Macros.macro :foo do |obj, args| + args.any? ? "args: #{args.join(',')}" : "no args" + end + + assert_equal '

no args no args

', textilizable("{{foo}} {{foo}}") + assert_equal '

args: a,b no args

', textilizable("{{foo(a,b)}} {{foo}}") + assert_equal '

args: a,b args: c,d

', textilizable("{{foo(a,b)}} {{foo(c,d)}}") + assert_equal '

no args args: c,d

', textilizable("{{foo}} {{foo(c,d)}}") + end + def test_macro_hello_world text = "{{hello_world}}" assert textilizable(text).match(/Hello world!/) -- 2.39.5