email_spec 0.6.2 → 0.6.3

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