test/matchdata/tc_matchdata.rb in facets-0.6.3 vs test/matchdata/tc_matchdata.rb in facets-0.7.0

- old
+ new

@@ -1,10 +1,11 @@ require 'test/unit' require 'facet/matchdata/match' -require 'facet/matchdata/match_from' +require 'facet/matchdata/matchtree' +require 'facet/matchdata/matchset' class TC_MatchData < Test::Unit::TestCase # match @@ -12,36 +13,50 @@ def test_match md = /X(a)(b)(c)X/.match("YXabcXY") assert_equal( "XabcX", md.match ) end - # match_from - - def test_pre_match_from - md = /X(a)(b)(c)X/.match("YXabcXY") - assert_equal( md.pre_match, md.pre_match_from ) - assert_equal( md.pre_match, md.pre_match_from(0) ) - assert_equal( "Y", md.pre_match_from ) - assert_equal( "Y", md.pre_match_from(0) ) - assert_equal( "YX", md.pre_match_from(1) ) - assert_equal( "YXa", md.pre_match_from(2) ) - assert_equal( "YXab", md.pre_match_from(3) ) - assert_equal( "YXab", md.pre_match_from(-1) ) - assert_equal( "YXa", md.pre_match_from(-2) ) - assert_equal( "YX", md.pre_match_from(-3) ) + # matchtree + + def test_matchtree + md = /(bb)(cc(dd))(ee)/.match "XXaabbccddeeffXX" + assert_equal( [["bb"], ["cc", ["dd"]], ["ee"]] , md.matchtree ) end + + # matchset - def test_post_match_from - md = /X(a)(b)(c)X/.match("YXabcXY") - assert_equal( md.post_match, md.post_match_from ) - assert_equal( md.post_match, md.post_match_from(0) ) - assert_equal( "Y", md.post_match_from ) - assert_equal( "Y", md.post_match_from(0) ) - assert_equal( "bcXY", md.post_match_from(1) ) - assert_equal( "cXY", md.post_match_from(2) ) - assert_equal( "XY", md.post_match_from(3) ) - assert_equal( "XY", md.post_match_from(-1) ) - assert_equal( "cXY", md.post_match_from(-2) ) - assert_equal( "bcXY", md.post_match_from(-3) ) + def test_matchset + md = /(bb)(cc(dd))(ee)/.match "XXaabbccddeeffXX" + assert_equal( ["XXaa", [["bb"], ["cc", ["dd"]], ["ee"]], "ffXX"] , md.matchset ) end + +# # match_from +# +# def test_pre_match_from +# md = /X(a)(b)(c)X/.match("YXabcXY") +# assert_equal( md.pre_match, md.pre_match_from ) +# assert_equal( md.pre_match, md.pre_match_from(0) ) +# assert_equal( "Y", md.pre_match_from ) +# assert_equal( "Y", md.pre_match_from(0) ) +# assert_equal( "YX", md.pre_match_from(1) ) +# assert_equal( "YXa", md.pre_match_from(2) ) +# assert_equal( "YXab", md.pre_match_from(3) ) +# assert_equal( "YXab", md.pre_match_from(-1) ) +# assert_equal( "YXa", md.pre_match_from(-2) ) +# assert_equal( "YX", md.pre_match_from(-3) ) +# end +# +# def test_post_match_from +# md = /X(a)(b)(c)X/.match("YXabcXY") +# assert_equal( md.post_match, md.post_match_from ) +# assert_equal( md.post_match, md.post_match_from(0) ) +# assert_equal( "Y", md.post_match_from ) +# assert_equal( "Y", md.post_match_from(0) ) +# assert_equal( "bcXY", md.post_match_from(1) ) +# assert_equal( "cXY", md.post_match_from(2) ) +# assert_equal( "XY", md.post_match_from(3) ) +# assert_equal( "XY", md.post_match_from(-1) ) +# assert_equal( "cXY", md.post_match_from(-2) ) +# assert_equal( "bcXY", md.post_match_from(-3) ) +# end end