email_spec 0.6.2 → 0.6.3

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/History.txt CHANGED
@@ -1,4 +1,13 @@
1
- (In Git)
1
+
2
+ This is the Rails 2 compatible branch/gem.
3
+
4
+ == 0.6.x (git)
5
+
6
+ == 0.6.3
7
+
8
+ === Bugfixes
9
+ * Checks to prevent deprecation warnings on DelayedJob. (Patrick Muldoon)
10
+ * Further checks for older DelayedJob versions to fix compatibility issues. (Andrea Longhi and others)
2
11
 
3
12
  == 0.6.2 2010-03-21
4
13
 
data/Rakefile CHANGED
@@ -26,7 +26,7 @@ rescue LoadError
26
26
  end
27
27
 
28
28
  # TODO: switch to gem bundler
29
- ([['delayed_job', '1.8.4']] + %w[mimetype-fu fixjour pony sinatra rack-test].map{|g| [g]}).each do |gem_args|
29
+ ([['delayed_job', '2.0.3']] + %w[mimetype-fu fixjour pony sinatra rack-test].map{|g| [g]}).each do |gem_args|
30
30
  gem_name = gem_args.first
31
31
  gem_version = gem_args.size > 1 ? gem_args[1] : nil
32
32
  begin
@@ -0,0 +1,194 @@
1
+ # Commonly used email steps
2
+ #
3
+ # To add your own steps make a custom_email_steps.rb
4
+ # The provided methods are:
5
+ #
6
+ # last_email_address
7
+ # reset_mailer
8
+ # open_last_email
9
+ # visit_in_email
10
+ # unread_emails_for
11
+ # mailbox_for
12
+ # current_email
13
+ # open_email
14
+ # read_emails_for
15
+ # find_email
16
+ #
17
+ # General form for email scenarios are:
18
+ # - clear the email queue (done automatically by email_spec)
19
+ # - execute steps that sends an email
20
+ # - check the user received an/no/[0-9] emails
21
+ # - open the email
22
+ # - inspect the email contents
23
+ # - interact with the email (e.g. click links)
24
+ #
25
+ # The Cucumber steps below are setup in this order.
26
+
27
+ module EmailHelpers
28
+ def current_email_address
29
+ # Replace with your a way to find your current email. e.g @current_user.email
30
+ # last_email_address will return the last email address used by email spec to find an email.
31
+ # Note that last_email_address will be reset after each Scenario.
32
+ last_email_address || "example@example.com"
33
+ end
34
+ end
35
+
36
+ World(EmailHelpers)
37
+
38
+ #
39
+ # Reset the e-mail queue within a scenario.
40
+ # This is done automatically before each scenario.
41
+ #
42
+
43
+ Given /^(?:a clear email queue|no emails have been sent)$/ do
44
+ reset_mailer
45
+ end
46
+
47
+ #
48
+ # Check how many emails have been sent/received
49
+ #
50
+
51
+ Then /^(?:I|they|"([^"]*?)") should receive (an|no|\d+) emails?$/ do |address, amount|
52
+ unread_emails_for(address).size.should == parse_email_count(amount)
53
+ end
54
+
55
+ Then /^(?:I|they|"([^"]*?)") should have (an|no|\d+) emails?$/ do |address, amount|
56
+ mailbox_for(address).size.should == parse_email_count(amount)
57
+ end
58
+
59
+ Then /^(?:I|they|"([^"]*?)") should receive (an|no|\d+) emails? with subject "([^"]*?)"$/ do |address, amount, subject|
60
+ unread_emails_for(address).select { |m| m.subject =~ Regexp.new(subject) }.size.should == parse_email_count(amount)
61
+ end
62
+
63
+ Then /^(?:I|they|"([^"]*?)") should receive an email with the following body:$/ do |address, expected_body|
64
+ open_email(address, :with_text => expected_body)
65
+ end
66
+
67
+ #
68
+ # Accessing emails
69
+ #
70
+
71
+ # Opens the most recently received email
72
+ When /^(?:I|they|"([^"]*?)") opens? the email$/ do |address|
73
+ open_email(address)
74
+ end
75
+
76
+ When /^(?:I|they|"([^"]*?)") opens? the email with subject "([^"]*?)"$/ do |address, subject|
77
+ open_email(address, :with_subject => subject)
78
+ end
79
+
80
+ When /^(?:I|they|"([^"]*?)") opens? the email with text "([^"]*?)"$/ do |address, text|
81
+ open_email(address, :with_text => text)
82
+ end
83
+
84
+ #
85
+ # Inspect the Email Contents
86
+ #
87
+
88
+ Then /^(?:I|they) should see "([^"]*?)" in the email subject$/ do |text|
89
+ current_email.should have_subject(text)
90
+ end
91
+
92
+ Then /^(?:I|they) should see \/([^"]*?)\/ in the email subject$/ do |text|
93
+ current_email.should have_subject(Regexp.new(text))
94
+ end
95
+
96
+ Then /^(?:I|they) should see "([^"]*?)" in the email body$/ do |text|
97
+ current_email.default_part_body.to_s.should include(text)
98
+ end
99
+
100
+ Then /^(?:I|they) should see \/([^"]*?)\/ in the email body$/ do |text|
101
+ current_email.default_part_body.to_s.should =~ Regexp.new(text)
102
+ end
103
+
104
+ Then /^(?:I|they) should see the email delivered from "([^"]*?)"$/ do |text|
105
+ current_email.should be_delivered_from(text)
106
+ end
107
+
108
+ Then /^(?:I|they) should see "([^\"]*)" in the email "([^"]*?)" header$/ do |text, name|
109
+ current_email.should have_header(name, text)
110
+ end
111
+
112
+ Then /^(?:I|they) should see \/([^\"]*)\/ in the email "([^"]*?)" header$/ do |text, name|
113
+ current_email.should have_header(name, Regexp.new(text))
114
+ end
115
+
116
+ Then /^I should see it is a multi\-part email$/ do
117
+ current_email.should be_multipart
118
+ end
119
+
120
+ Then /^(?:I|they) should see "([^"]*?)" in the email html part body$/ do |text|
121
+ current_email.html_part.body.to_s.should include(text)
122
+ end
123
+
124
+ Then /^(?:I|they) should see "([^"]*?)" in the email text part body$/ do |text|
125
+ current_email.text_part.body.to_s.should include(text)
126
+ end
127
+
128
+ #
129
+ # Inspect the Email Attachments
130
+ #
131
+
132
+ Then /^(?:I|they) should see (an|no|\d+) attachments? with the email$/ do |amount|
133
+ current_email_attachments.size.should == parse_email_count(amount)
134
+ end
135
+
136
+ Then /^there should be (an|no|\d+) attachments? named "([^"]*?)"$/ do |amount, filename|
137
+ current_email_attachments.select { |a| a.filename == filename }.size.should == parse_email_count(amount)
138
+ end
139
+
140
+ Then /^attachment (\d+) should be named "([^"]*?)"$/ do |index, filename|
141
+ current_email_attachments[(index.to_i - 1)].filename.should == filename
142
+ end
143
+
144
+ Then /^there should be (an|no|\d+) attachments? of type "([^"]*?)"$/ do |amount, content_type|
145
+ current_email_attachments.select { |a| a.content_type.include?(content_type) }.size.should == parse_email_count(amount)
146
+ end
147
+
148
+ Then /^attachment (\d+) should be of type "([^"]*?)"$/ do |index, content_type|
149
+ current_email_attachments[(index.to_i - 1)].content_type.should include(content_type)
150
+ end
151
+
152
+ Then /^all attachments should not be blank$/ do
153
+ current_email_attachments.each do |attachment|
154
+ attachment.read.size.should_not == 0
155
+ end
156
+ end
157
+
158
+ Then /^show me a list of email attachments$/ do
159
+ EmailSpec::EmailViewer::save_and_open_email_attachments_list(current_email)
160
+ end
161
+
162
+ #
163
+ # Interact with Email Contents
164
+ #
165
+
166
+ When /^(?:I|they) follow "([^"]*?)" in the email$/ do |link|
167
+ visit_in_email(link)
168
+ end
169
+
170
+ When /^(?:I|they) click the first link in the email$/ do
171
+ click_first_link_in_email
172
+ end
173
+
174
+ #
175
+ # Debugging
176
+ # These only work with Rails and OSx ATM since EmailViewer uses RAILS_ROOT and OSx's 'open' command.
177
+ # Patches accepted. ;)
178
+ #
179
+
180
+ Then /^save and open current email$/ do
181
+ EmailSpec::EmailViewer::save_and_open_email(current_email)
182
+ end
183
+
184
+ Then /^save and open all text emails$/ do
185
+ EmailSpec::EmailViewer::save_and_open_all_text_emails
186
+ end
187
+
188
+ Then /^save and open all html emails$/ do
189
+ EmailSpec::EmailViewer::save_and_open_all_html_emails
190
+ end
191
+
192
+ Then /^save and open all raw emails$/ do
193
+ EmailSpec::EmailViewer::save_and_open_all_raw_emails
194
+ end
@@ -0,0 +1 @@
1
+ features/errors.feature:13:17:21:26:30
@@ -0,0 +1,194 @@
1
+ # Commonly used email steps
2
+ #
3
+ # To add your own steps make a custom_email_steps.rb
4
+ # The provided methods are:
5
+ #
6
+ # last_email_address
7
+ # reset_mailer
8
+ # open_last_email
9
+ # visit_in_email
10
+ # unread_emails_for
11
+ # mailbox_for
12
+ # current_email
13
+ # open_email
14
+ # read_emails_for
15
+ # find_email
16
+ #
17
+ # General form for email scenarios are:
18
+ # - clear the email queue (done automatically by email_spec)
19
+ # - execute steps that sends an email
20
+ # - check the user received an/no/[0-9] emails
21
+ # - open the email
22
+ # - inspect the email contents
23
+ # - interact with the email (e.g. click links)
24
+ #
25
+ # The Cucumber steps below are setup in this order.
26
+
27
+ module EmailHelpers
28
+ def current_email_address
29
+ # Replace with your a way to find your current email. e.g @current_user.email
30
+ # last_email_address will return the last email address used by email spec to find an email.
31
+ # Note that last_email_address will be reset after each Scenario.
32
+ last_email_address || "example@example.com"
33
+ end
34
+ end
35
+
36
+ World(EmailHelpers)
37
+
38
+ #
39
+ # Reset the e-mail queue within a scenario.
40
+ # This is done automatically before each scenario.
41
+ #
42
+
43
+ Given /^(?:a clear email queue|no emails have been sent)$/ do
44
+ reset_mailer
45
+ end
46
+
47
+ #
48
+ # Check how many emails have been sent/received
49
+ #
50
+
51
+ Then /^(?:I|they|"([^"]*?)") should receive (an|no|\d+) emails?$/ do |address, amount|
52
+ unread_emails_for(address).size.should == parse_email_count(amount)
53
+ end
54
+
55
+ Then /^(?:I|they|"([^"]*?)") should have (an|no|\d+) emails?$/ do |address, amount|
56
+ mailbox_for(address).size.should == parse_email_count(amount)
57
+ end
58
+
59
+ Then /^(?:I|they|"([^"]*?)") should receive (an|no|\d+) emails? with subject "([^"]*?)"$/ do |address, amount, subject|
60
+ unread_emails_for(address).select { |m| m.subject =~ Regexp.new(subject) }.size.should == parse_email_count(amount)
61
+ end
62
+
63
+ Then /^(?:I|they|"([^"]*?)") should receive an email with the following body:$/ do |address, expected_body|
64
+ open_email(address, :with_text => expected_body)
65
+ end
66
+
67
+ #
68
+ # Accessing emails
69
+ #
70
+
71
+ # Opens the most recently received email
72
+ When /^(?:I|they|"([^"]*?)") opens? the email$/ do |address|
73
+ open_email(address)
74
+ end
75
+
76
+ When /^(?:I|they|"([^"]*?)") opens? the email with subject "([^"]*?)"$/ do |address, subject|
77
+ open_email(address, :with_subject => subject)
78
+ end
79
+
80
+ When /^(?:I|they|"([^"]*?)") opens? the email with text "([^"]*?)"$/ do |address, text|
81
+ open_email(address, :with_text => text)
82
+ end
83
+
84
+ #
85
+ # Inspect the Email Contents
86
+ #
87
+
88
+ Then /^(?:I|they) should see "([^"]*?)" in the email subject$/ do |text|
89
+ current_email.should have_subject(text)
90
+ end
91
+
92
+ Then /^(?:I|they) should see \/([^"]*?)\/ in the email subject$/ do |text|
93
+ current_email.should have_subject(Regexp.new(text))
94
+ end
95
+
96
+ Then /^(?:I|they) should see "([^"]*?)" in the email body$/ do |text|
97
+ current_email.default_part_body.to_s.should include(text)
98
+ end
99
+
100
+ Then /^(?:I|they) should see \/([^"]*?)\/ in the email body$/ do |text|
101
+ current_email.default_part_body.to_s.should =~ Regexp.new(text)
102
+ end
103
+
104
+ Then /^(?:I|they) should see the email delivered from "([^"]*?)"$/ do |text|
105
+ current_email.should be_delivered_from(text)
106
+ end
107
+
108
+ Then /^(?:I|they) should see "([^\"]*)" in the email "([^"]*?)" header$/ do |text, name|
109
+ current_email.should have_header(name, text)
110
+ end
111
+
112
+ Then /^(?:I|they) should see \/([^\"]*)\/ in the email "([^"]*?)" header$/ do |text, name|
113
+ current_email.should have_header(name, Regexp.new(text))
114
+ end
115
+
116
+ Then /^I should see it is a multi\-part email$/ do
117
+ current_email.should be_multipart
118
+ end
119
+
120
+ Then /^(?:I|they) should see "([^"]*?)" in the email html part body$/ do |text|
121
+ current_email.html_part.body.to_s.should include(text)
122
+ end
123
+
124
+ Then /^(?:I|they) should see "([^"]*?)" in the email text part body$/ do |text|
125
+ current_email.text_part.body.to_s.should include(text)
126
+ end
127
+
128
+ #
129
+ # Inspect the Email Attachments
130
+ #
131
+
132
+ Then /^(?:I|they) should see (an|no|\d+) attachments? with the email$/ do |amount|
133
+ current_email_attachments.size.should == parse_email_count(amount)
134
+ end
135
+
136
+ Then /^there should be (an|no|\d+) attachments? named "([^"]*?)"$/ do |amount, filename|
137
+ current_email_attachments.select { |a| a.filename == filename }.size.should == parse_email_count(amount)
138
+ end
139
+
140
+ Then /^attachment (\d+) should be named "([^"]*?)"$/ do |index, filename|
141
+ current_email_attachments[(index.to_i - 1)].filename.should == filename
142
+ end
143
+
144
+ Then /^there should be (an|no|\d+) attachments? of type "([^"]*?)"$/ do |amount, content_type|
145
+ current_email_attachments.select { |a| a.content_type.include?(content_type) }.size.should == parse_email_count(amount)
146
+ end
147
+
148
+ Then /^attachment (\d+) should be of type "([^"]*?)"$/ do |index, content_type|
149
+ current_email_attachments[(index.to_i - 1)].content_type.should include(content_type)
150
+ end
151
+
152
+ Then /^all attachments should not be blank$/ do
153
+ current_email_attachments.each do |attachment|
154
+ attachment.read.size.should_not == 0
155
+ end
156
+ end
157
+
158
+ Then /^show me a list of email attachments$/ do
159
+ EmailSpec::EmailViewer::save_and_open_email_attachments_list(current_email)
160
+ end
161
+
162
+ #
163
+ # Interact with Email Contents
164
+ #
165
+
166
+ When /^(?:I|they) follow "([^"]*?)" in the email$/ do |link|
167
+ visit_in_email(link)
168
+ end
169
+
170
+ When /^(?:I|they) click the first link in the email$/ do
171
+ click_first_link_in_email
172
+ end
173
+
174
+ #
175
+ # Debugging
176
+ # These only work with Rails and OSx ATM since EmailViewer uses RAILS_ROOT and OSx's 'open' command.
177
+ # Patches accepted. ;)
178
+ #
179
+
180
+ Then /^save and open current email$/ do
181
+ EmailSpec::EmailViewer::save_and_open_email(current_email)
182
+ end
183
+
184
+ Then /^save and open all text emails$/ do
185
+ EmailSpec::EmailViewer::save_and_open_all_text_emails
186
+ end
187
+
188
+ Then /^save and open all html emails$/ do
189
+ EmailSpec::EmailViewer::save_and_open_all_html_emails
190
+ end
191
+
192
+ Then /^save and open all raw emails$/ do
193
+ EmailSpec::EmailViewer::save_and_open_all_raw_emails
194
+ end
@@ -26,12 +26,12 @@ module EmailSpec
26
26
  # Later versions of DelayedJob switch from using Delayed::Job to Delayed::Worker
