Sha256: 0a4ae353a48262a4f38505243683aceed572a639c43ec3a70699b454a24d9d7c
Contents?: true
Size: 1.03 KB
Versions: 6
Compression:
Stored size: 1.03 KB
Contents
require File.dirname(__FILE__) + '/test_helper' require 'htmlbeautifier/parser' class TestParser < Test::Unit::TestCase class Receiver attr_reader :sequence def initialize @sequence = [] end def method_missing(method, *params) @sequence << [method, params] end end def setup # HtmlBeautifier::Parser.debug_block{ |match, method| puts("#{match.inspect} => #{method}") } end def test_should_dispatch_matching_sequence receiver = Receiver.new parser = HtmlBeautifier::Parser.new{ map %r{foo}, :foo map %r{bar\s*}, :bar map %r{\s+}, :whitespace } parser.scan('foo bar ', receiver) assert_equal [[:foo, ['foo']], [:whitespace, [' ']], [:bar, ['bar ']]], receiver.sequence end def test_should_send_parenthesized_components_as_separate_parameters receiver = Receiver.new parser = HtmlBeautifier::Parser.new{ map %r{(foo)\((.*?)\)}, :foo } parser.scan('foo(bar)', receiver) assert_equal [[:foo, ['foo', 'bar']]], receiver.sequence end end
Version data entries
6 entries across 6 versions & 2 rubygems