given_filesystem 0.1.2 → 0.2.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.
- checksums.yaml +4 -4
- data/.travis.yml +1 -2
- data/given_filesystem.gemspec +3 -1
- data/lib/given_filesystem.rb +10 -3
- data/spec/given_filesystem_spec.rb +14 -12
- data/spec/given_filesystem_spec_helpers_spec.rb +5 -0
- data/spec/spec_helper.rb +2 -4
- data/spec/support/matchers/file_location_matcher.rb +8 -0
- metadata +11 -10
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 06be97bc39f061126037e6f7ed7e21581bdce16b
         | 
| 4 | 
            +
              data.tar.gz: 1abc20b941f24f30f7caea95065126f286bb99f6
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 2bc0d5f0bb84bcdc9b8c512942c894640eeb76b7eff4546401775fe57c073a7f6ea3ef9deb9298fccc642a45e0d275b4e8e65a9af60e88faa641f02362d8675f
         | 
| 7 | 
            +
              data.tar.gz: 548e6eb38db34e22bd4ffee2577466dd20d7c14ea93ee37043734b4a6f064f6f5d8f81670ec13ba35b03b79478ceec42d4da369cb1b678b2b3b3f8bc2f84af46
         | 
    
        data/.travis.yml
    CHANGED
    
    
    
        data/given_filesystem.gemspec
    CHANGED
    
    
    
        data/lib/given_filesystem.rb
    CHANGED
    
    | @@ -35,16 +35,19 @@ class GivenFilesystem | |
| 35 35 | 
             
                end
         | 
| 36 36 | 
             
              end
         | 
| 37 37 |  | 
| 38 | 
            -
              def directory  | 
| 38 | 
            +
              def directory user_provided_directory = nil
         | 
| 39 39 | 
             
                create_random_base_path unless path_has_base?
         | 
| 40 40 |  | 
| 41 | 
            -
                 | 
| 41 | 
            +
                directory_to_create = user_provided_directory || random_name
         | 
| 42 | 
            +
             | 
| 43 | 
            +
                @path_elements.push directory_to_create
         | 
| 42 44 |  | 
| 43 45 | 
             
                created_path = path
         | 
| 44 46 | 
             
                FileUtils.mkdir_p created_path
         | 
| 45 47 | 
             
                yield if block_given?
         | 
| 46 48 | 
             
                @path_elements.pop
         | 
| 47 | 
            -
             | 
| 49 | 
            +
             | 
| 50 | 
            +
                File.join path, first_segment_of_path(directory_to_create)
         | 
| 48 51 | 
             
              end
         | 
| 49 52 |  | 
| 50 53 | 
             
              def directory_from_data to, from = nil
         | 
| @@ -110,4 +113,8 @@ class GivenFilesystem | |
| 110 113 | 
             
              def test_data_path name
         | 
| 111 114 | 
             
                File.expand_path('spec/data/' + name)
         | 
| 112 115 | 
             
              end
         | 
| 116 | 
            +
             | 
| 117 | 
            +
              def first_segment_of_path path
         | 
| 118 | 
            +
                path.split(File::SEPARATOR).reject(&:empty?).first
         | 
| 119 | 
            +
              end
         | 
| 113 120 | 
             
            end
         | 
| @@ -10,11 +10,13 @@ describe GivenFilesystem do | |
| 10 10 | 
             
                @given.cleanup
         | 
| 11 11 | 
             
              end
         | 
| 12 12 |  | 
| 13 | 
            +
              let(:os_specific_tmp_path) { Dir.tmpdir }
         | 
| 14 | 
            +
             | 
| 13 15 | 
             
              it "creates directory" do
         | 
| 14 16 | 
             
                path = @given.directory
         | 
| 15 17 | 
             
                expect( File.exists? path ).to be(true)
         | 
| 16 18 | 
             
                expect( File.directory? path ).to be(true)
         | 
| 17 | 
            -
                expect( path ).to  | 
| 19 | 
            +
                expect( path ).to be_located_under os_specific_tmp_path
         | 
| 18 20 | 
             
                expect( path.split("/").length).to be > 3
         | 
| 19 21 | 
             
              end
         | 
| 20 22 |  | 
| @@ -30,7 +32,7 @@ describe GivenFilesystem do | |
| 30 32 | 
             
              it "creates named directory" do
         | 
| 31 33 | 
             
                path = @given.directory "abc"
         | 
| 32 34 | 
             
                expect( File.exists? path ).to be(true)
         | 
| 33 | 
            -
                expect( path ).to  | 
| 35 | 
            +
                expect( path ).to be_located_under os_specific_tmp_path
         | 
| 34 36 | 
             
                expect( path.split("/").length).to be > 4
         | 
