Merge pull request #5101 from crispgm/dev_to_integer_filter
Merge pull request 5101
This commit is contained in:
commit
3ae7d0c319
|
@ -260,6 +260,17 @@ module Jekyll
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Convert the input into integer
|
||||||
|
#
|
||||||
|
# input - the object string
|
||||||
|
#
|
||||||
|
# Returns the integer value
|
||||||
|
def to_integer(input)
|
||||||
|
return 1 if input == true
|
||||||
|
return 0 if input == false
|
||||||
|
input.to_i
|
||||||
|
end
|
||||||
|
|
||||||
# Sort an array of objects
|
# Sort an array of objects
|
||||||
#
|
#
|
||||||
# input - the object array
|
# input - the object array
|
||||||
|
|
|
@ -26,6 +26,7 @@ class TestFilters < JekyllUnitTest
|
||||||
@sample_date = Date.parse("2013-03-27")
|
@sample_date = Date.parse("2013-03-27")
|
||||||
@time_as_string = "September 11, 2001 12:46:30 -0000"
|
@time_as_string = "September 11, 2001 12:46:30 -0000"
|
||||||
@time_as_numeric = 1_399_680_607
|
@time_as_numeric = 1_399_680_607
|
||||||
|
@integer_as_string = "142857"
|
||||||
@array_of_objects = [
|
@array_of_objects = [
|
||||||
{ "color" => "red", "size" => "large" },
|
{ "color" => "red", "size" => "large" },
|
||||||
{ "color" => "red", "size" => "medium" },
|
{ "color" => "red", "size" => "medium" },
|
||||||
|
@ -235,6 +236,13 @@ class TestFilters < JekyllUnitTest
|
||||||
@filter.date_to_rfc822(@time_as_string)
|
@filter.date_to_rfc822(@time_as_string)
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "convert a String to Integer" do
|
||||||
|
assert_equal(
|
||||||
|
142_857,
|
||||||
|
@filter.to_integer(@integer_as_string)
|
||||||
|
)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "with a Numeric object" do
|
context "with a Numeric object" do
|
||||||
|
@ -635,6 +643,28 @@ class TestFilters < JekyllUnitTest
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "to_integer filter" do
|
||||||
|
should "raise Exception when input is not integer or string" do
|
||||||
|
assert_raises NoMethodError do
|
||||||
|
@filter.to_integer([1, 2])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
should "return 0 when input is nil" do
|
||||||
|
assert_equal 0, @filter.to_integer(nil)
|
||||||
|
end
|
||||||
|
should "return integer when input is boolean" do
|
||||||
|
assert_equal 0, @filter.to_integer(false)
|
||||||
|
assert_equal 1, @filter.to_integer(true)
|
||||||
|
end
|
||||||
|
should "return integers" do
|
||||||
|
assert_equal 0, @filter.to_integer(0)
|
||||||
|
assert_equal 1, @filter.to_integer(1)
|
||||||
|
assert_equal 1, @filter.to_integer(1.42857)
|
||||||
|
assert_equal(-1, @filter.to_integer(-1))
|
||||||
|
assert_equal(-1, @filter.to_integer(-1.42857))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context "inspect filter" do
|
context "inspect filter" do
|
||||||
should "return a HTML-escaped string representation of an object" do
|
should "return a HTML-escaped string representation of an object" do
|
||||||
assert_equal "{"<a>"=>1}", @filter.inspect({ "<a>" => 1 })
|
assert_equal "{"<a>"=>1}", @filter.inspect({ "<a>" => 1 })
|
||||||
|
|
Loading…
Reference in New Issue