1require 'rubygems/test_case' 2require "rubygems/text" 3 4class TestGemText < Gem::TestCase 5 include Gem::Text 6 7 def test_format_text 8 assert_equal "text to\nwrap", format_text("text to wrap", 8) 9 end 10 11 def test_format_text_indent 12 assert_equal " text to\n wrap", format_text("text to wrap", 8, 2) 13 end 14 15 def test_format_text_none 16 assert_equal "text to wrap", format_text("text to wrap", 40) 17 end 18 19 def test_format_text_none_indent 20 assert_equal " text to wrap", format_text("text to wrap", 40, 2) 21 end 22 23 def test_format_text_trailing # for two spaces after . 24 text = <<-TEXT 25This line is really, really long. So long, in fact, that it is more than eighty characters long! The purpose of this line is for testing wrapping behavior because sometimes people don't wrap their text to eighty characters. Without the wrapping, the text might not look good in the RSS feed. 26 TEXT 27 28 expected = <<-EXPECTED 29This line is really, really long. So long, in fact, that it is more than 30eighty characters long! The purpose of this line is for testing wrapping 31behavior because sometimes people don't wrap their text to eighty characters. 32Without the wrapping, the text might not look good in the RSS feed. 33 EXPECTED 34 35 assert_equal expected, format_text(text, 78) 36 end 37 38 def test_levenshtein_distance_add 39 assert_equal 2, levenshtein_distance("zentest", "zntst") 40 assert_equal 2, levenshtein_distance("zntst", "zentest") 41 end 42 43 def test_levenshtein_distance_empty 44 assert_equal 5, levenshtein_distance("abcde", "") 45 assert_equal 5, levenshtein_distance("", "abcde") 46 end 47 48 def test_levenshtein_distance_remove 49 assert_equal 3, levenshtein_distance("zentest", "zentestxxx") 50 assert_equal 3, levenshtein_distance("zentestxxx", "zentest") 51 end 52 53 def test_levenshtein_distance_replace 54 assert_equal 2, levenshtein_distance("zentest", "ZenTest") 55 assert_equal 7, levenshtein_distance("xxxxxxx", "ZenTest") 56 assert_equal 7, levenshtein_distance("zentest", "xxxxxxx") 57 end 58end 59