summaryrefslogtreecommitdiff
path: root/spec/ruby/core/time/succ_spec.rb
blob: fa6343f8e2d23621ee2b6fce72c7b797038f24dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
ruby_version_is ""..."3.0" do
  require_relative '../../spec_helper'
  require_relative 'fixtures/classes'

  describe "Time#succ" do
    it "returns a new time one second later than time" do
      suppress_warning {
        @result = Time.at(100).succ
      }

      @result.should == Time.at(101)
    end

    it "returns a new instance" do
      time = Time.at(100)

      suppress_warning {
        @result = time.succ
      }

      @result.should_not equal time
    end

    it "is obsolete" do
      -> {
        Time.at(100).succ
      }.should complain(/Time#succ is obsolete/)
    end

    ruby_version_is "2.6" do
      context "zone is a timezone object" do
        it "preserves time zone" do
          zone = TimeSpecs::Timezone.new(offset: (5*3600+30*60))
          time = Time.new(2012, 1, 1, 12, 0, 0, zone) - 1

          time.zone.should == zone
        end
      end
    end
  end
end