Sha256: 8f7f07424177f66109b78c2b2bac04294210344254f5f21a333a36cb0ae00b5e
Contents?: true
Size: 1.08 KB
Versions: 7
Compression:
Stored size: 1.08 KB
Contents
require File.dirname(__FILE__) + '/helper' Citrus.load(File.dirname(__FILE__) + '/_files/alias') class AliasTest < Test::Unit::TestCase def test_terminal? rule = Alias.new assert_equal(false, rule.terminal?) end def test_match grammar = Grammar.new { rule :a, :b rule :b, 'b' } match = grammar.parse('b') assert(match) assert('b', match.text) assert(1, match.length) end def test_match_renamed grammar = Grammar.new { rule :a, ext(:b) { def value 'a' + text end } rule :b, 'b' } match = grammar.parse('b') assert(match) assert('ab', match.value) assert_raise RuntimeError do match.b end end def test_peg match = AliasOne.parse('a') assert(match) end def test_included grammar1 = Grammar.new { rule :a, 'a' } grammar2 = Grammar.new { include grammar1 rule :b, :a } match = grammar2.parse('a') assert(match) end def test_to_s rule = Alias.new(:alpha) assert_equal('alpha', rule.to_s) end end
Version data entries
7 entries across 7 versions & 1 rubygems