test/parser_test.rb in trac-wiki-0.3.12 vs test/parser_test.rb in trac-wiki-0.3.13

- old
+ new

@@ -17,11 +17,21 @@ options[:template_handler] = self.method(:template_handler) parser = TracWiki.parser(options) parser.to_html(wiki) parser.env.at(var).should.equal val end + def used_templates(wiki, used_templates, options={}) + options[:macro_commands] = { '!print' => proc { |env| env.arg(0) + '! ' }, } + options[:template_handler] = self.method(:template_handler) + parser = TracWiki.parser(options) + parser.to_html(wiki) + parser.used_templates.sort.map do |key,value| + "#{key}:#{value}" + end.join(',').should.equal used_templates + end + def template_handler(tname, env) case tname when 'ifeqtest' "{{!ifeq {{$1}}|{{$2}}|TRUE|FALSE}}" when 'vartest2' @@ -34,10 +44,12 @@ "nula:{{$0}},a:{{$a}}" when 'varnulanula' "nulanula:{{$00}},a:{{$a}}" when 'vartest' "jedna:{{$1}},dve:{{$2}},p:{{$p}},arg:{{$00}}" + when 'testundef' + "{{westundef}}" when 'test' "{{west}}" when 'west' "WEST" when 'deep' @@ -1130,11 +1142,16 @@ tc "<p>nula:TE|XT,a:AHOJ</p>\n" , "{{varnula TE|a=AHOJ|XT}}" tc "<p>nulanula:TE|a=AHOJ|XT,a:AHOJ</p>\n" , "{{varnulanula TE|a=AHOJ|XT}}" end it 'should parse env' do env '{{!set b|ahoj}}', 'b', 'ahoj' -# env '{{!set *|ahoj}}', '*', 'ahoj' -# env '{{!set *|{}|}}', '*', '{}' -# tc "<p>a</p>\n" , "{{!set qq|a}}{{$qq}}" + env '{{!set *|ahoj}}', '*', 'ahoj' + env '{{!set *|{}|}}', '*', '{}' + tc "<p>a</p>\n" , "{{!set qq|a}}{{$qq}}" + end + it 'should know used templates' do + used_templates "{{varnula}}", "varnula:true" + used_templates "{{test}}", "test:true,west:true" + used_templates "{{testundef}}", "testundef:true,westundef:false" end end # vim: tw=0