require 'rubygems' require 'timeout' unless defined? RADIUS_LIB RADIUS_LIB = File.join(File.dirname(__FILE__), '..', 'lib') $LOAD_PATH << RADIUS_LIB require 'radius' require 'test/unit' module RadiusTestHelper class TestContext < Radius::Context; end def new_context Radius::Context.new do |c| c.define_tag("reverse" ) { |tag| tag.expand.reverse } c.define_tag("capitalize") { |tag| tag.expand.upcase } c.define_tag("echo" ) { |tag| tag.attr['value'] } c.define_tag("wrap" ) { |tag| "[#{tag.expand}]" } c.define_tag("attr") do |tag| kv = tag.attr.keys.sort.collect{|k| "#{k.inspect}=>#{tag[k].inspect}"} "{#{kv.join(', ')}}" end end end def define_tag(name, options = {}, &block) @parser.context.define_tag name, options, &block end def define_global_tag(name, options = {}, &block) @context.define_tag name, options, &block end end end