27
27
  # Support both versions for those who haven't upgraded yet
28
28
  def work_off_queue
29
- if defined?(Delayed::Job)
30
- Delayed::Job.work_off
31
- else
29
+ if Delayed::Worker.instance_methods.detect{|iv| iv.to_s == "work_off" }
32
30
  Delayed::Worker.send :public, :work_off
33
31
  worker = Delayed::Worker.new(:max_priority => nil, :min_priority => nil, :quiet => true)
34
32
  worker.work_off
33
+ else
34
+ Delayed::Job.work_off
35
35
  end
36
36
  end
37
37
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Global Setup
4
4
  if defined?(ActionMailer)
5
- unless [:activerecord, :cache].include?(ActionMailer::Base.delivery_method)
5
+ unless [:test, :activerecord, :cache, :file].include?(ActionMailer::Base.delivery_method)
6
6
  ActionMailer::Base.delivery_method = :test
7
7
  end
8
8
  ActionMailer::Base.perform_deliveries = true
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: email_spec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ hash: 1
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 6
9
+ - 3
10
+ version: 0.6.3
5
11
  platform: ruby
6
12
  authors:
7
13
  - Ben Mabey
@@ -11,7 +17,7 @@ autorequire:
11
17
  bindir: bin
12
18
  cert_chain: []
