Merge commit '87a5e747f'

This commit is contained in:
Tom Preston-Werner 2009-01-02 12:27:25 -08:00
commit 23e97c1118
2 changed files with 48 additions and 1 deletions

View File

@ -20,5 +20,20 @@ module Jekyll
def number_of_words(input) def number_of_words(input)
input.split.length input.split.length
end end
def array_to_sentence_string(array)
connector = "and"
case array.length
when 0
""
when 1
array[0].to_s
when 2
"#{array[0]} #{connector} #{array[1]}"
else
"#{array[0...-1].join(', ')}, #{connector} #{array[-1]}"
end
end
end end
end end

32
test/test_filters.rb Normal file
View File

@ -0,0 +1,32 @@
require File.dirname(__FILE__) + '/helper'
class TestSite < Test::Unit::TestCase
class JekyllFilter
include Jekyll::Filters
end
def setup
@filter = JekyllFilter.new
end
def test_array_to_sentence_string_with_no_args
assert_equal "", @filter.array_to_sentence_string([])
end
def test_array_to_sentence_string_with_one_arg
assert_equal "1", @filter.array_to_sentence_string([1])
assert_equal "chunky", @filter.array_to_sentence_string(["chunky"])
end
def test_array_to_sentence_string_with_two_args
assert_equal "1 and 2", @filter.array_to_sentence_string([1, 2])
assert_equal "chunky and bacon", @filter.array_to_sentence_string(["chunky", "bacon"])
end
def test_array_to_sentence_string_with_multiple_args
assert_equal "1, 2, 3, and 4", @filter.array_to_sentence_string([1, 2, 3, 4])
assert_equal "chunky, bacon, bits, and pieces", @filter.array_to_sentence_string(["chunky", "bacon", "bits", "pieces"])
end
end