1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/test_abbrev.rb
knu 4078d42b72 Fix a line matching problem in Abbrev.abbrev(words, "prefix").
* lib/abbrev.rb (Abbrev#abbrev): A fixed string prefix pattern
  should only match the beginning of each word, not the beginning
  of every line in it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 03:56:28 +00:00

54 lines
1.3 KiB
Ruby

require 'test/unit'
require 'abbrev'
class TestAbbrev < Test::Unit::TestCase
def test_abbrev
words = %w[summer winter win ruby rules]
assert_equal({
"rub" => "ruby",
"ruby" => "ruby",
"rul" => "rules",
"rule" => "rules",
"rules" => "rules",
"s" => "summer",
"su" => "summer",
"sum" => "summer",
"summ" => "summer",
"summe" => "summer",
"summer" => "summer",
"win" => "win",
"wint" => "winter",
"winte" => "winter",
"winter" => "winter",
}, words.abbrev)
assert_equal({
"rub" => "ruby",
"ruby" => "ruby",
"rul" => "rules",
"rule" => "rules",
"rules" => "rules",
}, words.abbrev('ru'))
assert_equal words.abbrev, Abbrev.abbrev(words)
assert_equal words.abbrev('ru'), Abbrev.abbrev(words, 'ru')
end
def test_abbrev_lf
words = ["abc", "abc\nd", "de"]
assert_equal({
"abc" => "abc",
"abc\n" => "abc\nd",
"abc\nd" => "abc\nd",
"d" => "de",
"de" => "de",
}, words.abbrev)
assert_equal({
"d" => "de",
"de" => "de",
}, words.abbrev('d'))
end
end