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 CHANGED
@@ -14,7 +14,7 @@ group :development do
14
14
  end
15
15
 
16
16
  gem 'rest-client', '~> 1.6.1'
17
- gem 'diffy', '~> 2.0.1'
17
+ gem 'diffy', '~> 2.0.3'
18
18
  gem 'facets', '~> 2.9.1'
19
19
  gem 'json', '~> 1.5.2'
20
20
  gem 'hpricot', '~> 0.8.4'
data/Gemfile.lock CHANGED
@@ -1,10 +1,11 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- diffy (2.0.1)
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.1)
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.6
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 run_erb filename
29
- side_a, side_b, comparisons = contents['side_a'], contents['side_b'], contents['comparisons']
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
- CompareUrl.new name, url, side_a, side_b, h
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.count > side_a_body.lines.count || @diff.count > side_b_body.lines.count
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 += ' ' + @compare_url.options[:diff] if @compare_url.options[:diff]
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
@@ -17,7 +17,12 @@ module HotOrNot
17
17
  end
18
18
 
19
19
  should "load options from file" do
20
- expected_options = { :headers => { 'authorization' => 'foo123bar' } }
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
@@ -1,5 +1,6 @@
1
1
  side_a: 'http://side_a'
2
2
  side_b: 'http://side_b'
3
+ diff: -w
3
4
  comparisons:
4
5
  - name: People Test
5
6
  url: /api/people
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
- prerelease:
5
- version: 0.1.6
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 00:00:00 -05:00
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
- version: 2.0.1
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: -4115142112659835342
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.6.2
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