diff_matcher 2.2.2 → 2.2.3
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/diff_matcher/difference.rb +23 -8
- data/lib/diff_matcher/version.rb +1 -1
- data/spec/diff_matcher/difference_spec.rb +34 -0
- metadata +3 -3
@@ -90,19 +90,34 @@ module DiffMatcher
|
|
90
90
|
:match_proc => [CYAN , "{"]
|
91
91
|
}
|
92
92
|
|
93
|
-
|
94
|
-
:
|
95
|
-
:
|
96
|
-
|
97
|
-
|
98
|
-
|
93
|
+
class << self
|
94
|
+
attr_reader :color_scheme
|
95
|
+
attr_writer :color_enabled, :color_schemes
|
96
|
+
|
97
|
+
def color_schemes
|
98
|
+
@color_schemes ||= {
|
99
|
+
:default => DEFAULT_COLOR_SCHEME,
|
100
|
+
:white_background => DEFAULT_COLOR_SCHEME.merge(
|
101
|
+
:additional => [MAGENTA, "+"]
|
102
|
+
)
|
103
|
+
}
|
104
|
+
end
|
105
|
+
|
106
|
+
def color_scheme=(value)
|
107
|
+
@color_scheme = color_schemes[value]
|
108
|
+
end
|
109
|
+
|
110
|
+
def color_enabled
|
111
|
+
@color_enabled.nil? ? !!@color_scheme : @color_enabled
|
112
|
+
end
|
113
|
+
end
|
99
114
|
|
100
115
|
def initialize(expected, actual, opts={})
|
101
116
|
@opts = opts
|
102
117
|
@ignore_additional = opts[:ignore_additional]
|
103
118
|
@quiet = opts[:quiet]
|
104
|
-
@
|
105
|
-
@
|
119
|
+
@color_scheme = self.class.color_schemes[opts[:color_scheme]] || self.class.color_scheme || self.class.color_schemes[:default]
|
120
|
+
@color_enabled = (opts[:color_enabled].nil? && opts[:color_scheme].nil?) ? self.class.color_enabled : !!opts[:color_scheme] || opts[:color_enabled]
|
106
121
|
@optional_keys = opts.delete(:optional_keys) || []
|
107
122
|
@dif_count = 0
|
108
123
|
@difference = difference(expected, actual)
|
data/lib/diff_matcher/version.rb
CHANGED
@@ -668,6 +668,40 @@ describe "DiffMatcher::difference(expected, actual, opts)" do
|
|
668
668
|
Where, \e[31m- \e[1m1 missing\e[0m, \e[35m+ \e[1m1 additional\e[0m, \e[32m~ \e[1m1 match_regexp\e[0m, \e[34m: \e[1m1 match_class\e[0m, \e[36m. \e[1m1 match_range\e[0m, \e[36m{ \e[1m1 match_proc\e[0m
|
669
669
|
EOF
|
670
670
|
end
|
671
|
+
|
672
|
+
context "color_enabled can be set on the class" do
|
673
|
+
before { DiffMatcher::Difference::color_enabled = true }
|
674
|
+
|
675
|
+
it_behaves_like "a diff matcher", expected, same, different,
|
676
|
+
<<-EOF
|
677
|
+
\e[0m[
|
678
|
+
\e[0m \e[31m- \e[1m1\e[0m\e[33m+ \e[1m0\e[0m,
|
679
|
+
\e[0m 2,
|
680
|
+
\e[0m \e[32m~ \e[0m"\e[32m(\e[1m3\e[0m\e[32m)\e[0m"\e[0m,
|
681
|
+
\e[0m \e[34m: \e[1m4\e[0m,
|
682
|
+
\e[0m \e[36m. \e[1m5\e[0m,
|
683
|
+
\e[0m \e[36m{ \e[1m6\e[0m
|
684
|
+
\e[0m]
|
685
|
+
Where, \e[31m- \e[1m1 missing\e[0m, \e[33m+ \e[1m1 additional\e[0m, \e[32m~ \e[1m1 match_regexp\e[0m, \e[34m: \e[1m1 match_class\e[0m, \e[36m. \e[1m1 match_range\e[0m, \e[36m{ \e[1m1 match_proc\e[0m
|
686
|
+
EOF
|
687
|
+
end
|
688
|
+
|
689
|
+
context "color_scheme can be set on the class" do
|
690
|
+
before { DiffMatcher::Difference::color_scheme = :white_background }
|
691
|
+
|
692
|
+
it_behaves_like "a diff matcher", expected, same, different,
|
693
|
+
<<-EOF
|
694
|
+
\e[0m[
|
695
|
+
\e[0m \e[31m- \e[1m1\e[0m\e[35m+ \e[1m0\e[0m,
|
696
|
+
\e[0m 2,
|
697
|
+
\e[0m \e[32m~ \e[0m"\e[32m(\e[1m3\e[0m\e[32m)\e[0m"\e[0m,
|
698
|
+
\e[0m \e[34m: \e[1m4\e[0m,
|
699
|
+
\e[0m \e[36m. \e[1m5\e[0m,
|
700
|
+
\e[0m \e[36m{ \e[1m6\e[0m
|
701
|
+
\e[0m]
|
702
|
+
Where, \e[31m- \e[1m1 missing\e[0m, \e[35m+ \e[1m1 additional\e[0m, \e[32m~ \e[1m1 match_regexp\e[0m, \e[34m: \e[1m1 match_class\e[0m, \e[36m. \e[1m1 match_range\e[0m, \e[36m{ \e[1m1 match_proc\e[0m
|
703
|
+
EOF
|
704
|
+
end
|
671
705
|
end
|
672
706
|
end
|
673
707
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: diff_matcher
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 2.2.
|
5
|
+
version: 2.2.3
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Playup
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-07-08 00:00:00 Z
|
14
14
|
dependencies: []
|
15
15
|
|
16
16
|
description: |
|
@@ -60,7 +60,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
60
60
|
requirements:
|
61
61
|
- - ">="
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
hash:
|
63
|
+
hash: 2610392382067707608
|
64
64
|
segments:
|
65
65
|
- 0
|
66
66
|
version: "0"
|