Sha256: 69507b2afc691bfe2780b0526db99b3af4bc04744d843bebda0b15bc1a987cfb
Contents?: true
Size: 1.18 KB
Versions: 83
Compression:
Stored size: 1.18 KB
Contents
# encoding: UTF-8 require File.expand_path('../helper', __FILE__) class ParseErrorTest < Test::Unit::TestCase Sentence = Grammar.new do include Words rule :sentence do all(:capital_word, one_or_more([ :space, :word ]), :period) end rule :capital_word do all(/[A-Z]/, zero_or_more(:alpha)) end rule :space do one_or_more(any(" ", "\n", "\r\n")) end rule :period, '.' end def test_basic begin TestGrammar.parse('#') rescue ParseError => e assert_equal(0, e.offset) assert_equal('#', e.line) assert_equal(1, e.line_number) assert_equal(0, e.line_offset) end end def test_single_line begin Sentence.parse('Once upon ä time.') rescue ParseError => e assert_equal(10, e.offset) assert_equal('Once upon ä time.', e.line) assert_equal(1, e.line_number) assert_equal(10, e.line_offset) end end def test_multi_line begin Sentence.parse("Once\nupon a\r\ntim3.") rescue ParseError => e assert_equal(16, e.offset) assert_equal('tim3.', e.line) assert_equal(3, e.line_number) assert_equal(3, e.line_offset) end end end
Version data entries
83 entries across 83 versions & 2 rubygems
Version | Path |
---|---|
citrus-2.3.5 | test/parse_error_test.rb |
citrus-2.3.4 | test/parse_error_test.rb |
citrus-2.3.3 | test/parse_error_test.rb |