diff_matcher 2.6.0 → 2.7.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 +7 -0
- data/CHANGELOG.md +4 -0
- data/lib/diff_matcher/rspec.rb +1 -1
- data/lib/diff_matcher/rspec/matchers.rb +3 -0
- data/lib/diff_matcher/rspec/matchers/diff_json_matcher.rb +31 -0
- data/lib/diff_matcher/rspec/matchers/diff_matcher.rb +3 -3
- data/lib/diff_matcher/rspec_3.rb +1 -1
- data/lib/diff_matcher/rspec_3/matchers.rb +2 -0
- data/lib/diff_matcher/rspec_3/matchers/diff_json_matcher.rb +31 -0
- data/lib/diff_matcher/version.rb +1 -1
- data/spec/diff_matcher/rspec/matchers/diff_matcher_spec.rb +1 -0
- metadata +16 -23
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 85c693faa10896940ac3eebf11393668fd78b0e1
|
4
|
+
data.tar.gz: 38be21bd9cd7d420fc53d2a1378156eefcb7c841
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 37da42959f13bd42a3c736b959c8f9685bfc0f44f3a14ae330a3586658f71cceefcad2e5ff223bcfd6d1958b0b25b39f6d1efbe631f852dd0e28a1af0abd2ff6
|
7
|
+
data.tar.gz: f2ac31ed19ecdc51f28a0a5ca93a81a4a7d4292a717a770556adc60c43512d763ea00f2c23460216cad04296cb5980f4805958f9459bc956eefe60e970335df3
|
data/CHANGELOG.md
CHANGED
data/lib/diff_matcher/rspec.rb
CHANGED
@@ -0,0 +1,31 @@
|
|
1
|
+
# Uses the diff_matcher gem to provide advanced matching abilities, along with nice visual representation of the
|
2
|
+
# diff between JSON.parse(actual) and expected. The functionality set is very helpful for comparing hashes.
|
3
|
+
#
|
4
|
+
# Usage examples:
|
5
|
+
# it { should be_matching(my_var) }
|
6
|
+
# it { should be_matching(my_var).with_options(ignore_additional: true) }
|
7
|
+
#
|
8
|
+
# Options: by default, color_enabled is controlled by Rspec, and quiet is set to true.
|
9
|
+
RSpec::Matchers.define :be_json_matching do |expected|
|
10
|
+
match do |actual|
|
11
|
+
options = { :color_enabled => RSpec::configuration.color_enabled?, :quiet => true }.merge(@options || {})
|
12
|
+
@difference = DiffMatcher::Difference.new(expected, JSON.parse(actual), options)
|
13
|
+
@difference.matching?
|
14
|
+
end
|
15
|
+
|
16
|
+
chain :with_options do |options|
|
17
|
+
@options = options
|
18
|
+
end
|
19
|
+
|
20
|
+
failure_message_for_should do |actual|
|
21
|
+
"diff is:\n" + @difference.to_s
|
22
|
+
end
|
23
|
+
|
24
|
+
failure_message_for_should_not do |actual|
|
25
|
+
"diff is:\n" + @difference.to_s
|
26
|
+
end
|
27
|
+
|
28
|
+
description do
|
29
|
+
"match via DiffMatcher #{expected}" + (@options.blank? ? '' : " with options: #{@options}")
|
30
|
+
end
|
31
|
+
end
|
@@ -1,15 +1,15 @@
|
|
1
1
|
# Uses the diff_matcher gem to provide advanced matching abilities, along with nice visual representation of the
|
2
|
-
# diff between actual and expected. The functionality set is very helpful for comparing hashes.
|
2
|
+
# diff between JSON.parse(actual) and expected. The functionality set is very helpful for comparing hashes.
|
3
3
|
#
|
4
4
|
# Usage examples:
|
5
5
|
# it { should be_matching(my_var) }
|
6
6
|
# it { should be_matching(my_var).with_options(ignore_additional: true) }
|
7
7
|
#
|
8
8
|
# Options: by default, color_enabled is controlled by Rspec, and quiet is set to true.
|
9
|
-
RSpec::Matchers.define :
|
9
|
+
RSpec::Matchers.define :be_json_matching do |expected|
|
10
10
|
match do |actual|
|
11
11
|
options = { :color_enabled => RSpec::configuration.color_enabled?, :quiet => true }.merge(@options || {})
|
12
|
-
@difference = DiffMatcher::Difference.new(expected, actual, options)
|
12
|
+
@difference = DiffMatcher::Difference.new(expected, JSON.parse(actual), options)
|
13
13
|
@difference.matching?
|
14
14
|
end
|
15
15
|
|
data/lib/diff_matcher/rspec_3.rb
CHANGED
@@ -0,0 +1,31 @@
|
|
1
|
+
# Uses the diff_matcher gem to provide advanced matching abilities, along with nice visual representation of the
|
2
|
+
# diff between JSON.parse(actual) and expected. The functionality set is very helpful for comparing hashes.
|
3
|
+
#
|
4
|
+
# Usage examples:
|
5
|
+
# it { should be_matching(my_var) }
|
6
|
+
# it { should be_matching(my_var).with_options(ignore_additional: true) }
|
7
|
+
#
|
8
|
+
# Options: by default, color_enabled is controlled by Rspec, and quiet is set to true.
|
9
|
+
RSpec::Matchers.define :be_json_matching do |expected|
|
10
|
+
match do |actual|
|
11
|
+
options = { :color_enabled => RSpec::configuration.color_enabled?, :quiet => true }.merge(@options || {})
|
12
|
+
@difference = DiffMatcher::Difference.new(expected, JSON.parse(actual), options)
|
13
|
+
@difference.matching?
|
14
|
+
end
|
15
|
+
|
16
|
+
chain :with_options do |options|
|
17
|
+
@options = options
|
18
|
+
end
|
19
|
+
|
20
|
+
failure_message do |actual|
|
21
|
+
"diff is:\n" + @difference.to_s
|
22
|
+
end
|
23
|
+
|
24
|
+
failure_message_when_negated do |actual|
|
25
|
+
"diff is:\n" + @difference.to_s
|
26
|
+
end
|
27
|
+
|
28
|
+
description do
|
29
|
+
"match via DiffMatcher #{expected}" + (@options.blank? ? '' : " with options: #{@options}")
|
30
|
+
end
|
31
|
+
end
|
data/lib/diff_matcher/version.rb
CHANGED
@@ -3,6 +3,7 @@ require 'diff_matcher/rspec'
|
|
3
3
|
|
4
4
|
describe :be_matching do
|
5
5
|
it "should call DiffMatcher::Difference" do
|
6
|
+
pending 'how are custom matchers tested now?'
|
6
7
|
DiffMatcher::Difference.should_receive(:new).with(
|
7
8
|
:expected, :actual, { :color_enabled => RSpec::configuration.color_enabled?, :quiet => true }.merge({ :foo => 'bar' })
|
8
9
|
).and_return(double(:matching? => true))
|
metadata
CHANGED
@@ -1,31 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: diff_matcher
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
5
|
-
prerelease:
|
4
|
+
version: 2.7.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- locochris
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2014-
|
11
|
+
date: 2014-10-30 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
|
-
description:
|
15
|
-
|
13
|
+
description: |
|
14
|
+
DiffMatcher matches input data (eg. from a JSON API) against values,
|
16
15
|
ranges, classes, regexes, procs, custom matchers and/or easily composed,
|
17
|
-
|
18
16
|
nested combinations thereof to produce an easy to read diff string.
|
19
|
-
|
20
|
-
'
|
21
17
|
email: chris@locomote.com.au
|
22
18
|
executables: []
|
23
19
|
extensions: []
|
24
20
|
extra_rdoc_files: []
|
25
21
|
files:
|
26
|
-
- .gitignore
|
27
|
-
- .rspec
|
28
|
-
- .travis.yml
|
22
|
+
- ".gitignore"
|
23
|
+
- ".rspec"
|
24
|
+
- ".travis.yml"
|
29
25
|
- CHANGELOG.md
|
30
26
|
- Gemfile
|
31
27
|
- README.md
|
@@ -38,8 +34,12 @@ files:
|
|
38
34
|
- lib/diff_matcher/difference.rb
|
39
35
|
- lib/diff_matcher/escape_to_html.rb
|
40
36
|
- lib/diff_matcher/rspec.rb
|
37
|
+
- lib/diff_matcher/rspec/matchers.rb
|
38
|
+
- lib/diff_matcher/rspec/matchers/diff_json_matcher.rb
|
41
39
|
- lib/diff_matcher/rspec/matchers/diff_matcher.rb
|
42
40
|
- lib/diff_matcher/rspec_3.rb
|
41
|
+
- lib/diff_matcher/rspec_3/matchers.rb
|
42
|
+
- lib/diff_matcher/rspec_3/matchers/diff_json_matcher.rb
|
43
43
|
- lib/diff_matcher/rspec_3/matchers/diff_matcher.rb
|
44
44
|
- lib/diff_matcher/version.rb
|
45
45
|
- spec/diff_matcher/difference_spec.rb
|
@@ -49,33 +49,26 @@ homepage: http://github.com/diff-matcher/diff_matcher
|
|
49
49
|
licenses:
|
50
50
|
- BSD
|
51
51
|
- MIT
|
52
|
+
metadata: {}
|
52
53
|
post_install_message:
|
53
54
|
rdoc_options: []
|
54
55
|
require_paths:
|
55
56
|
- lib
|
56
57
|
required_ruby_version: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
|
-
segments:
|
63
|
-
- 0
|
64
|
-
hash: -213964590511459667
|
65
62
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
63
|
requirements:
|
68
|
-
- -
|
64
|
+
- - ">="
|
69
65
|
- !ruby/object:Gem::Version
|
70
66
|
version: '0'
|
71
|
-
segments:
|
72
|
-
- 0
|
73
|
-
hash: -213964590511459667
|
74
67
|
requirements: []
|
75
68
|
rubyforge_project:
|
76
|
-
rubygems_version:
|
69
|
+
rubygems_version: 2.4.2
|
77
70
|
signing_key:
|
78
|
-
specification_version:
|
71
|
+
specification_version: 4
|
79
72
|
summary: Generates a diff by matching against user-defined matchers written in ruby.
|
80
73
|
test_files:
|
81
74
|
- spec/diff_matcher/difference_spec.rb
|