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
|