13
19
 
14
- date: 2010-03-21 00:00:00 -06:00
20
+ date: 2010-07-30 00:00:00 -06:00
15
21
  default_executable:
16
22
  dependencies: []
17
23
 
@@ -41,6 +47,103 @@ files:
41
47
  - lib/email_spec/matchers.rb
42
48
  - rails_generators/email_spec/email_spec_generator.rb
43
49
  - rails_generators/email_spec/templates/email_steps.rb
50
+ - spec/email_spec/helpers_spec.rb
51
+ - spec/email_spec/matchers_spec.rb
52
+ - spec/spec.opts
53
+ - spec/spec_helper.rb
54
+ - examples/rails3_root/features/step_definitions/email_steps.rb
55
+ - examples/rails3_root/rerun.txt
56
+ - examples/rails_root/app/controllers/application_controller.rb
57
+ - examples/rails_root/app/controllers/welcome_controller.rb
58
+ - examples/rails_root/app/helpers/application_helper.rb
59
+ - examples/rails_root/app/helpers/welcome_helper.rb
60
+ - examples/rails_root/app/models/user.rb
61
+ - examples/rails_root/app/models/user_mailer.rb
62
+ - examples/rails_root/app/views/user_mailer/attachments.erb
63
+ - examples/rails_root/app/views/user_mailer/newsletter.erb
64
+ - examples/rails_root/app/views/user_mailer/signup.erb
65
+ - examples/rails_root/app/views/welcome/attachments.html.erb
66
+ - examples/rails_root/app/views/welcome/confirm.html.erb
67
+ - examples/rails_root/app/views/welcome/index.html.erb
68
+ - examples/rails_root/app/views/welcome/newsletter.html.erb
69
+ - examples/rails_root/app/views/welcome/signup.html.erb
70
+ - examples/rails_root/attachments/document.pdf
71
+ - examples/rails_root/attachments/image.png
72
+ - examples/rails_root/config/boot.rb
73
+ - examples/rails_root/config/cucumber.yml
74
+ - examples/rails_root/config/database.yml
75
+ - examples/rails_root/config/environment.rb
76
+ - examples/rails_root/config/environments/cucumber.rb
77
+ - examples/rails_root/config/environments/development.rb
78
+ - examples/rails_root/config/environments/production.rb
79
+ - examples/rails_root/config/environments/test.rb
80
+ - examples/rails_root/config/initializers/inflections.rb
81
+ - examples/rails_root/config/initializers/mime_types.rb
82
+ - examples/rails_root/config/initializers/new_rails_defaults.rb
83
+ - examples/rails_root/config/routes.rb
84
+ - examples/rails_root/db/migrate/20090125013728_create_users.rb
85
+ - examples/rails_root/db/migrate/20090908054656_create_delayed_jobs.rb
86
+ - examples/rails_root/db/schema.rb
87
+ - examples/rails_root/doc/README_FOR_APP
88
+ - examples/rails_root/features/attachments.feature
89
+ - examples/rails_root/features/delayed_job.feature
90
+ - examples/rails_root/features/errors.feature
91
+ - examples/rails_root/features/example.feature
92
+ - examples/rails_root/features/step_definitions/user_steps.rb
93
+ - examples/rails_root/features/step_definitions/web_steps.rb
94
+ - examples/rails_root/features/support/env.rb
95
+ - examples/rails_root/features/support/env_ext.rb
96
+ - examples/rails_root/features/support/paths.rb
97
+ - examples/rails_root/lib/tasks/cucumber.rake
98
+ - examples/rails_root/public/404.html
99
+ - examples/rails_root/public/422.html
100
+ - examples/rails_root/public/500.html
101
+ - examples/rails_root/public/dispatch.rb
102
+ - examples/rails_root/public/favicon.ico
103
+ - examples/rails_root/public/images/rails.png
104
+ - examples/rails_root/public/javascripts/application.js
105
+ - examples/rails_root/public/javascripts/controls.js
106
+ - examples/rails_root/public/javascripts/dragdrop.js
107
+ - examples/rails_root/public/javascripts/effects.js
108
+ - examples/rails_root/public/javascripts/prototype.js
109
+ - examples/rails_root/public/robots.txt
110
+ - examples/rails_root/Rakefile
111
+ - examples/rails_root/rerun.txt
112
+ - examples/rails_root/script/about
113
+ - examples/rails_root/script/autospec
114
+ - examples/rails_root/script/console
115
+ - examples/rails_root/script/cucumber
116
+ - examples/rails_root/script/dbconsole
117
+ - examples/rails_root/script/delayed_job
118
+ - examples/rails_root/script/destroy
119
+ - examples/rails_root/script/generate
120
+ - examples/rails_root/script/performance/benchmarker
121
+ - examples/rails_root/script/performance/profiler
122
+ - examples/rails_root/script/performance/request
123
+ - examples/rails_root/script/plugin
124
+ - examples/rails_root/script/process/inspector
125
+ - examples/rails_root/script/process/reaper
126
+ - examples/rails_root/script/process/spawner
127
+ - examples/rails_root/script/runner
128
+ - examples/rails_root/script/server
129
+ - examples/rails_root/script/spec
130
+ - examples/rails_root/script/spec_server
131
+ - examples/rails_root/spec/controllers/welcome_controller_spec.rb
132
+ - examples/rails_root/spec/model_factory.rb
133
+ - examples/rails_root/spec/models/user_mailer_spec.rb
134
+ - examples/rails_root/spec/models/user_spec.rb
135
+ - examples/rails_root/spec/rcov.opts
136
+ - examples/rails_root/spec/spec.opts
137
+ - examples/rails_root/spec/spec_helper.rb
138
+ - examples/sinatra/app.rb
139
+ - examples/sinatra/features/errors.feature
140
+ - examples/sinatra/features/example.feature
141
+ - examples/sinatra/features/step_definitions/email_steps.rb
142
+ - examples/sinatra/features/step_definitions/user_steps.rb
143
+ - examples/sinatra/features/step_definitions/web_steps.rb
144
+ - examples/sinatra/features/support/env.rb
145
+ - examples/sinatra/features/support/paths.rb
146
+ - examples/sinatra_root/features/step_definitions/email_steps.rb
44
147
  has_rdoc: true
