From c6e9c28fd23488c89266a7344709601717e00c79 Mon Sep 17 00:00:00 2001 From: Herwin Date: Mon, 13 Nov 2023 20:56:42 +0100 Subject: [PATCH] Extend specs for Date.iso8601 Include a few invalid inputs, mostly to illustrate the difference between `Date.iso8601` and `Date._iso8601` --- library/date/iso8601_spec.rb | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/library/date/iso8601_spec.rb b/library/date/iso8601_spec.rb index a29652014e..af66845a6b 100644 --- a/library/date/iso8601_spec.rb +++ b/library/date/iso8601_spec.rb @@ -22,6 +22,18 @@ d.should == Date.civil(-4712, 1, 1) end + it "raises a Date::Error if the argument is a invalid Date" do + -> { + Date.iso8601('invalid') + }.should raise_error(Date::Error, "invalid date") + end + + it "raises a Date::Error when passed a nil" do + -> { + Date.iso8601(nil) + }.should raise_error(Date::Error, "invalid date") + end + it "raises a TypeError when passed an Object" do -> { Date.iso8601(Object.new) }.should raise_error(TypeError) end @@ -32,4 +44,13 @@ h = Date._iso8601('invalid') h.should == {} end + + it "returns an empty hash if the argument is nil" do + h = Date._iso8601(nil) + h.should == {} + end + + it "raises a TypeError when passed an Object" do + -> { Date._iso8601(Object.new) }.should raise_error(TypeError) + end end