fakefs 0.8.0 → 0.8.1
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 +4 -4
- data/README.markdown +41 -39
- data/lib/fakefs/file.rb +4 -0
- data/lib/fakefs/version.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: ed6afbd6cc78d88527ac85b6bb0017a737a29b32
         | 
| 4 | 
            +
              data.tar.gz: 79904ccdd7d7974cbda597ff28d986fda601ef83
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 72ba95d6739f30d35cb24735b20f94d919875bfe1576e43e51a868b7458e15e1978f52578f0ff4cb6b14c8da4b5a3d790577f8c6b70e0bb76998021156bb82ce
         | 
| 7 | 
            +
              data.tar.gz: 7fd93d529856d687558b60dc12b0a03056691b88673ca373f688615c0eee27b6a9fc71e0b7231d71c8dceb57542f852803cc055e54f0cc9243aa2557202d8812
         | 
    
        data/README.markdown
    CHANGED
    
    | @@ -1,49 +1,64 @@ | |
| 1 1 | 
             
            FakeFS [](https://secure.travis-ci.org/defunkt/fakefs)
         | 
| 2 2 | 
             
            ======
         | 
| 3 3 |  | 
| 4 | 
            -
             | 
| 5 | 
            -
            filesystem, you really want to test the behavior and not the implementation.
         | 
| 6 | 
            -
             | 
| 7 | 
            -
            If you're mocking and stubbing every call to FileUtils or File, you're
         | 
| 8 | 
            -
            tightly coupling your tests with the implementation.
         | 
| 4 | 
            +
            Mocking calls to FileUtils or File means tightly coupling tests with the implementation.
         | 
| 9 5 |  | 
| 10 6 | 
             
            ``` ruby
         | 
| 11 | 
            -
             | 
| 7 | 
            +
            it "creates a directory" do
         | 
| 12 8 | 
             
              FileUtils.expects(:mkdir).with("directory").once
         | 
| 13 9 | 
             
              Library.add "directory"
         | 
| 14 10 | 
             
            end
         | 
| 15 11 | 
             
            ```
         | 
| 16 12 |  | 
| 17 | 
            -
            The above test will break if  | 
| 18 | 
            -
            code  | 
| 13 | 
            +
            The above test will break if `mkdir_p` is used instead. 
         | 
| 14 | 
            +
            Refactoring code should not necessitate refactoring tests.
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            A better approach is to use a temp directory if you are working with relative directories.
         | 
| 17 | 
            +
             | 
| 18 | 
            +
            ```Ruby
         | 
| 19 | 
            +
            require 'tmpdir'
         | 
| 20 | 
            +
             | 
| 21 | 
            +
            it "creates a directory" do
         | 
| 22 | 
            +
              Dir.mktmpdir do |dir|
         | 
| 23 | 
            +
                Dir.chdir dir do
         | 
| 24 | 
            +
                  Library.add "directory"
         | 
| 25 | 
            +
                  assert File.directory?("directory")
         | 
| 26 | 
            +
                end
         | 
| 27 | 
            +
              end
         | 
| 28 | 
            +
            end
         | 
| 29 | 
            +
            ```
         | 
| 19 30 |  | 
| 20 | 
            -
             | 
| 31 | 
            +
            But if you are working with absolute directories or do not want to use temporary directories, use FakeFS instead:
         | 
| 21 32 |  | 
| 22 33 | 
             
            ``` ruby
         | 
| 23 | 
            -
             | 
| 24 | 
            -
               | 
| 25 | 
            -
             | 
| 34 | 
            +
            it "creates a directory" do
         | 
| 35 | 
            +
              FakeFS do
         | 
| 36 | 
            +
                Library.add "directory"
         | 
| 37 | 
            +
                assert File.directory?("directory")
         | 
| 38 | 
            +
              end
         | 
| 26 39 | 
             
            end
         | 
| 27 40 | 
             
            ```
         | 
| 28 41 |  | 
| 29 | 
            -
             | 
| 42 | 
            +
            Installation
         | 
| 43 | 
            +
            ------------
         | 
| 30 44 |  | 
| 45 | 
            +
            ```Bash
         | 
| 46 | 
            +
            gem install fakefs
         | 
| 47 | 
            +
            ```
         | 
| 31 48 |  | 
| 32 49 | 
             
            Usage
         | 
| 33 50 | 
             
            -----
         | 
| 34 51 |  | 
| 52 | 
            +
            To fake out the FS:
         | 
| 53 | 
            +
             | 
| 35 54 | 
             
            ``` ruby
         | 
| 36 55 | 
             
            require 'fakefs'
         | 
| 37 | 
            -
             | 
| 38 | 
            -
            # That's it.
         | 
| 39 56 | 
             
            ```
         | 
| 40 57 |  | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 58 | 
            +
            Temporarily faking the FS
         | 
| 59 | 
            +
            -------------------------
         | 
| 43 60 |  | 
| 44 61 | 
             
            ``` ruby
         | 
| 45 | 
            -
            gem "fakefs", :require => "fakefs/safe"
         | 
| 46 | 
            -
             | 
| 47 62 | 
             
            require 'fakefs/safe'
         | 
| 48 63 |  | 
| 49 64 | 
             
            FakeFS.activate!
         | 
| @@ -59,19 +74,16 @@ end | |
| 59 74 | 
             
            Rails
         | 
| 60 75 | 
             
            -----
         | 
| 61 76 |  | 
| 62 | 
            -
             | 
| 63 | 
            -
            to specify the following in your Gemfile:
         | 
| 77 | 
            +
            In rails projects, add this to your Gemfile:
         | 
| 64 78 |  | 
| 65 79 | 
             
            ``` ruby
         | 
| 66 | 
            -
            gem "fakefs", : | 
| 80 | 
            +
            gem "fakefs", require: "fakefs/safe"
         | 
| 67 81 | 
             
            ```
         | 
| 68 82 |  | 
| 69 | 
            -
             | 
| 70 83 | 
             
            RSpec
         | 
| 71 84 | 
             
            -----
         | 
| 72 85 |  | 
| 73 | 
            -
             | 
| 74 | 
            -
            FakeFS::SpecHelpers to turn FakeFS on and off in a given example group:
         | 
| 86 | 
            +
            Include FakeFS::SpecHelpers to turn FakeFS on and off in an example group:
         | 
| 75 87 |  | 
| 76 88 | 
             
            ``` ruby
         | 
| 77 89 | 
             
            require 'fakefs/spec_helpers'
         | 
| @@ -93,16 +105,14 @@ yourself on the equivalent FakeFS classes. For example, | |
| 93 105 | 
             
            A fake version can be provided as follows:
         | 
| 94 106 |  | 
| 95 107 | 
             
            ``` ruby
         | 
| 96 | 
            -
             | 
| 97 | 
            -
               | 
| 98 | 
            -
                 | 
| 99 | 
            -
                  'fake/file'
         | 
| 100 | 
            -
                end
         | 
| 108 | 
            +
            FakeFS::File.class_eval do
         | 
| 109 | 
            +
              def content_type
         | 
| 110 | 
            +
                'fake/file'
         | 
| 101 111 | 
             
              end
         | 
| 102 112 | 
             
            end
         | 
| 103 113 | 
             
            ```
         | 
| 104 114 |  | 
| 105 | 
            -
            How is this different than MockFS?
         | 
| 115 | 
            +
            How is this different than [MockFS](http://mockfs.rubyforge.org/) ?
         | 
| 106 116 | 
             
            ----------------------------------
         | 
| 107 117 |  | 
| 108 118 | 
             
            FakeFS provides a test suite and works with symlinks. It's also strictly a
         | 
| @@ -133,14 +143,6 @@ Speed? | |
| 133 143 | 
             
            <http://gist.github.com/156091>
         | 
| 134 144 |  | 
| 135 145 |  | 
| 136 | 
            -
            Installation
         | 
| 137 | 
            -
            ------------
         | 
| 138 | 
            -
             | 
| 139 | 
            -
            ### [RubyGems](https://rubygems.org/)
         | 
| 140 | 
            -
             | 
| 141 | 
            -
                $ gem install fakefs
         | 
| 142 | 
            -
             | 
| 143 | 
            -
             | 
| 144 146 | 
             
            Contributing
         | 
| 145 147 | 
             
            ------------
         | 
| 146 148 |  | 
    
        data/lib/fakefs/file.rb
    CHANGED
    
    
    
        data/lib/fakefs/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: fakefs
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.8. | 
| 4 | 
            +
              version: 0.8.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Chris Wanstrath
         | 
| @@ -12,7 +12,7 @@ authors: | |
| 12 12 | 
             
            autorequire: 
         | 
| 13 13 | 
             
            bindir: bin
         | 
| 14 14 | 
             
            cert_chain: []
         | 
| 15 | 
            -
            date: 2016- | 
| 15 | 
            +
            date: 2016-03-07 00:00:00.000000000 Z
         | 
| 16 16 | 
             
            dependencies:
         | 
| 17 17 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 18 18 | 
             
              name: bundler
         |