email_spec 0.6.3 → 0.6.4

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.
@@ -3,6 +3,11 @@ This is the Rails 2 compatible branch/gem.
3
3
 
4
4
  == 0.6.x (git)
5
5
 
6
+ == 0.6.4
7
+
8
+ === Bugfixes
9
+ * Updates the matchers to use RSpec's new API instead of deprecated simple_matcher. (Aaron Gibralter)
10
+
6
11
  == 0.6.3
7
12
 
8
13
  === Bugfixes
@@ -33,7 +38,7 @@ This is the Rails 2 compatible branch/gem.
33
38
  === Changes
34
39
  * Deprecated steps were removed. (Kieran Pilkington)
35
40
 
36
- === Bufixes
41
+ === Bugfixes
37
42
 
38
43
  == 0.5.0 2010-02-22
39
44
 
@@ -46,10 +51,10 @@ This is the Rails 2 compatible branch/gem.
46
51
  * "save and open all html emails"
47
52
  * "save and open all raw emails"
48
53
 
49
- === Bufixes
54
+ === Bugfixes
50
55
  * Gracefully handle cases where emails do not have a 'to' value. (Kieran Pilkington)
51
56
 
52
- === Bufixes
57
+ === Bugfixes
53
58
 
54
59
  == 0.4.0 2010-01-07
55
60
 
@@ -57,12 +62,12 @@ This is the Rails 2 compatible branch/gem.
57
62
  * Added support for action_mailer_cache_delivery plugin. (Dan Dofter)
58
63
  You must use the fork at: http://github.com/liangzan/action_mailer_cache_delivery
59
64
 
60
- === Bufixes
65
+ === Bugfixes
61
66
  * be_delivered_from matcher now compares both sender name and email address. (Dan Dofter)
62
67
 
63
68
  == 0.3.8 2009-12-23
64
69
 
65
- === Bufixes
70
+ === Bugfixes
66
71
  * Guard against cc and bcc fields being nil for ActionMailer. (Piotr Sarnacki)
67
72
 
68
73
  == 0.3.7 2009-12-17
@@ -122,7 +127,7 @@ Big shoutout to Kieran Pilkington who did the majority of work for this release.
122
127
  * Then /^I should not receive any emails?$/
123
128
  * When %r{^"([^"]*?)" opens? the email$} do |address|
124
129
 
125
- === Bufixes
130
+ === Bugfixes
126
131
 
127
132
  == 0.2.1 2009-5-29
128
133
 
@@ -138,19 +143,19 @@ No changes. Bumping version for RubyForge release.
138
143
 
139
144
  == 0.1.4 2009-5-29
140
145
 
141
- === Bufixes
146
+ === Bugfixes
142
147
  * Require deliveries in the helpers so it doesn't blow up with RSpec. (Craig Webster)
143
148
 
144
149
  == 0.1.3 2009-4-15
145
150
 
146
- === Bufixes
151
+ === Bugfixes
147
152
  * Fixed regular expressions in genertaed steps. (Ben Mabey)
148
153
  * World semantics changed in cucumber (0.2.3.2), email_spec now uses the new API. (Hector Morales)
149
154
 
150
155
  == 0.1.2 2009-4-05
151
156
 
152
157
  === New features
153
- === Bufixes
158
+ === Bugfixes
154
159
  * Actually added the renamed generators to the gem so people could use it! D'oh! (Ben Mabey)
155
160
  * You can either use "./script generate email_spec" or "rubigen rails email_spec"
156
161
  * Removed Rake tasks from example application to prevent conflicts when used as a plugin. (Ben Mabey)
@@ -159,7 +164,7 @@ No changes. Bumping version for RubyForge release.
159
164
  === New features
160
165
  * Switched dir structure over to support rubigen. (Dr. Nic)
161
166
 
162
- === Bufixes
167
+ === Bugfixes
163
168
 
164
169
  == 0.1.0 2009-3-25
165
170
  === New features
@@ -181,7 +186,7 @@ No changes. Bumping version for RubyForge release.
181
186
  end
182
187
  end
183
188
 
184
- === Bufixes
189
+ === Bugfixes
185
190
  * Revert parse_email_for_link helper method to allow for text links as well as explicit link finding. (Mischa Fierer)
186
191
  * Isolated variances between using email-spec with an ARMailer project. (Luke Melia)
187
192
 
@@ -132,86 +132,89 @@ module EmailSpec
132
132
  BccTo.new(expected_email_addresses_or_objects_that_respond_to_email.flatten)
133
133
  end
134
134
 
