From 8c5b60eb22d6d661e87992a65d54e3a5bc0aeed4 Mon Sep 17 00:00:00 2001 From: eregon Date: Sat, 28 Oct 2017 15:15:48 +0000 Subject: Update to ruby/spec@a6b8805 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- spec/ruby/library/datetime/new_spec.rb | 2 +- spec/ruby/library/datetime/now_spec.rb | 17 +++++++++++++ spec/ruby/library/datetime/to_date_spec.rb | 33 +++++++++++++++++++++++++- spec/ruby/library/datetime/to_datetime_spec.rb | 5 +++- spec/ruby/library/datetime/to_s_spec.rb | 13 +++++++++- spec/ruby/library/datetime/to_time_spec.rb | 22 ++++++++++++++++- 6 files changed, 87 insertions(+), 5 deletions(-) (limited to 'spec/ruby/library/datetime') diff --git a/spec/ruby/library/datetime/new_spec.rb b/spec/ruby/library/datetime/new_spec.rb index a8275a1951..14ef329d56 100644 --- a/spec/ruby/library/datetime/new_spec.rb +++ b/spec/ruby/library/datetime/new_spec.rb @@ -42,7 +42,7 @@ describe "DateTime.new" do DateTime.new(1, 2, 3, 4, 5, 6, 0.7).offset.should == 0.7 end - it "takes the eigth argument as the date of calendar reform" do + 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 diff --git a/spec/ruby/library/datetime/now_spec.rb b/spec/ruby/library/datetime/now_spec.rb index e8c93aa604..a5bf590aff 100644 --- a/spec/ruby/library/datetime/now_spec.rb +++ b/spec/ruby/library/datetime/now_spec.rb @@ -5,4 +5,21 @@ describe "DateTime.now" do it "creates an instance of DateTime" do DateTime.now.should be_an_instance_of(DateTime) end + + it "sets the current date" do + (DateTime.now - Date.today).to_f.should be_close(0.0, 1.0) + end + + it "sets the current time" do + dt = DateTime.now + now = Time.now + (dt.to_time - now).should be_close(0.0, 10.0) + end + + it "grabs the local timezone" do + with_timezone("PDT", -8) do + dt = DateTime.now + dt.zone.should == "-08:00" + end + end end diff --git a/spec/ruby/library/datetime/to_date_spec.rb b/spec/ruby/library/datetime/to_date_spec.rb index 915e1ac87a..387eda9229 100644 --- a/spec/ruby/library/datetime/to_date_spec.rb +++ b/spec/ruby/library/datetime/to_date_spec.rb @@ -2,5 +2,36 @@ require File.expand_path('../../../spec_helper', __FILE__) require 'date' describe "DateTime#to_date" do - it "needs to be reviewed for spec completeness" + it "returns an instance of Date" do + dt = DateTime.new(2012, 12, 24, 12, 23, 00, '+05:00') + dt.to_date.should be_kind_of(Date) + end + + it "maintains the same year" do + dt = DateTime.new(2012, 12, 24, 12, 23, 00, '+05:00') + dt.to_date.year.should == dt.year + end + + it "maintains the same month" do + dt = DateTime.new(2012, 12, 24, 12, 23, 00, '+05:00') + dt.to_date.mon.should == dt.mon + end + + it "maintains the same day" do + dt = DateTime.new(2012, 12, 24, 12, 23, 00, '+05:00') + dt.to_date.day.should == dt.day + end + + it "maintains the same mday" do + dt = DateTime.new(2012, 12, 24, 12, 23, 00, '+05:00') + dt.to_date.mday.should == dt.mday + end + + it "maintains the same julian day regardless of local time or zone" do + dt = DateTime.new(2012, 12, 24, 12, 23, 00, '+05:00') + + with_timezone("Pactific/Pago_Pago", -11) do + dt.to_date.jd.should == dt.jd + end + end end diff --git a/spec/ruby/library/datetime/to_datetime_spec.rb b/spec/ruby/library/datetime/to_datetime_spec.rb index e289f8ce36..e4db9558f1 100644 --- a/spec/ruby/library/datetime/to_datetime_spec.rb +++ b/spec/ruby/library/datetime/to_datetime_spec.rb @@ -2,5 +2,8 @@ require File.expand_path('../../../spec_helper', __FILE__) require 'date' describe "DateTime#to_datetime" do - it "needs to be reviewed for spec completeness" + it "returns itself" do + dt = DateTime.new(2012, 12, 24, 12, 23, 00, '+05:00') + dt.to_datetime.should == dt + end end diff --git a/spec/ruby/library/datetime/to_s_spec.rb b/spec/ruby/library/datetime/to_s_spec.rb index 893cc93283..9d9dfc629f 100644 --- a/spec/ruby/library/datetime/to_s_spec.rb +++ b/spec/ruby/library/datetime/to_s_spec.rb @@ -2,5 +2,16 @@ require File.expand_path('../../../spec_helper', __FILE__) require 'date' describe "DateTime#to_s" do - it "needs to be reviewed for spec completeness" + it "returns a new String object" do + dt = DateTime.new(2012, 12, 24, 1, 2, 3, "+03:00") + dt.to_s.should be_kind_of(String) + end + + it "maintains timezone regardless of local time" do + dt = DateTime.new(2012, 12, 24, 1, 2, 3, "+03:00") + + with_timezone("Pactific/Pago_Pago", -11) do + dt.to_s.should == "2012-12-24T01:02:03+03:00" + end + end end diff --git a/spec/ruby/library/datetime/to_time_spec.rb b/spec/ruby/library/datetime/to_time_spec.rb index aa2902930c..f5b7cb8a23 100644 --- a/spec/ruby/library/datetime/to_time_spec.rb +++ b/spec/ruby/library/datetime/to_time_spec.rb @@ -2,5 +2,25 @@ require File.expand_path('../../../spec_helper', __FILE__) require 'date' describe "DateTime#to_time" do - it "needs to be reviewed for spec completeness" + it "yields a new Time object" do + DateTime.now.to_time.should be_kind_of(Time) + end + + ruby_version_is "2.4" do + it "preserves the same time regardless of local time or zone" do + date = DateTime.new(2012, 12, 24, 12, 23, 00, '+03:00') + + with_timezone("Pactific/Pago_Pago", -11) do + time = date.to_time + + time.utc_offset.should == 3 * 3600 + time.year.should == date.year + time.mon.should == date.mon + time.day.should == date.day + time.hour.should == date.hour + time.min.should == date.min + time.sec.should == date.sec + end + end + end end -- cgit v1.2.3