timecop 0.9.1 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
 - data/LICENSE +1 -1
 - data/lib/timecop/time_extensions.rb +11 -1
 - data/lib/timecop/timecop.rb +4 -1
 - data/lib/timecop/version.rb +1 -1
 - data/test/test_helper.rb +2 -1
 - data/test/time_stack_item_test.rb +2 -2
 - data/test/timecop_test.rb +26 -0
 - metadata +6 -8
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 2 
     | 
    
         
            +
            SHA256:
         
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 8e1bf57b28c2d86304d5ca7192fb44fab26457ea631ebe45d1361b4e8ad165e5
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: cbd98da4611a74dda4c377a89b25a9e66be575fde9278663a36386857f0b80db
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 5f3d6796ee0f520b1bcc6dfc3cd7251f8a9ae32b6079e29b7564418f9250da70bd3d39042c311d17e7f1507ff2a6522ece4a4160d6bb8170db820b6b60c9493d
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: bc5600d477a487a23892ffed0a57511aa66dfb188b8b6600ff82194afe8b38921ed869fc184f15584be18f7b1f8a68bebe15b9f96ee0628bd2bde60302cb4fc5
         
     | 
    
        data/LICENSE
    CHANGED
    
    
| 
         @@ -48,7 +48,17 @@ class Date #:nodoc: 
     | 
|
| 
       48 
48 
     | 
    
         
             
                      "supports Date::ITALY for the start argument."
         
     | 
| 
       49 
49 
     | 
    
         
             
                  end
         
     | 
| 
       50 
50 
     | 
    
         | 
| 
       51 
     | 
    
         
            -
                   
     | 
| 
      
 51 
     | 
    
         
            +
                  d = Date._strptime(str, fmt) || Date.strptime_without_mock_date(str, fmt)
         
     | 
| 
      
 52 
     | 
    
         
            +
                  now = Time.now.to_date
         
     | 
| 
      
 53 
     | 
    
         
            +
                  year = d[:year] || now.year
         
     | 
| 
      
 54 
     | 
    
         
            +
                  mon = d[:mon] || now.mon
         
     | 
| 
      
 55 
     | 
    
         
            +
                  if d[:mday]
         
     | 
| 
      
 56 
     | 
    
         
            +
                    Date.new(year, mon, d[:mday])
         
     | 
| 
      
 57 
     | 
    
         
            +
                  elsif d[:wday]
         
     | 
| 
      
 58 
     | 
    
         
            +
                    Date.new(year, mon, now.mday) + (d[:wday] - now.wday)
         
     | 
| 
      
 59 
     | 
    
         
            +
                  else
         
     | 
| 
      
 60 
     | 
    
         
            +
                    Date.new(year, mon, now.mday)
         
     | 
| 
      
 61 
     | 
    
         
            +
                  end
         
     | 
| 
       52 
62 
     | 
    
         
             
                end
         
     | 
| 
       53 
63 
     | 
    
         | 
| 
       54 
64 
     | 
    
         
             
                alias_method :strptime, :strptime_with_mock_date
         
     | 
    
        data/lib/timecop/timecop.rb
    CHANGED
    
    | 
         @@ -1,5 +1,4 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'singleton'
         
     | 
| 
       2 
     | 
    
         
            -
            require File.join(File.dirname(__FILE__), "time_extensions")
         
     | 
| 
       3 
2 
     | 
    
         
             
            require File.join(File.dirname(__FILE__), "time_stack_item")
         
     | 
| 
       4 
3 
     | 
    
         | 
| 
       5 
4 
     | 
    
         
             
            # Timecop
         
     | 
| 
         @@ -93,6 +92,7 @@ class Timecop 
     | 
|
| 
       93 
92 
     | 
    
         
             
                    nil
         
     | 
| 
       94 
93 
     | 
    
         
             
                  end
         
     | 
| 
       95 
94 
     | 
    
         
             
                end
         
     | 
| 
      
 95 
     | 
    
         
            +
                alias :unfreeze :return
         
     | 
| 
       96 
96 
     | 
    
         | 
| 
       97 
97 
     | 
    
         
             
                def return_to_baseline
         
     | 
| 
       98 
98 
     | 
    
         
             
                  instance.send(:return_to_baseline)
         
     | 
| 
         @@ -235,3 +235,6 @@ class Timecop 
     | 
|
| 
       235 
235 
     | 
    
         
             
                end
         
     | 
| 
       236 
