assert_dirs_equal 0.1.0 → 0.1.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/CHANGELOG.md +6 -0
- data/README.md +7 -1
- data/assert_dirs_equal.gemspec +1 -1
- data/lib/assert_dirs_equal/matcher.rb +7 -7
- data/test/cases/different_binary_files/target/file.png +0 -0
- data/test/cases/expected_is_not_a_dir/target/.keep +0 -0
- data/test/cases/extra_file_in_target/expected/.keep +0 -0
- data/test/cases/extra_file_in_target/target/.keep +0 -0
- data/test/cases/missing_expected/.keep +0 -0
- data/test/cases/missing_file_in_target/target/.keep +0 -0
- data/test/cases/missing_nested_file_in_target/target/nested/.keep +0 -0
- data/test/cases/missing_target/expected/.keep +0 -0
- data/test/cases/same_text_files_with_trailing_newline/expected/file +1 -0
- data/test/cases/same_text_files_with_trailing_newline/target/file +2 -0
- data/test/cases/target_is_not_a_dir/expected/.keep +0 -0
- data/test/matcher_test.rb +10 -13
- data/test/minitest_integration_test.rb +2 -2
- data/test/test_helper.rb +6 -0
- metadata +22 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aa4cdc7043d5798e78745e4a6fa8e03659516168
|
4
|
+
data.tar.gz: 54334a10d86c433bafa573757102dbd0a915a906
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b61f753c46796ed63928ee2f0ab1fe06b1ed0be71f6f6cb6cb180d0e31b9eb8667d993131070938833b247b71d3ed77b31096a14d3dc9d0a2fda6eb2acc3dbaf
|
7
|
+
data.tar.gz: 606d3e449e37a2050a84834363513cb6dfdb576a8e9c02ac73574b800b460136f1bb02b6bdf5c6a4d455ca4a53058645485708100c7e7fc6dc3a894c8f6ecf10
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -12,7 +12,7 @@ Production ready.
|
|
12
12
|
|
13
13
|
## Documentation
|
14
14
|
|
15
|
-
[Released version](http://rubydoc.info/gems/assert_dirs_equal/0.1.
|
15
|
+
[Released version](http://rubydoc.info/gems/assert_dirs_equal/0.1.1)
|
16
16
|
|
17
17
|
## Why
|
18
18
|
|
@@ -58,6 +58,12 @@ end
|
|
58
58
|
|
59
59
|
TODO
|
60
60
|
|
61
|
+
## Known issues
|
62
|
+
|
63
|
+
Due that Rubinius String#strip doesn't fail on binary data (undocumented behaviour), the library will
|
64
|
+
try to actually diff binary files. Depending on your test framework's diffing tool, it may or may not
|
65
|
+
be a problem. For example, Minitest is not affected, since it uses shell `diff` under the hood.
|
66
|
+
|
61
67
|
## Origin
|
62
68
|
|
63
69
|
Extracted from [Torba][torba-github] library since it looks more like a standalone component.
|
data/assert_dirs_equal.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
2
|
spec.name = "assert_dirs_equal"
|
3
|
-
spec.version = "0.1.
|
3
|
+
spec.version = "0.1.1"
|
4
4
|
spec.authors = ["Andrii Malyshko"]
|
5
5
|
spec.email = ["mail@nashbridges.me"]
|
6
6
|
spec.description = "Test assertion for directories equality by tree and content comparison"
|
@@ -46,18 +46,18 @@ module AssertDirsEqual
|
|
46
46
|
def assert_equal_content(expected, target)
|
47
47
|
return true if File.directory?(expected) && File.directory?(target)
|
48
48
|
|
49
|
-
expected_content = File.read(expected)
|
50
|
-
target_content = File.read(target)
|
49
|
+
expected_content = File.read(expected)
|
50
|
+
target_content = File.read(target)
|
51
|
+
|
52
|
+
expected_content = expected_content.strip
|
53
|
+
target_content = target_content.strip
|
51
54
|
|
52
55
|
expected_content == target_content || fail_with(
|
53
56
|
"expected #{target.inspect} to have same content as #{expected.inspect}:\n#{Diff.perform(expected_content, target_content)}"
|
54
57
|
)
|
55
58
|
rescue ArgumentError # strip on binary file
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
expected_size == target_size || fail_with(
|
60
|
-
"expected #{target.inspect} to be the same size as #{expected.inspect}"
|
59
|
+
expected_content == target_content || fail_with(
|
60
|
+
"expected #{target.inspect} to be the same as #{expected.inspect}"
|
61
61
|
)
|
62
62
|
end
|
63
63
|
|
Binary file
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
hello
|
File without changes
|
data/test/matcher_test.rb
CHANGED
@@ -31,23 +31,12 @@ module AssertDirsEqual
|
|
31
31
|
assert_equal "expected \"#{target_dir}\" to be a directory", matcher.failure_message
|
32
32
|
end
|
33
33
|
|
34
|
-
def test_empty_dirs_are_equal
|
35
|
-
@case_directory = "test/cases/empty_dirs_are_equal"
|
36
|
-
assert matcher.matches?(target_dir), matcher.failure_message
|
37
|
-
end
|
38
|
-
|
39
34
|
def test_missing_file_in_target
|
40
35
|
@case_directory = "test/cases/missing_file_in_target"
|
41
36
|
refute matcher.matches?(target_dir)
|
42
37
|
assert_equal "expected \"#{target_dir}/file\" to exist since \"#{expected_dir}/file\" exists", matcher.failure_message
|
43
38
|
end
|
44
39
|
|
45
|
-
def test_missing_directory_in_target
|
46
|
-
@case_directory = "test/cases/missing_directory_in_target"
|
47
|
-
refute matcher.matches?(target_dir)
|
48
|
-
assert_equal "expected \"#{target_dir}/directory\" to exist since \"#{expected_dir}/directory\" exists", matcher.failure_message
|
49
|
-
end
|
50
|
-
|
51
40
|
def test_missing_nested_file_in_target
|
52
41
|
@case_directory = "test/cases/missing_nested_file_in_target"
|
53
42
|
refute matcher.matches?(target_dir)
|
@@ -74,21 +63,29 @@ MSG
|
|
74
63
|
assert matcher.matches?(target_dir), matcher.failure_message
|
75
64
|
end
|
76
65
|
|
66
|
+
def test_same_text_files_with_trailing_newline
|
67
|
+
@case_directory = "test/cases/same_text_files_with_trailing_newline"
|
68
|
+
assert matcher.matches?(target_dir), matcher.failure_message
|
69
|
+
end
|
70
|
+
|
77
71
|
def test_different_binary_files
|
72
|
+
skip_rubinius_string_strip
|
78
73
|
@case_directory = "test/cases/different_binary_files"
|
79
74
|
refute matcher.matches?(target_dir)
|
80
|
-
assert_equal "expected \"#{target_dir}/file.png\" to be the same
|
75
|
+
assert_equal "expected \"#{target_dir}/file.png\" to be the same as \"#{expected_dir}/file.png\"", matcher.failure_message
|
81
76
|
end
|
82
77
|
|
83
78
|
def test_same_binary_files
|
79
|
+
skip_rubinius_string_strip
|
84
80
|
@case_directory = "test/cases/same_binary_files"
|
85
81
|
assert matcher.matches?(target_dir), matcher.failure_message
|
86
82
|
end
|
87
83
|
|
88
84
|
def test_binary_and_text_files
|
85
|
+
skip_rubinius_string_strip
|
89
86
|
@case_directory = "test/cases/binary_and_text_files"
|
90
87
|
refute matcher.matches?(target_dir)
|
91
|
-
assert_equal "expected \"#{target_dir}/file.txt\" to be the same
|
88
|
+
assert_equal "expected \"#{target_dir}/file.txt\" to be the same as \"#{expected_dir}/file.txt\"", matcher.failure_message
|
92
89
|
end
|
93
90
|
|
94
91
|
def test_extra_file_in_target
|
@@ -4,7 +4,7 @@ require "minitest/assert_dirs_equal"
|
|
4
4
|
module AssertDirsEqual
|
5
5
|
class MinitestIntegrationTest < Minitest::Test
|
6
6
|
def test_successful_assert
|
7
|
-
@case_directory = "test/cases/
|
7
|
+
@case_directory = "test/cases/empty_files_are_equal"
|
8
8
|
assert_dirs_equal expected_dir, target_dir
|
9
9
|
end
|
10
10
|
|
@@ -24,7 +24,7 @@ module AssertDirsEqual
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def test_failed_refute
|
27
|
-
@case_directory = "test/cases/
|
27
|
+
@case_directory = "test/cases/empty_files_are_equal"
|
28
28
|
|
29
29
|
error = assert_raises(Minitest::Assertion) do
|
30
30
|
refute_dirs_equal expected_dir, target_dir
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: assert_dirs_equal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrii Malyshko
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-04-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -80,15 +80,25 @@ files:
|
|
80
80
|
- test/cases/empty_files_are_equal/expected/file
|
81
81
|
- test/cases/empty_files_are_equal/target/file
|
82
82
|
- test/cases/expected_is_not_a_dir/expected
|
83
|
+
- test/cases/expected_is_not_a_dir/target/.keep
|
84
|
+
- test/cases/extra_file_in_target/expected/.keep
|
85
|
+
- test/cases/extra_file_in_target/target/.keep
|
83
86
|
- test/cases/extra_file_in_target/target/file
|
84
87
|
- test/cases/large_different_text_files/expected/file
|
85
88
|
- test/cases/large_different_text_files/target/file
|
89
|
+
- test/cases/missing_expected/.keep
|
86
90
|
- test/cases/missing_file_in_target/expected/file
|
91
|
+
- test/cases/missing_file_in_target/target/.keep
|
87
92
|
- test/cases/missing_nested_file_in_target/expected/nested/file
|
93
|
+
- test/cases/missing_nested_file_in_target/target/nested/.keep
|
94
|
+
- test/cases/missing_target/expected/.keep
|
88
95
|
- test/cases/same_binary_files/expected/file.png
|
89
96
|
- test/cases/same_binary_files/target/file.png
|
90
97
|
- test/cases/same_text_files/expected/file
|
91
98
|
- test/cases/same_text_files/target/file
|
99
|
+
- test/cases/same_text_files_with_trailing_newline/expected/file
|
100
|
+
- test/cases/same_text_files_with_trailing_newline/target/file
|
101
|
+
- test/cases/target_is_not_a_dir/expected/.keep
|
92
102
|
- test/cases/target_is_not_a_dir/target
|
93
103
|
- test/matcher_test.rb
|
94
104
|
- test/minitest_integration_test.rb
|
@@ -127,15 +137,25 @@ test_files:
|
|
127
137
|
- test/cases/empty_files_are_equal/expected/file
|
128
138
|
- test/cases/empty_files_are_equal/target/file
|
129
139
|
- test/cases/expected_is_not_a_dir/expected
|
140
|
+
- test/cases/expected_is_not_a_dir/target/.keep
|
141
|
+
- test/cases/extra_file_in_target/expected/.keep
|
142
|
+
- test/cases/extra_file_in_target/target/.keep
|
130
143
|
- test/cases/extra_file_in_target/target/file
|
131
144
|
- test/cases/large_different_text_files/expected/file
|
132
145
|
- test/cases/large_different_text_files/target/file
|
146
|
+
- test/cases/missing_expected/.keep
|
133
147
|
- test/cases/missing_file_in_target/expected/file
|
148
|
+
- test/cases/missing_file_in_target/target/.keep
|
134
149
|
- test/cases/missing_nested_file_in_target/expected/nested/file
|
150
|
+
- test/cases/missing_nested_file_in_target/target/nested/.keep
|
151
|
+
- test/cases/missing_target/expected/.keep
|
135
152
|
- test/cases/same_binary_files/expected/file.png
|
136
153
|
- test/cases/same_binary_files/target/file.png
|
137
154
|
- test/cases/same_text_files/expected/file
|
138
155
|
- test/cases/same_text_files/target/file
|
156
|
+
- test/cases/same_text_files_with_trailing_newline/expected/file
|
157
|
+
- test/cases/same_text_files_with_trailing_newline/target/file
|
158
|
+
- test/cases/target_is_not_a_dir/expected/.keep
|
139
159
|
- test/cases/target_is_not_a_dir/target
|
140
160
|
- test/matcher_test.rb
|
141
161
|
- test/minitest_integration_test.rb
|