aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/core_ext/regexp_ext_test.rb
blob: e2d9140bca1e12c0324da16e62b4d814b70596d3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class RegexpExtAccessTests < Test::Unit::TestCase
  def test_number_of_captures
    assert_equal 0, //.number_of_captures
    assert_equal 1, /.(.)./.number_of_captures
    assert_equal 2, /.(.).(?:.).(.)/.number_of_captures
    assert_equal 3, /.((.).(?:.).(.))/.number_of_captures
  end

  def test_multiline
    assert_equal true, //m.multiline?
    assert_equal false, //.multiline?
    assert_equal false, /(?m:)/.multiline?
  end

  def test_optionalize
    assert_equal "a?", Regexp.optionalize("a")
    assert_equal "(?:foo)?", Regexp.optionalize("foo")
    assert_equal "", Regexp.optionalize("")
  end

  def test_unoptionalize
    assert_equal "a", Regexp.unoptionalize("a?")
    assert_equal "foo", Regexp.unoptionalize("(?:foo)?")
    assert_equal "", Regexp.unoptionalize("")
  end
end