hot_or_not 0.1.6 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- 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
|