45
148
  homepage: http://github.com/bmabey/email-spec/
46
149
  licenses: []
@@ -51,21 +154,27 @@ rdoc_options:
51
154
  require_paths:
52
155
  - lib
53
156
  required_ruby_version: !ruby/object:Gem::Requirement
157
+ none: false
54
158
  requirements:
55
159
  - - ">="
56
160
  - !ruby/object:Gem::Version
161
+ hash: 3
162
+ segments:
163
+ - 0
57
164
  version: "0"
58
- version:
59
165
  required_rubygems_version: !ruby/object:Gem::Requirement
166
+ none: false
60
167
  requirements:
61
168
  - - ">="
62
169
  - !ruby/object:Gem::Version
170
+ hash: 3
171
+ segments:
172
+ - 0
63
173
  version: "0"
64
- version:
65
174
  requirements: []
66
175
 
67
176
  rubyforge_project: email-spec
68
- rubygems_version: 1.3.5
177
+ rubygems_version: 1.3.7
69
178
  signing_key:
70
179
  specification_version: 3
71
180
  summary: Easily test email in rspec and cucumber
@@ -74,6 +183,8 @@ test_files:
74
183
  - spec/email_spec/matchers_spec.rb
75
184
  - spec/spec.opts
76
185
  - spec/spec_helper.rb
186
+ - examples/rails3_root/features/step_definitions/email_steps.rb
187
+ - examples/rails3_root/rerun.txt
77
188
  - examples/rails_root/app/controllers/application_controller.rb
78
189
  - examples/rails_root/app/controllers/welcome_controller.rb
79
190
  - examples/rails_root/app/helpers/application_helper.rb
@@ -164,3 +275,4 @@ test_files:
164
275
  - examples/sinatra/features/step_definitions/web_steps.rb
165
276
  - examples/sinatra/features/support/env.rb
166
277
  - examples/sinatra/features/support/paths.rb
278
+ - examples/sinatra_root/features/step_definitions/email_steps.rb