timecop 0.4.6 → 0.5.0
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.
- data/History.rdoc +15 -0
- data/VERSION.yml +2 -2
- data/lib/timecop/timecop.rb +9 -9
- data/test/timecop_test.rb +20 -15
- metadata +4 -4
    
        data/History.rdoc
    CHANGED
    
    | @@ -1,3 +1,18 @@ | |
| 1 | 
            +
            === 0.5.0 / 2012-09-12
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            * Maintenance
         | 
| 4 | 
            +
              * Timecop#travel, Timecop#freeze blocks return nil or block value
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            === 0.4.6 / 2012-09-05
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            * Maintenance
         | 
| 9 | 
            +
              * Fix rounding support for Ruby < 1.9
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            === 0.4.5 / 2012-08-09
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            * Maintenance
         | 
| 14 | 
            +
              * Subclasses of Time/Date/DateTime now return proper instances
         | 
| 15 | 
            +
             | 
| 1 16 | 
             
            === 0.4.4 / 2012-07-29
         | 
| 2 17 |  | 
| 3 18 | 
             
            * Maintenance
         | 
    
        data/VERSION.yml
    CHANGED
    
    
    
        data/lib/timecop/timecop.rb
    CHANGED
    
    | @@ -47,10 +47,11 @@ class Timecop | |
| 47 47 | 
             
                #   which will lead to files being generated with the timestamp set by the Timecop.freeze call
         | 
| 48 48 | 
             
                #   in your dev environment
         | 
| 49 49 | 
             
                #
         | 
| 50 | 
            -
                # Returns the  | 
| 50 | 
            +
                # Returns the value of the block or nil.
         | 
| 51 51 | 
             
                def freeze(*args, &block)
         | 
| 52 | 
            -
                  instance().send(:travel, :freeze, *args, &block)
         | 
| 53 | 
            -
             | 
| 52 | 
            +
                  val = instance().send(:travel, :freeze, *args, &block)
         | 
| 53 | 
            +
             | 
| 54 | 
            +
                  block_given? ? val : nil
         | 
| 54 55 | 
             
                end
         | 
| 55 56 |  | 
| 56 57 | 
             
                # Allows you to run a block of code and "fake" a time throughout the execution of that block.
         | 
| @@ -59,10 +60,11 @@ class Timecop | |
| 59 60 | 
             
                # * Note: Timecop.travel will not freeze time (as opposed to Timecop.freeze).  This is a particularly
         | 
| 60 61 | 
             
                #   good candidate for use in environment files in rails projects.
         | 
| 61 62 | 
             
                #
         | 
| 62 | 
            -
                # Returns the  | 
| 63 | 
            +
                # Returns the value of the block or nil.
         | 
| 63 64 | 
             
                def travel(*args, &block)
         | 
| 64 | 
            -
                  instance().send(:travel, :travel, *args, &block)
         | 
| 65 | 
            -
             | 
| 65 | 
            +
                  val = instance().send(:travel, :travel, *args, &block)
         | 
| 66 | 
            +
             | 
| 67 | 
            +
                  block_given? ? val : nil
         | 
| 66 68 | 
             
                end
         | 
| 67 69 |  | 
| 68 70 | 
             
                def baseline
         | 
| @@ -74,11 +76,9 @@ class Timecop | |
| 74 76 | 
             
                end
         | 
| 75 77 |  | 
| 76 78 | 
             
                # Reverts back to system's Time.now, Date.today and DateTime.now (if it exists).
         | 
| 77 | 
            -
                #
         | 
| 78 | 
            -
                # Returns Time.now, which is now the real current time.
         | 
| 79 79 | 
             
                def return
         | 
| 80 80 | 
             
                  instance().send(:unmock!)
         | 
| 81 | 
            -
                   | 
| 81 | 
            +
                  nil
         | 
| 82 82 | 
             
                end
         | 
| 83 83 |  | 
| 84 84 | 
             
                def return_to_baseline
         | 
    
        data/test/timecop_test.rb
    CHANGED
    
    | @@ -324,29 +324,34 @@ class TestTimecop < Test::Unit::TestCase | |
| 324 324 | 
             
                assert_nil Time.send(:mock_time)
         | 
| 325 325 | 
             
              end
         | 
| 326 326 |  | 
| 327 | 
            -
              def  | 
| 328 | 
            -
                 | 
| 329 | 
            -
                 | 
| 330 | 
            -
             | 
| 327 | 
            +
              def test_travel_time_returns_nil
         | 
| 328 | 
            +
                t_future = Time.local(2030, 10, 10, 10, 10, 10)
         | 
| 329 | 
            +
                assert_nil Timecop.travel(t_future)
         | 
| 330 | 
            +
              end
         | 
| 331 | 
            +
             | 
| 332 | 
            +
              def test_travel_time_with_block_returns_the_value_of_the_block
         | 
| 333 | 
            +
                t_future = Time.local(2030, 10, 10, 10, 10, 10)
         | 
| 334 | 
            +
                expected = :foo
         | 
| 335 | 
            +
                actual = Timecop.travel(t_future) { expected }
         | 
| 336 | 
            +
             | 
| 337 | 
            +
                assert_equal expected, actual
         | 
| 331 338 | 
             
              end
         | 
| 332 339 |  | 
| 333 | 
            -
              def  | 
| 340 | 
            +
              def test_freeze_time_returns_nil
         | 
| 334 341 | 
             
                t_future = Time.local(2030, 10, 10, 10, 10, 10)
         | 
| 335 | 
            -
                 | 
| 336 | 
            -
                assert times_effectively_equal(t_future, t_travel)
         | 
| 342 | 
            +
                assert_nil Timecop.freeze(t_future)
         | 
| 337 343 | 
             
              end
         | 
| 338 344 |  | 
| 339 | 
            -
              def  | 
| 345 | 
            +
              def test_freeze_time_with_block_returns_the_value_of_the_block
         | 
| 340 346 | 
             
                t_future = Time.local(2030, 10, 10, 10, 10, 10)
         | 
| 341 | 
            -
                 | 
| 342 | 
            -
                 | 
| 347 | 
            +
                expected = :foo
         | 
| 348 | 
            +
                actual = Timecop.freeze(t_future) { expected }
         | 
| 349 | 
            +
             | 
| 350 | 
            +
                assert_equal expected, actual
         | 
| 343 351 | 
             
              end
         | 
| 344 352 |  | 
| 345 | 
            -
              def  | 
| 346 | 
            -
                 | 
| 347 | 
            -
                Timecop.freeze Time.local(2030, 10, 10, 10, 10, 10)
         | 
| 348 | 
            -
                t_return = Timecop.return
         | 
| 349 | 
            -
                assert times_effectively_equal(t_real, t_return)
         | 
| 353 | 
            +
              def test_return_returns_nil
         | 
| 354 | 
            +
                assert_nil Timecop.return
         | 
| 350 355 | 
             
              end
         | 
| 351 356 |  | 
| 352 357 | 
             
              def test_freeze_without_params
         | 
    
        metadata
    CHANGED
    
    | @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: timecop
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash:  | 
| 4 | 
            +
              hash: 11
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 0
         | 
| 8 | 
            -
              -  | 
| 9 | 
            -
              -  | 
| 10 | 
            -
              version: 0. | 
| 8 | 
            +
              - 5
         | 
| 9 | 
            +
              - 0
         | 
| 10 | 
            +
              version: 0.5.0
         | 
| 11 11 | 
             
            platform: ruby
         | 
| 12 12 | 
             
            authors: 
         | 
| 13 13 | 
             
            - Travis Jeffery
         |