Sha256: 58a36abddc7d285c2d44217653d603e947e0df00da288c31cf27afc660172d92

Contents?: true

Size: 1.39 KB

Versions: 9

Compression:

Stored size: 1.39 KB

Contents

require File.expand_path("../../helpers", __FILE__)

class ExpressionToH < Test::Unit::TestCase

  def test_expression_to_h
    root = RP.parse('abc')

    hash = root.to_h

    assert_equal hash, {
      :token             => :root,
      :type              => :expression,
      :text              => 'abc',
      :starts_at         => 0,
      :length            => 3,
      :quantifier        => nil,
      :options           => {},
      :level             => nil,
      :set_level         => nil,
      :conditional_level => nil,
      :expressions       => [
        {
          :token             => :literal,
          :type              => :literal,
          :text              => 'abc',
          :starts_at         => 0,
          :length            => 3,
          :quantifier        => nil,
          :options           => {},
          :level             => 0,
          :set_level         => 0,
          :conditional_level => 0
        }
      ]
    }
  end

  def test_expression_quantifier_to_h
    root = RP.parse('a{2,4}')
    exp  = root.expressions.at(0)

    hash = exp.quantifier.to_h

    assert_equal hash, {
      :max   => 4,
      :min   => 2,
      :mode  => :greedy,
      :text  => '{2,4}',
      :token => :interval
    }
  end

  # regression test
  def test_conditional_expression_to_h
    root = RP.parse('(?<A>a)(?(<A>)b|c)', 'ruby/2.0')

    assert_nothing_raised { root.to_h }
  end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
tdiary-5.0.13 vendor/bundle/gems/regexp_parser-1.3.0/test/expression/test_to_h.rb
regexp_parser-1.4.0 test/expression/test_to_h.rb
tdiary-5.0.12.1 vendor/bundle/gems/regexp_parser-1.3.0/test/expression/test_to_h.rb
tdiary-5.0.11 vendor/bundle/gems/regexp_parser-1.3.0/test/expression/test_to_h.rb
regexp_parser-1.3.0 test/expression/test_to_h.rb
regexp_parser-1.2.0 test/expression/test_to_h.rb
regexp_parser-1.1.0 test/expression/test_to_h.rb
regexp_parser-1.0.0 test/expression/test_to_h.rb
regexp_parser-0.5.0 test/expression/test_to_h.rb