| 35 37 | 
             
                expect( path ).to match /abc$/
         | 
| 36 38 | 
             
              end
         | 
| @@ -40,12 +42,12 @@ describe GivenFilesystem do | |
| 40 42 | 
             
                deep_path = @given.directory "x/y/z"
         | 
| 41 43 | 
             
                expect( File.exists? deep_path ).to be(true)
         | 
| 42 44 | 
             
                expect( File.directory? deep_path ).to be(true)
         | 
| 43 | 
            -
                expect( deep_path.split("/").count ).to eq path.split("/").count | 
| 45 | 
            +
                expect( deep_path.split("/").count ).to eq path.split("/").count
         | 
| 44 46 | 
             
              end
         | 
| 45 47 |  | 
| 46 48 | 
             
              it "creates file" do
         | 
| 47 49 | 
             
                path = @given.file
         | 
| 48 | 
            -
                expect( path ).to  | 
| 50 | 
            +
                expect( path ).to be_located_under os_specific_tmp_path
         | 
| 49 51 | 
             
                expect( path.split("/").length).to be > 3
         | 
| 50 52 | 
             
                expect( File.exists? path ).to be(true)
         | 
| 51 53 | 
             
                expect( File.directory? path ).to be(false)
         | 
| @@ -53,7 +55,7 @@ describe GivenFilesystem do | |
| 53 55 |  | 
| 54 56 | 
             
              it "creates named file" do
         | 
| 55 57 | 
             
                path = @given.file "def"
         | 
| 56 | 
            -
                expect( path ).to  | 
| 58 | 
            +
                expect( path ).to be_located_under os_specific_tmp_path
         | 
| 57 59 | 
             
                expect( path.split("/").length).to be > 4
         | 
| 58 60 | 
             
                expect( path ).to match /def$/
         | 
| 59 61 | 
             
              end
         | 
| @@ -72,7 +74,7 @@ describe GivenFilesystem do | |
| 72 74 |  | 
| 73 75 | 
             
              it "creates file with content" do
         | 
| 74 76 | 
             
                path = @given.file "def", :from => "testcontent"
         | 
| 75 | 
            -
                expect( path ).to  | 
| 77 | 
            +
                expect( path ).to be_located_under os_specific_tmp_path
         | 
| 76 78 | 
             
                expect( path.split("/").length).to be > 4
         | 
| 77 79 | 
             
                expect( path ).to match /def$/
         | 
| 78 80 | 
             
                expect( File.read(path) ).to eq "This is my test content.\n"
         | 
| @@ -81,11 +83,11 @@ describe GivenFilesystem do | |
| 81 83 | 
             
              it "creates directory tree" do
         | 
| 82 84 | 
             
                path = @given.directory do
         | 
| 83 85 | 
             
                  @given.directory "one" do
         | 
| 84 | 
            -
             | 
| 86 | 
            +
                    @given.file "first"
         | 
| 85 87 | 
             
                  end
         | 
| 86 88 | 
             
                  @given.directory "two" do
         | 
| 87 | 
            -
             | 
| 88 | 
            -
             | 
| 89 | 
            +
                    @given.file "second"
         | 
| 90 | 
            +
                    @given.file "third"
         | 
| 89 91 | 
             
                  end
         | 
| 90 92 | 
             
                end
         | 
| 91 93 |  | 
| @@ -140,15 +142,15 @@ describe GivenFilesystem do | |
| 140 142 |  | 
| 141 143 | 
             
              it "returns paths" do
         | 
| 142 144 | 
             
                path1 = @given.directory "one"
         | 
| 143 | 
            -
                expect( path1 ).to match  | 
| 145 | 
            +
                expect( path1 ).to match /^#{Regexp.quote os_specific_tmp_path}\/given_filesystem\/[\d-]+\/one$/
         | 
| 144 146 |  | 
| 145 147 | 
             
                path2 = @given.directory "two"
         | 
| 146 | 
            -
                expect( path2 ).to match  | 
| 148 | 
            +
                expect( path2 ).to match /^#{Regexp.quote os_specific_tmp_path}\/given_filesystem\/[\d-]+\/two$/
         | 
| 147 149 |  | 
| 148 150 | 
             
                path3 = @given.directory "three" do
         | 
| 149 151 | 
             
                  @given.file "first"
         | 
| 150 152 | 
             
                end
         | 
| 151 | 
            -
                expect( path3 ).to match  | 
| 153 | 
            +
                expect( path3 ).to match /^#{Regexp.quote os_specific_tmp_path}\/given_filesystem\/[\d-]+\/three$/
         | 
| 152 154 | 
             
              end
         | 
| 153 155 |  | 
| 154 156 | 
             
              it "cleans up directory tree" do
         | 