135
- def have_subject(expected)
136
- simple_matcher do |given, matcher|
135
+ Spec::Matchers.define :have_subject do
136
+ match do |given|
137
137
  given_subject = given.subject
138
+ expected_subject = expected.first
138
139
 
139
- if expected.is_a?(String)
140
- matcher.description = "have subject of #{expected.inspect}"
141
- matcher.failure_message = "expected the subject to be #{expected.inspect} but was #{given_subject.inspect}"
142
- matcher.negative_failure_message = "expected the subject not to be #{expected.inspect} but was"
140
+ if expected_subject.is_a?(String)
141
+ description { "have subject of #{expected_subject.inspect}" }
142
+ failure_message_for_should { "expected the subject to be #{expected_subject.inspect} but was #{given_subject.inspect}" }
143
+ failure_message_for_should_not { "expected the subject not to be #{expected_subject.inspect} but was" }
143
144
 
144
- given_subject == expected
145
+ given_subject == expected_subject
145
146
  else
146
- matcher.description = "have subject matching #{expected.inspect}"
147
- matcher.failure_message = "expected the subject to match #{expected.inspect}, but did not. Actual subject was: #{given_subject.inspect}"
148
- matcher.negative_failure_message = "expected the subject not to match #{expected.inspect} but #{given_subject.inspect} does match it."
147
+ description { "have subject matching #{expected_subject.inspect}" }
148
+ failure_message_for_should { "expected the subject to match #{expected_subject.inspect}, but did not. Actual subject was: #{given_subject.inspect}" }
149
+ failure_message_for_should_not { "expected the subject not to match #{expected_subject.inspect} but #{given_subject.inspect} does match it." }
149
150
 
150
- !!(given_subject =~ expected)
151
+ !!(given_subject =~ expected_subject)
151
152
  end
152
153
  end
153
154
  end
154
155
 
155
- def include_email_with_subject(expected)
156
- simple_matcher do |given_emails, matcher|
156
+ Spec::Matchers.define :include_email_with_subject do
157
+ match do |given_emails|
158
+ expected_subject = expected.first
157
159
 
158
- if expected.is_a?(String)
159
- matcher.description = "include email with subject of #{expected.inspect}"
160
- matcher.failure_message = "expected at least one email to have the subject #{expected.inspect} but none did. Subjects were #{given_emails.map(&:subject).inspect}"
161
- matcher.negative_failure_message = "expected no email with the subject #{expected.inspect} but found at least one. Subjects were #{given_emails.map(&:subject).inspect}"
160
+ if expected_subject.is_a?(String)
161
+ description { "include email with subject of #{expected_subject.inspect}" }
162
+ failure_message_for_should { "expected at least one email to have the subject #{expected_subject.inspect} but none did. Subjects were #{given_emails.map(&:subject).inspect}" }
163
+ failure_message_for_should_not { "expected no email with the subject #{expected_subject.inspect} but found at least one. Subjects were #{given_emails.map(&:subject).inspect}" }
162
164
 
163
- given_emails.map(&:subject).include?(expected)
165
+ given_emails.map(&:subject).include?(expected_subject)
164
166
  else
165
- matcher.description = "include email with subject matching #{expected.inspect}"
166
- matcher.failure_message = "expected at least one email to have a subject matching #{expected.inspect}, but none did. Subjects were #{given_emails.map(&:subject).inspect}"
167
- matcher.negative_failure_message = "expected no email to have a subject matching #{expected.inspect} but found at least one. Subjects were #{given_emails.map(&:subject).inspect}"
167
+ description { "include email with subject matching #{expected_subject.inspect}" }
168
+ failure_message_for_should { "expected at least one email to have a subject matching #{expected_subject.inspect}, but none did. Subjects were #{given_emails.map(&:subject).inspect}" }
169
+ failure_message_for_should_not { "expected no email to have a subject matching #{expected_subject.inspect} but found at least one. Subjects were #{given_emails.map(&:subject).inspect}" }
168
170
 
169
- !!(given_emails.any?{ |mail| mail.subject =~ expected })
171
+ !!(given_emails.any?{ |mail| mail.subject =~ expected_subject })
170
172
  end
171
173
  end
172
174
  end
173
175
 
174
- def have_body_text(expected)
175
- simple_matcher do |given, matcher|
176
+ Spec::Matchers.define :have_body_text do
177
+ match do |given|
178
+ expected_text = expected.first
176
179
 
177
- if expected.is_a?(String)
180
+ if expected_text.is_a?(String)
178
181
  normalized_body = given.body.gsub(/\s+/, " ")
