diff options
author | Louise Crow <louise.crow@gmail.com> | 2012-12-11 14:07:54 +0000 |
---|---|---|
committer | Louise Crow <louise.crow@gmail.com> | 2012-12-11 14:23:16 +0000 |
commit | e898190fe61a4369ee83e94a24327ff437435b07 (patch) | |
tree | 42f1fe6ee90dfe0bf3f9c7d36a80490b63056978 /spec/lib | |
parent | 7cfa3956fd373db35948ef33cde652b30229f9ad (diff) |
Wrap specs on the extraction of RFC-822 headers in code that sets the ENV timezone. TMail renders headers using localtime, which is not ideal, but we're migrating away from it anyway, so I'm not sure it's worth delving into the internals of TMail to fix it.
Diffstat (limited to 'spec/lib')
-rw-r--r-- | spec/lib/mail_handler/mail_handler_spec.rb | 24 | ||||
-rw-r--r-- | spec/lib/timezone_fixes_spec.rb | 16 |
2 files changed, 14 insertions, 26 deletions
diff --git a/spec/lib/mail_handler/mail_handler_spec.rb b/spec/lib/mail_handler/mail_handler_spec.rb index ae65210f2..48c32e2bc 100644 --- a/spec/lib/mail_handler/mail_handler_spec.rb +++ b/spec/lib/mail_handler/mail_handler_spec.rb @@ -283,16 +283,20 @@ describe 'when getting attachment attributes' do end it 'should expand a mail attached as text' do - mail = get_fixture_mail('rfc822-attachment.email') - attributes = MailHandler.get_attachment_attributes(mail) - attributes.size.should == 2 - rfc_attachment = attributes[1] - rfc_attachment[:within_rfc822_subject].should == 'Freedom of Information request' - headers = ['Date: Thu, 13 Mar 2008 16:57:33 +0000', - 'Subject: Freedom of Information request', - 'From: An FOI Officer <foi.officer@example.com>', - 'To: request-bounce-xx-xxxxx@whatdotheyno.com'] - rfc_attachment[:body].should == "#{headers.join("\n")}\n\nsome example text" + # Note that this spec will only pass using Tmail in the timezone set as datetime headers + # are rendered out in the local time - using the Mail gem this is not necessary + with_env_tz('London') do + mail = get_fixture_mail('rfc822-attachment.email') + attributes = MailHandler.get_attachment_attributes(mail) + attributes.size.should == 2 + rfc_attachment = attributes[1] + rfc_attachment[:within_rfc822_subject].should == 'Freedom of Information request' + headers = ['Date: Thu, 13 Mar 2008 16:57:33 +0000', + 'Subject: Freedom of Information request', + 'From: An FOI Officer <foi.officer@example.com>', + 'To: request-bounce-xx-xxxxx@whatdotheyno.com'] + rfc_attachment[:body].should == "#{headers.join("\n")}\n\nsome example text" + end end it 'should handle a mail which causes Tmail to generate a blank header value' do diff --git a/spec/lib/timezone_fixes_spec.rb b/spec/lib/timezone_fixes_spec.rb index a2bea5f64..525bd7561 100644 --- a/spec/lib/timezone_fixes_spec.rb +++ b/spec/lib/timezone_fixes_spec.rb @@ -92,22 +92,6 @@ describe "when doing things with timezones" do end end - - protected - - def with_env_tz(new_tz = 'US/Eastern') - old_tz, ENV['TZ'] = ENV['TZ'], new_tz - yield - ensure - old_tz ? ENV['TZ'] = old_tz : ENV.delete('TZ') - end - - def with_active_record_default_timezone(zone) - old_zone, ActiveRecord::Base.default_timezone = ActiveRecord::Base.default_timezone, zone - yield - ensure - ActiveRecord::Base.default_timezone = old_zone - end end |