| @@ -56,6 +56,11 @@ describe GivenFilesystemSpecHelpers do | |
| 56 56 | 
             
                    expect( path ).to match /\/hello$/
         | 
| 57 57 | 
             
                  end
         | 
| 58 58 |  | 
| 59 | 
            +
                  it "creates entire directory structure" do
         | 
| 60 | 
            +
                    path = given_directory "some/directory/structure"
         | 
| 61 | 
            +
                    expect( path ).to match /\/some$/
         | 
| 62 | 
            +
                  end
         | 
| 63 | 
            +
             | 
| 59 64 | 
             
                  it "creates nested directory" do
         | 
| 60 65 | 
             
                    path = nil
         | 
| 61 66 | 
             
                    given_directory "hello" do
         | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    | @@ -1,8 +1,6 @@ | |
| 1 1 | 
             
            require 'coveralls'
         | 
| 2 2 | 
             
            Coveralls.wear!
         | 
| 3 | 
            -
            SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
         | 
| 4 | 
            -
              Coveralls::SimpleCov::Formatter,
         | 
| 5 | 
            -
              SimpleCov::Formatter::HTMLFormatter
         | 
| 6 | 
            -
            ]
         | 
| 7 3 |  | 
| 8 4 | 
             
            require_relative('../lib/given_filesystem/spec_helpers')
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            require_relative 'support/matchers/file_location_matcher'
         | 
    
        metadata
    CHANGED
    
    | @@ -1,27 +1,27 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: given_filesystem
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.2.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Cornelius Schumacher
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2017-02-22 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: rspec
         | 
| 15 15 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 16 | 
             
                requirements:
         | 
| 17 | 
            -
                - - ~>
         | 
| 17 | 
            +
                - - "~>"
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 19 | 
             
                    version: '3.0'
         | 
| 20 20 | 
             
              type: :development
         | 
| 21 21 | 
             
              prerelease: false
         | 
| 22 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 23 | 
             
                requirements:
         | 
| 24 | 
            -
                - - ~>
         | 
| 24 | 
            +
                - - "~>"
         | 
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 26 | 
             
                    version: '3.0'
         | 
| 27 27 | 
             
            description: GivenFilesystem is a set of helpers for testing code which operates on
         | 
| @@ -32,9 +32,9 @@ executables: [] | |
| 32 32 | 
             
            extensions: []
         | 
| 33 33 | 
             
            extra_rdoc_files: []
         | 
| 34 34 | 
             
            files:
         | 
| 35 | 
            -
            - .gitignore
         | 
| 36 | 
            -
            - .rspec
         | 
| 37 | 
            -
            - .travis.yml
         | 
| 35 | 
            +
            - ".gitignore"
         | 
| 36 | 
            +
            - ".rspec"
         | 
| 37 | 
            +
            - ".travis.yml"
         | 
| 38 38 | 
             
            - CONTRIBUTING.md
         | 
| 39 39 | 
             
            - Gemfile
         | 
| 40 40 | 
             
            - MIT-LICENSE
         | 
| @@ -49,6 +49,7 @@ files: | |
| 49 49 | 
             
            - spec/given_filesystem_spec.rb
         | 
| 50 50 | 
             
            - spec/given_filesystem_spec_helpers_spec.rb
         | 
| 51 51 | 
             
            - spec/spec_helper.rb
         | 
| 52 | 
            +
            - spec/support/matchers/file_location_matcher.rb
         | 
| 52 53 | 
             
            homepage: https://github.com/cornelius/given_filesystem
         | 
| 53 54 | 
             
            licenses:
         | 
| 54 55 | 
             
            - MIT
         | 
| @@ -59,17 +60,17 @@ require_paths: | |
| 59 60 | 
             
            - lib
         | 
| 60 61 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 61 62 | 
             
              requirements:
         | 
| 62 | 
            -
              - -  | 
| 63 | 
            +
              - - ">="
         | 
| 63 64 | 
             
                - !ruby/object:Gem::Version
         | 
| 64 65 | 
             
                  version: '0'
         | 
| 65 66 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 66 67 | 
             
              requirements:
         | 
| 67 | 
            -
              - -  | 
| 68 | 
            +
              - - ">="
         | 
| 68 69 | 
             
                - !ruby/object:Gem::Version
         | 
| 69 70 | 
             
                  version: 1.3.6
         | 
| 70 71 | 
             
            requirements: []
         | 
| 71 72 | 
             
            rubyforge_project: given_filesystem
         | 
| 72 | 
            -
            rubygems_version: 2. | 
| 73 | 
            +
            rubygems_version: 2.5.1
         | 
| 73 74 | 
             
            signing_key: 
         | 
| 74 75 | 
             
            specification_version: 4
         | 
| 75 76 | 
             
            summary: A library for setting up files as test data
         |