hot_or_not 0.1.6 → 0.1.8
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.
- data/Gemfile +1 -1
- data/Gemfile.lock +3 -2
- data/VERSION +1 -1
- data/lib/hot_or_not/compare_url.rb +4 -3
- data/lib/hot_or_not/comparison_result.rb +3 -3
- data/test/compare_url_test.rb +6 -1
- data/test/comparison_result_test.rb +17 -0
- data/test/data/simple_urls.yml +1 -0
- metadata +58 -6
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
-
diffy (2.0.
|
4
|
+
diffy (2.0.3)
|
5
5
|
facets (2.9.1)
|
6
6
|
git (1.2.5)
|
7
7
|
hpricot (0.8.4)
|
8
|
+
hpricot (0.8.4-java)
|
8
9
|
jeweler (1.6.0)
|
9
10
|
bundler (~> 1.0.0)
|
10
11
|
git (>= 1.2.5)
|
@@ -26,7 +27,7 @@ PLATFORMS
|
|
26
27
|
|
27
28
|
DEPENDENCIES
|
28
29
|
bundler (~> 1.0.0)
|
29
|
-
diffy (~> 2.0.
|
30
|
+
diffy (~> 2.0.3)
|
30
31
|
facets (~> 2.9.1)
|
31
32
|
hpricot (~> 0.8.4)
|
32
33
|
jeweler (~> 1.6.0)
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.8
|
@@ -25,14 +25,15 @@ module HotOrNot
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def self.load_from(filename)
|
28
|
-
contents = YAML.load
|
29
|
-
side_a, side_b, comparisons = contents
|
28
|
+
contents = YAML.load(run_erb(filename)).symbolize_keys!
|
29
|
+
side_a, side_b, comparisons = contents.delete(:side_a), contents.delete(:side_b), contents.delete(:comparisons)
|
30
30
|
raise "You're file is not of the proper format" unless side_a && side_b && comparisons
|
31
31
|
comparisons.map do |h|
|
32
32
|
h.symbolize_keys!
|
33
33
|
name = h.delete :name
|
34
34
|
url = h.delete :url
|
35
|
-
|
35
|
+
options = contents.merge h
|
36
|
+
CompareUrl.new name, url, side_a, side_b, options
|
36
37
|
end
|
37
38
|
end
|
38
39
|
|
@@ -41,7 +41,7 @@ module HotOrNot
|
|
41
41
|
|
42
42
|
def different?
|
43
43
|
return side_a_body != side_b_body if @diff.nil?
|
44
|
-
@diff.
|
44
|
+
@diff.diff != side_a_body.gsub(/^/, ' ')
|
45
45
|
end
|
46
46
|
|
47
47
|
def output_to_files_in(directory)
|
@@ -58,8 +58,8 @@ module HotOrNot
|
|
58
58
|
message += "#{$/} #{@compare_url.base_b} => #{@side_b_results.error_message}" if @side_b_results.error?
|
59
59
|
message
|
60
60
|
else
|
61
|
-
diff_options = '-U 3'
|
62
|
-
diff_options
|
61
|
+
diff_options = ['-U 3']
|
62
|
+
diff_options << @compare_url.options[:diff] if @compare_url.options[:diff]
|
63
63
|
@diff = Diffy::Diff.new(side_a_body, side_b_body, :diff => diff_options)
|
64
64
|
"#{@compare_url.full_name}: #{@compare_url.url}: Body from #{@compare_url.base_a} did not match body from #{@compare_url.base_b}"
|
65
65
|
end
|
data/test/compare_url_test.rb
CHANGED
@@ -17,7 +17,12 @@ module HotOrNot
|
|
17
17
|
end
|
18
18
|
|
19
19
|
should "load options from file" do
|
20
|
-
|
20
|
+
expected_headers = { 'authorization' => 'foo123bar' }
|
21
|
+
assert_equal expected_headers, @urls[1].options[:headers]
|
22
|
+
end
|
23
|
+
|
24
|
+
should "merge global options in" do
|
25
|
+
expected_options = { :diff => '-w', :headers => { 'authorization' => 'foo123bar' } }
|
21
26
|
assert_equal expected_options, @urls[1].options
|
22
27
|
end
|
23
28
|
end
|
@@ -106,6 +106,23 @@ module HotOrNot
|
|
106
106
|
should "provide a diff" do
|
107
107
|
assert_present @result.diff
|
108
108
|
end
|
109
|
+
|
110
|
+
context "ignoring whitespace" do
|
111
|
+
setup do
|
112
|
+
compare_url = CompareUrl.new 'Test People', '/api/people', 'http://side_a', 'http://side_b', :diff => '-w'
|
113
|
+
body_a = "foo\nbar"
|
114
|
+
body_b = " foo\nbaz"
|
115
|
+
response_a = FakeResponse.new body_a, 200
|
116
|
+
response_b = FakeResponse.new body_b, 200
|
117
|
+
side_a_results = UrlResult.new compare_url.side_a, response_a, nil
|
118
|
+
side_b_results = UrlResult.new compare_url.side_b, response_b, nil
|
119
|
+
@result = ComparisonResult.new compare_url, side_a_results, side_b_results
|
120
|
+
end
|
121
|
+
|
122
|
+
should "return failure" do
|
123
|
+
assert_not @result.success?
|
124
|
+
end
|
125
|
+
end
|
109
126
|
end
|
110
127
|
|
111
128
|
context "when one result has an error" do
|
data/test/data/simple_urls.yml
CHANGED
metadata
CHANGED
@@ -1,8 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hot_or_not
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
4
|
+
hash: 11
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
- 8
|
10
|
+
version: 0.1.8
|
6
11
|
platform: ruby
|
7
12
|
authors:
|
8
13
|
- Joel Friedman
|
@@ -10,7 +15,7 @@ autorequire:
|
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
17
|
|
13
|
-
date: 2011-07-
|
18
|
+
date: 2011-07-20 00:00:00 -05:00
|
14
19
|
default_executable: hot_or_not
|
15
20
|
dependencies:
|
16
21
|
- !ruby/object:Gem::Dependency
|
@@ -20,6 +25,11 @@ dependencies:
|
|
20
25
|
requirements:
|
21
26
|
- - ~>
|
22
27
|
- !ruby/object:Gem::Version
|
28
|
+
hash: 13
|
29
|
+
segments:
|
30
|
+
- 1
|
31
|
+
- 6
|
32
|
+
- 1
|
23
33
|
version: 1.6.1
|
24
34
|
type: :runtime
|
25
35
|
prerelease: false
|
@@ -31,7 +41,12 @@ dependencies:
|
|
31
41
|
requirements:
|
32
42
|
- - ~>
|
33
43
|
- !ruby/object:Gem::Version
|
34
|
-
|
44
|
+
hash: 9
|
45
|
+
segments:
|
46
|
+
- 2
|
47
|
+
- 0
|
48
|
+
- 3
|
49
|
+
version: 2.0.3
|
35
50
|
type: :runtime
|
36
51
|
prerelease: false
|
37
52
|
version_requirements: *id002
|
@@ -42,6 +57,11 @@ dependencies:
|
|
42
57
|
requirements:
|
43
58
|
- - ~>
|
44
59
|
- !ruby/object:Gem::Version
|
60
|
+
hash: 41
|
61
|
+
segments:
|
62
|
+
- 2
|
63
|
+
- 9
|
64
|
+
- 1
|
45
65
|
version: 2.9.1
|
46
66
|
type: :runtime
|
47
67
|
prerelease: false
|
@@ -53,6 +73,11 @@ dependencies:
|
|
53
73
|
requirements:
|
54
74
|
- - ~>
|
55
75
|
- !ruby/object:Gem::Version
|
76
|
+
hash: 7
|
77
|
+
segments:
|
78
|
+
- 1
|
79
|
+
- 5
|
80
|
+
- 2
|
56
81
|
version: 1.5.2
|
57
82
|
type: :runtime
|
58
83
|
prerelease: false
|
@@ -64,6 +89,11 @@ dependencies:
|
|
64
89
|
requirements:
|
65
90
|
- - ~>
|
66
91
|
- !ruby/object:Gem::Version
|
92
|
+
hash: 55
|
93
|
+
segments:
|
94
|
+
- 0
|
95
|
+
- 8
|
96
|
+
- 4
|
67
97
|
version: 0.8.4
|
68
98
|
type: :runtime
|
69
99
|
prerelease: false
|
@@ -75,6 +105,9 @@ dependencies:
|
|
75
105
|
requirements:
|
76
106
|
- - ">="
|
77
107
|
- !ruby/object:Gem::Version
|
108
|
+
hash: 3
|
109
|
+
segments:
|
110
|
+
- 0
|
78
111
|
version: "0"
|
79
112
|
type: :development
|
80
113
|
prerelease: false
|
@@ -86,6 +119,11 @@ dependencies:
|
|
86
119
|
requirements:
|
87
120
|
- - ~>
|
88
121
|
- !ruby/object:Gem::Version
|
122
|
+
hash: 23
|
123
|
+
segments:
|
124
|
+
- 1
|
125
|
+
- 0
|
126
|
+
- 0
|
89
127
|
version: 1.0.0
|
90
128
|
type: :development
|
91
129
|
prerelease: false
|
@@ -97,6 +135,11 @@ dependencies:
|
|
97
135
|
requirements:
|
98
136
|
- - ~>
|
99
137
|
- !ruby/object:Gem::Version
|
138
|
+
hash: 15
|
139
|
+
segments:
|
140
|
+
- 1
|
141
|
+
- 6
|
142
|
+
- 0
|
100
143
|
version: 1.6.0
|
101
144
|
type: :development
|
102
145
|
prerelease: false
|
@@ -108,6 +151,9 @@ dependencies:
|
|
108
151
|
requirements:
|
109
152
|
- - ">="
|
110
153
|
- !ruby/object:Gem::Version
|
154
|
+
hash: 3
|
155
|
+
segments:
|
156
|
+
- 0
|
111
157
|
version: "0"
|
112
158
|
type: :development
|
113
159
|
prerelease: false
|
@@ -119,6 +165,9 @@ dependencies:
|
|
119
165
|
requirements:
|
120
166
|
- - ">="
|
121
167
|
- !ruby/object:Gem::Version
|
168
|
+
hash: 3
|
169
|
+
segments:
|
170
|
+
- 0
|
122
171
|
version: "0"
|
123
172
|
type: :development
|
124
173
|
prerelease: false
|
@@ -171,7 +220,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
171
220
|
requirements:
|
172
221
|
- - ">="
|
173
222
|
- !ruby/object:Gem::Version
|
174
|
-
hash:
|
223
|
+
hash: 3
|
175
224
|
segments:
|
176
225
|
- 0
|
177
226
|
version: "0"
|
@@ -180,11 +229,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
180
229
|
requirements:
|
181
230
|
- - ">="
|
182
231
|
- !ruby/object:Gem::Version
|
232
|
+
hash: 3
|
233
|
+
segments:
|
234
|
+
- 0
|
183
235
|
version: "0"
|
184
236
|
requirements: []
|
185
237
|
|
186
238
|
rubyforge_project:
|
187
|
-
rubygems_version: 1.
|
239
|
+
rubygems_version: 1.3.7
|
188
240
|
signing_key:
|
189
241
|
specification_version: 3
|
190
242
|
summary: A tool for side-by-side comparsion of web apis
|