mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
52 lines
1.3 KiB
Ruby
52 lines
1.3 KiB
Ruby
require_relative '../../spec_helper'
|
|
require 'date'
|
|
|
|
describe "DateTime.new" do
|
|
it "sets all values to default if passed no arguments" do
|
|
d = DateTime.new
|
|
d.year.should == -4712
|
|
d.month.should == 1
|
|
d.day.should == 1
|
|
d.hour.should == 0
|
|
d.min.should == 0
|
|
d.sec.should == 0
|
|
d.sec_fraction.should == 0
|
|
d.offset.should == 0
|
|
end
|
|
|
|
it "takes the first argument as year" do
|
|
DateTime.new(2011).year.should == 2011
|
|
end
|
|
|
|
it "takes the second argument as month" do
|
|
DateTime.new(2011, 2).month.should == 2
|
|
end
|
|
|
|
it "takes the third argument as day" do
|
|
DateTime.new(2011, 2, 3).day.should == 3
|
|
end
|
|
|
|
it "takes the forth argument as hour" do
|
|
DateTime.new(2011, 2, 3, 4).hour.should == 4
|
|
end
|
|
|
|
it "takes the fifth argument as minute" do
|
|
DateTime.new(1, 2, 3, 4, 5).min.should == 5
|
|
end
|
|
|
|
it "takes the sixth argument as second" do
|
|
DateTime.new(1, 2, 3, 4, 5, 6).sec.should == 6
|
|
end
|
|
|
|
it "takes the seventh argument as an offset" do
|
|
DateTime.new(1, 2, 3, 4, 5, 6, 0.7).offset.should == 0.7
|
|
end
|
|
|
|
it "takes the eighth argument as the date of calendar reform" do
|
|
DateTime.new(1, 2, 3, 4, 5, 6, 0.7, Date::ITALY).start().should == Date::ITALY
|
|
end
|
|
|
|
it "raises an error on invalid arguments" do
|
|
-> { new_datetime(minute: 999) }.should raise_error(ArgumentError)
|
|
end
|
|
end
|