236 
     | 
    
         
             
              end
         
     | 
| 
       237 
237 
     | 
    
         
             
            end
         
     | 
| 
      
 238 
     | 
    
         
            +
             
     | 
| 
      
 239 
     | 
    
         
            +
            # This must be done after TimeCop is available
         
     | 
| 
      
 240 
     | 
    
         
            +
            require File.join(File.dirname(__FILE__), "time_extensions")
         
     | 
    
        data/lib/timecop/version.rb
    CHANGED
    
    
    
        data/test/test_helper.rb
    CHANGED
    
    
| 
         @@ -181,7 +181,7 @@ class TestTimeStackItem < Minitest::Test 
     | 
|
| 
       181 
181 
     | 
    
         
             
                t = Time.local(2009, 10, 1, 0, 0, 30)
         
     | 
| 
       182 
182 
     | 
    
         
             
                tsi = Timecop::TimeStackItem.new(:freeze, t)
         
     | 
| 
       183 
183 
     | 
    
         | 
| 
       184 
     | 
    
         
            -
                 
     | 
| 
      
 184 
     | 
    
         
            +
                assert_nil tsi.send(:travel_offset)
         
     | 
| 
       185 
185 
     | 
    
         
             
              end
         
     | 
| 
       186 
186 
     | 
    
         | 
| 
       187 
187 
     | 
    
         
             
              def test_timezones
         
     | 
| 
         @@ -206,7 +206,7 @@ class TestTimeStackItem < Minitest::Test 
     | 
|
| 
       206 
206 
     | 
    
         
             
                time = Time.zone.local(2013,1,3)
         
     | 
| 
       207 
207 
     | 
    
         | 
| 
       208 
208 
     | 
    
         
             
                Timecop.freeze(time) do
         
     | 
| 
       209 
     | 
    
         
            -
                  assert_equal time.to_date, Time.now.to_date
         
     | 
| 
      
 209 
     | 
    
         
            +
                  assert_equal time.to_date, Time.zone.now.to_date
         
     | 
| 
       210 
210 
     | 
    
         
             
                end
         
     | 
| 
       211 
211 
     | 
    
         
             
              end
         
     | 
| 
       212 
212 
     | 
    
         | 
    
        data/test/timecop_test.rb
    CHANGED
    
    | 
         @@ -37,6 +37,12 @@ class TestTimecop < Minitest::Test 
     | 
|
| 
       37 
37 
     | 
    
         
             
                assert_nil Time.send(:mock_time)
         
     | 
| 
       38 
38 
     | 
    
         
             
              end
         
     | 
| 
       39 
39 
     | 
    
         | 
| 
      
 40 
     | 
    
         
            +
              def test_freeze_then_unfreeze_unsets_mock_time
         
     | 
| 
      
 41 
     | 
    
         
            +
                Timecop.freeze(1)
         
     | 
| 
      
 42 
     | 
    
         
            +
                Timecop.unfreeze
         
     | 
| 
      
 43 
     | 
    
         
            +
                assert_nil Time.send(:mock_time)
         
     | 
| 
      
 44 
     | 
    
         
            +
              end
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
       40 
46 
     | 
    
         
             
              def test_travel_then_return_unsets_mock_time
         
     | 
| 
       41 
47 
     | 
    
         
             
                Timecop.travel(1)
         
     | 
| 
       42 
48 
     | 
    
         
             
                Timecop.return
         
     | 
| 
         @@ -539,6 +545,26 @@ class TestTimecop < Minitest::Test 
     | 
|
| 
       539 
545 
     | 
    
         
             
                end
         
     | 
| 
       540 
546 
     | 
    
         
             
              end
         
     | 
| 
       541 
547 
     | 
    
         | 
| 
      
 548 
     | 
    
         
            +
              def test_date_strptime_with_day_of_week
         
     | 
| 
      
 549 
     | 
    
         
            +
                Timecop.freeze(Time.new(1984,2,28)) do
         
     | 
| 
      
 550 
     | 
    
         
            +
                  assert_equal Date.strptime('Thursday', '%A'), Date.new(1984, 3, 1)
         
     | 
| 
      
 551 
     | 
    
         
            +
                  assert_equal Date.strptime('Monday', '%A'), Date.new(1984, 2, 27)
         
     | 
| 
      
 552 
     | 
    
         
            +
                end
         
     | 
| 
      
 553 
     | 
    
         
            +
              end
         
     | 
| 
      
 554 
     | 
    
         
            +
             
     | 