179
- normalized_expected = expected.gsub(/\s+/, " ")
180
- matcher.description = "have body including #{normalized_expected.inspect}"
181
- matcher.failure_message = "expected the body to contain #{normalized_expected.inspect} but was #{normalized_body.inspect}"
182
- matcher.negative_failure_message = "expected the body not to contain #{normalized_expected.inspect} but was #{normalized_body.inspect}"
182
+ normalized_expected = expected_text.gsub(/\s+/, " ")
183
+ description { "have body including #{normalized_expected.inspect}" }
184
+ failure_message_for_should { "expected the body to contain #{normalized_expected.inspect} but was #{normalized_body.inspect}" }
185
+ failure_message_for_should_not { "expected the body not to contain #{normalized_expected.inspect} but was #{normalized_body.inspect}" }
183
186
 
184
187
  normalized_body.include?(normalized_expected)
185
188
  else
186
189
  given_body = given.body
187
- matcher.description = "have body matching #{expected.inspect}"
188
- matcher.failure_message = "expected the body to match #{expected.inspect}, but did not. Actual body was: #{given_body.inspect}"
189
- matcher.negative_failure_message = "expected the body not to match #{expected.inspect} but #{given_body.inspect} does match it."
190
+ description { "have body matching #{expected_text.inspect}" }
191
+ failure_message_for_should { "expected the body to match #{expected_text.inspect}, but did not. Actual body was: #{given_body.inspect}" }
192
+ failure_message_for_should_not { "expected the body not to match #{expected_text.inspect} but #{given_body.inspect} does match it." }
190
193
 
191
- !!(given_body =~ expected)
194
+ !!(given_body =~ expected_text)
192
195
  end
193
196
  end
194
197
  end
195
198
 
196
- def have_header(expected_name, expected_value)
197
- simple_matcher do |given, matcher|
199
+ Spec::Matchers.define :have_header do
200
+ match do |given|
198
201
  given_header = given.header
202
+ expected_name, expected_value = *expected
199
203
 
200
204
  if expected_value.is_a?(String)
201
- matcher.description = "have header #{expected_name}: #{expected_value}"
202
- matcher.failure_message = "expected the headers to include '#{expected_name}: #{expected_value}' but they were #{given_header.inspect}"
203
- matcher.negative_failure_message = "expected the headers not to include '#{expected_name}: #{expected_value}' but they were #{given_header.inspect}"
205
+ description { "have header #{expected_name}: #{expected_value}" }
206
+ failure_message_for_should { "expected the headers to include '#{expected_name}: #{expected_value}' but they were #{given_header.inspect}" }
207
+ failure_message_for_should_not { "expected the headers not to include '#{expected_name}: #{expected_value}' but they were #{given_header.inspect}" }
204
208
 
205
209
  given_header[expected_name].to_s == expected_value
206
210
  else
207
- matcher.description = "have header #{expected_name} with value matching #{expected_value.inspect}"
208
- matcher.failure_message = "expected the headers to include '#{expected_name}' with a value matching #{expected_value.inspect} but they were #{given_header.inspect}"
209
- matcher.negative_failure_message = "expected the headers not to include '#{expected_name}' with a value matching #{expected_value.inspect} but they were #{given_header.inspect}"
211
+ description { "have header #{expected_name} with value matching #{expected_value.inspect}" }
212
+ failure_message_for_should { "expected the headers to include '#{expected_name}' with a value matching #{expected_value.inspect} but they were #{given_header.inspect}" }
213
+ failure_message_for_should_not { "expected the headers not to include '#{expected_name}' with a value matching #{expected_value.inspect} but they were #{given_header.inspect}" }
210
214
 
211
215
  given_header[expected_name].to_s =~ expected_value
212
216
  end
213
217
  end
214
218
  end
215
-
216
219
  end
217
220
  end
@@ -16,7 +16,7 @@ describe EmailSpec::Helpers do
16
16
  end
17
17
 
18
18
  it "causes a spec to fail if the body doesn't contain the text specified to click" do
19
- email = stub(:has_body_text? => false)
19
+ email = stub(:has_body_text? => false, :body => "hello")
20
20
  lambda { parse_email_for_link(email, "non-existent text") }.should raise_error(Spec::Expectations::ExpectationNotMetError)
21
21
  end
22
22
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: email_spec
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1
4
+ hash: 15
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 6
9
- - 3
10
- version: 0.6.3
9
+ - 4
10
+ version: 0.6.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Ben Mabey
@@ -17,7 +17,7 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2010-07-30 00:00:00 -06:00
20
+ date: 2010-10-06 00:00:00 -06:00
21
21
  default_executable:
22
22
  dependencies: []
23
23