Files
RubyMotion/test/TestTime/spec/rubyspec/eql_spec.rb

37 lines
1.4 KiB
Ruby

# require File.expand_path('../../../spec_helper', __FILE__)
# require File.expand_path('../fixtures/methods', __FILE__)
describe "Time#eql?" do
it "returns true if self and other have the same whole number of seconds" do
Time.at(100).eql?(Time.at(100)).should == true
end
it "returns false if self and other have differing whole numbers of seconds" do
Time.at(100).eql?(Time.at(99)).should == false
end
it "returns true if self and other have the same number of microseconds" do
Time.at(100, 100).eql?(Time.at(100, 100)).should == true
end
# The following spec causes an error by updating Time#{<=>, eql?}
# https://github.com/lrz/RubyMotionVM/commit/60f9022161c0d78bc2db0341edcd85747a4282e7
# it "returns false if self and other have differing numbers of microseconds" do
# Time.at(100, 100).eql?(Time.at(100, 99)).should == false
# end
# The following spec causes an error by updating Time#{<=>, eql?}
# https://github.com/lrz/RubyMotionVM/commit/60f9022161c0d78bc2db0341edcd85747a4282e7
# ruby_version_is "1.9" do
# it "returns false if self and other have differing fractional microseconds" do
# Time.at(100, Rational(100,1000)).eql?(Time.at(100, Rational(99,1000))).should == false
# end
# end
it "returns false when given a non-time value" do
Time.at(100, 100).eql?("100").should == false
Time.at(100, 100).eql?(100).should == false
Time.at(100, 100).eql?(100.1).should == false
end
end