| 
      
 555 
     | 
    
         
            +
              def test_date_strptime_with_invalid_date
         
     | 
| 
      
 556 
     | 
    
         
            +
                begin
         
     | 
| 
      
 557 
     | 
    
         
            +
                  Date.strptime('', '%Y-%m-%d')
         
     | 
| 
      
 558 
     | 
    
         
            +
                rescue ArgumentError => e
         
     | 
| 
      
 559 
     | 
    
         
            +
                  assert_equal 'invalid date', e.message
         
     | 
| 
      
 560 
     | 
    
         
            +
                end
         
     | 
| 
      
 561 
     | 
    
         
            +
              end
         
     | 
| 
      
 562 
     | 
    
         
            +
             
     | 
| 
      
 563 
     | 
    
         
            +
              def test_ancient_strptime
         
     | 
| 
      
 564 
     | 
    
         
            +
                ancient = Date.strptime('11-01-08', '%Y-%m-%d').strftime
         
     | 
| 
      
 565 
     | 
    
         
            +
                assert_equal '0011-01-08', ancient # Failed before fix to strptime_with_mock_date
         
     | 
| 
      
 566 
     | 
    
         
            +
              end
         
     | 
| 
      
 567 
     | 
    
         
            +
             
     | 
| 
       542 
568 
     | 
    
         
             
              def test_frozen_after_freeze
         
     | 
| 
       543 
569 
     | 
    
         
             
                Timecop.freeze
         
     | 
| 
       544 
570 
     | 
    
         
             
                assert Timecop.frozen?
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,15 +1,15 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: timecop
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.9. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.9.2
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Travis Jeffery
         
     | 
| 
       8 
8 
     | 
    
         
             
            - John Trupiano
         
     | 
| 
       9 
     | 
    
         
            -
            autorequire: 
     | 
| 
      
 9 
     | 
    
         
            +
            autorequire:
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date:  
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2020-10-14 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies: []
         
     | 
| 
       14 
14 
     | 
    
         
             
            description: A gem providing "time travel" and "time freezing" capabilities, making
         
     | 
| 
       15 
15 
     | 
    
         
             
              it dead simple to test time-dependent code.  It provides a unified method to mock
         
     | 
| 
         @@ -38,7 +38,7 @@ homepage: https://github.com/travisjeffery/timecop 
     | 
|
| 
       38 
38 
     | 
    
         
             
            licenses:
         
     | 
| 
       39 
39 
     | 
    
         
             
            - MIT
         
     | 
| 
       40 
40 
     | 
    
         
             
            metadata: {}
         
     | 
| 
       41 
     | 
    
         
            -
            post_install_message: 
     | 
| 
      
 41 
     | 
    
         
            +
            post_install_message:
         
     | 
| 
       42 
42 
     | 
    
         
             
            rdoc_options:
         
     | 
| 
       43 
43 
     | 
    
         
             
            - "--charset=UTF-8"
         
     | 
| 
       44 
44 
     | 
    
         
             
            require_paths:
         
     | 
| 
         @@ -54,9 +54,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       54 
54 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       55 
55 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       56 
56 
     | 
    
         
             
            requirements: []
         
     | 
| 
       57 
     | 
    
         
            -
             
     | 
| 
       58 
     | 
    
         
            -
             
     | 
| 
       59 
     | 
    
         
            -
            signing_key: 
         
     | 
| 
      
 57 
     | 
    
         
            +
            rubygems_version: 3.1.4
         
     | 
| 
      
 58 
     | 
    
         
            +
            signing_key:
         
     | 
| 
       60 
59 
     | 
    
         
             
            specification_version: 3
         
     | 
| 
       61 
60 
     | 
    
         
             
            summary: A gem providing "time travel" and "time freezing" capabilities, making it
         
     | 
| 
       62 
61 
     | 
    
         
             
              dead simple to test time-dependent code.  It provides a unified method to mock Time.now,
         
     | 
| 
         @@ -67,4 +66,3 @@ test_files: 
     | 
|
| 
       67 
66 
     | 
    
         
             
            - test/timecop_test.rb
         
     | 
| 
       68 
67 
     | 
    
         
             
            - test/timecop_without_date_test.rb
         
     | 
| 
       69 
68 
     | 
    
         
             
            - test/timecop_without_date_but_with_time_test.rb
         
     | 
| 
       70 
     | 
    
         
            -
            has_rdoc: 
         
     |