diff options
Diffstat (limited to 'spec')
-rw-r--r-- | spec/fixtures/files/forward-quoting-example-2.email | 318 | ||||
-rw-r--r-- | spec/fixtures/files/forward-quoting-example.email | 73 | ||||
-rw-r--r-- | spec/models/incoming_message_spec.rb | 17 |
3 files changed, 408 insertions, 0 deletions
diff --git a/spec/fixtures/files/forward-quoting-example-2.email b/spec/fixtures/files/forward-quoting-example-2.email new file mode 100644 index 000000000..936de3ddb --- /dev/null +++ b/spec/fixtures/files/forward-quoting-example-2.email @@ -0,0 +1,318 @@ +From foi@example.com Wed May 28 14:14:39 2008 +To: FOI Person <EMAIL_TO> +Subject: RE: Freedom of Information request +Date: Wed, 28 May 2008 14:16:55 +0100 +MIME-Version: 1.0 +Content-Type: multipart/alternative; + boundary="----=_NextPart_000_008E_01C8C0CD.7BC69660" + +This is a multi-part message in MIME format. + +------=_NextPart_000_008E_01C8C0CD.7BC69660 +Content-Type: text/plain; + charset="us-ascii" +Content-Transfer-Encoding: 7bit + +Dear Mr Smith + +Some information + +Yours sincerely + +Foi Officer + +Please note that my email address has changed to foi@example.com + + +From: Foi Officer [mailto:foi@example.com] On Behalf Of Foi Officer +Sent: 19 May 2008 12:24 +To: Bob Smith +Subject: RE: Freedom of Information request + +Dear Mr Smith + +Some information + +Please note that my email address has changed to foi@example.com + + +-----Original Message----- +From: Bob Smith [mailto:request-xxx-xxxxx@whatdotheyknow.com] +Sent: 18 May 2008 14:22 +To: FOI requests at Example +Subject: Freedom of Information request + Dear Sir or Madam, + + Some information? + + Yours faithfully, + Bob Smith + ------------------------------------------------------------------- + Is this the wrong address for Freedom of Information + requests to Example? If so please let us know + by emailing xxx@whatdotheyknow.com - we'll make sure future ones go + to the right place. + ------------------------------------------------------------------- + + +------=_NextPart_000_008E_01C8C0CD.7BC69660 +Content-Type: text/html; + charset="us-ascii" +Content-Transfer-Encoding: 7bit + +<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40"> + +<head> +<meta http-equiv=Content-Type content="text/html; charset=us-ascii"> +<meta name=ProgId content=Word.Document> +<meta name=Generator content="Microsoft Word 11"> +<meta name=Originator content="Microsoft Word 11"> +<link rel=File-List href="cid:filelist.xml@01C8C0CD.7B3EA1B0"> +<link rel=Edit-Time-Data href="cid:editdata.mso"> +<!--[if !mso]> +<style> +v\:* {behavior:url(#default#VML);} +o\:* {behavior:url(#default#VML);} +w\:* {behavior:url(#default#VML);} +.shape {behavior:url(#default#VML);} +</style> +<![endif]--> +<title>RE: Freedom of Information request </title> +<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags" + name="Street"/> +<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags" + name="address"/> +<!--[if gte mso 9]><xml> + <o:OfficeDocumentSettings> + <o:DoNotRelyOnCSS/> + </o:OfficeDocumentSettings> +</xml><![endif]--><!--[if gte mso 9]><xml> + <w:WordDocument> + <w:DisplayBackgroundShape/> + <w:SpellingState>Clean</w:SpellingState> + <w:GrammarState>Clean</w:GrammarState> + <w:DocumentKind>DocumentEmail</w:DocumentKind> + <w:EnvelopeVis/> + <w:ValidateAgainstSchemas/> + <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> + <w:IgnoreMixedContent>false</w:IgnoreMixedContent> + <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> + <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> + </w:WordDocument> +</xml><![endif]--><!--[if gte mso 9]><xml> + <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> + </w:LatentStyles> +</xml><![endif]--><!--[if !mso]> +<style> +st1\:*{behavior:url(#default#ieooui) } +</style> +<![endif]--> +<style> +<!-- + /* Font Definitions */ + @font-face + {font-family:Tahoma; + panose-1:2 11 6 4 3 5 4 4 2 4; + mso-font-charset:0; + mso-generic-font-family:swiss; + mso-font-pitch:variable; + mso-font-signature:1627421319 -2147483648 8 0 66047 0;} + /* Style Definitions */ + p.MsoNormal, li.MsoNormal, div.MsoNormal + {mso-style-parent:""; + margin:0in; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + font-size:12.0pt; + font-family:"Times New Roman"; + mso-fareast-font-family:"Times New Roman";} +a:link, span.MsoHyperlink + {color:blue; + text-decoration:underline; + text-underline:single;} +a:visited, span.MsoHyperlinkFollowed + {color:blue; + text-decoration:underline; + text-underline:single;} +p + {mso-margin-top-alt:auto; + margin-right:0in; + mso-margin-bottom-alt:auto; + margin-left:0in; + mso-pagination:widow-orphan; + font-size:12.0pt; + font-family:"Times New Roman"; + mso-fareast-font-family:"Times New Roman";} +span.EmailStyle18 + {mso-style-type:personal-reply; + mso-style-noshow:yes; + mso-ansi-font-size:10.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-ascii-font-family:Arial; + mso-hansi-font-family:Arial; + mso-bidi-font-family:Arial; + color:navy;} +span.SpellE + {mso-style-name:""; + mso-spl-e:yes;} +span.GramE + {mso-style-name:""; + mso-gram-e:yes;} +@page Section1 + {size:595.3pt 841.9pt; + margin:1.0in 1.0in 1.0in 1.0in; + mso-header-margin:35.3pt; + mso-footer-margin:35.3pt; + mso-paper-source:0;} +div.Section1 + {page:Section1;} +--> +</style> +<!--[if gte mso 10]> +<style> + /* Style Definitions */ + table.MsoNormalTable + {mso-style-name:"Table Normal"; + mso-tstyle-rowband-size:0; + mso-tstyle-colband-size:0; + mso-style-noshow:yes; + mso-style-parent:""; + mso-padding-alt:0in 5.4pt 0in 5.4pt; + mso-para-margin:0in; + mso-para-margin-bottom:.0001pt; + mso-pagination:widow-orphan; + font-size:10.0pt; + font-family:"Times New Roman"; + mso-ansi-language:#0400; + mso-fareast-language:#0400; + mso-bidi-language:#0400;} +</style> +<![endif]--><!--[if gte mso 9]><xml> + <o:shapedefaults v:ext="edit" spidmax="1026" /> +</xml><![endif]--><!--[if gte mso 9]><xml> + <o:shapelayout v:ext="edit"> + <o:idmap v:ext="edit" data="1" /> + </o:shapelayout></xml><![endif]--> +</head> + +<body lang=EN-GB link=blue vlink=blue style='tab-interval:.5in'> + +<div class=Section1> + +<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size: +10.0pt;font-family:Arial;color:navy'>Dear Mr Smith<o:p></o:p></span></font></p> + +<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size: +10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p> + +<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size: +10.0pt;font-family:Arial;color:navy'>Some information.</p> + +<div> + +<p class=MsoNormal><strong><b><font size=2 color=navy face=Arial><span +style='font-size:10.0pt;font-family:Arial;color:navy;mso-no-proof:yes'>Please +note that my email address has changed to <a href="mailto:foi@example.com">foi@example.com</a></span></font></b></strong><font +color=navy><span style='color:navy;mso-no-proof:yes'><o:p></o:p></span></font></p> + +<p class=MsoNormal><font size=3 color=navy face="Times New Roman"><span +style='font-size:12.0pt;color:navy;mso-no-proof:yes'> <o:p></o:p></span></font></p> + +</div> + +<div> + +<div class=MsoNormal align=center style='text-align:center'><font size=3 +face="Times New Roman"><span lang=EN-US style='font-size:12.0pt;mso-ansi-language: +EN-US'> + +<hr size=2 width="100%" align=center tabindex=-1> + +</span></font></div> + +<p class=MsoNormal><b><font size=2 face=Tahoma><span lang=EN-US +style='font-size:10.0pt;font-family:Tahoma;mso-ansi-language:EN-US;font-weight: +bold'>From:</span></font></b><font size=2 face=Tahoma><span lang=EN-US +style='font-size:10.0pt;font-family:Tahoma;mso-ansi-language:EN-US'> Foi Officer +[mailto:foi@example.com] <b><span style='font-weight:bold'>On Behalf Of </span></b>Foi +Officer<br> +<b><span style='font-weight:bold'>Sent:</span></b> 19 May 2008 12:24<br> +<b><span style='font-weight:bold'>To:</span></b> Bob Smith<br> +<b><span style='font-weight:bold'>Subject:</span></b> RE: Freedom of +Information request </span></font><span lang=EN-US style='mso-ansi-language: +EN-US'><o:p></o:p></span></p> + +</div> + +<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size: +12.0pt'><o:p> </o:p></span></font></p> + +<p><font size=2 face="Times New Roman"><span style='font-size:10.0pt'>Dear Mr +Smith</span></font> <o:p></o:p></p> + +<p><font size=2 face="Times New Roman"><span style='font-size:10.0pt'>Some information. </span></font><o:p></o:p></p> + + +<p><font size=2 face="Times New Roman"><span style='font-size:10.0pt'>Yours +sincerely</span></font> <o:p></o:p></p> + +<p><font size=2 face="Times New Roman"><span style='font-size:10.0pt'>Foi Officer</span></font> <o:p></o:p></p> + + +<p><font size=2 face="Times New Roman"><span style='font-size:10.0pt'>-----Original +Message-----</span></font> <br> +<font size=2><span style='font-size:10.0pt'>From: Bob Smith [<a +href="mailto:request-xxx-xxxx@whatdotheyknow.com">mailto:request-xxx-xxxxx@whatdotheyknow.com</a>] +</span></font><br> +<font size=2><span style='font-size:10.0pt'>Sent: 18 May 2008 14:22</span></font> +<br> +<font size=2><span style='font-size:10.0pt'>To: FOI requests at Example</span></font> <br> +<font size=2><span style='font-size:10.0pt'>Subject: Freedom of Information +request</span></font> +<o:p></o:p></p> + +<p><font size=2 face="Times New Roman"><span style='font-size:10.0pt'> +Dear Sir or Madam,</span></font> <o:p></o:p></p> + +<p><font size=2 face="Times New Roman"><span style='font-size:10.0pt'> +Some information?</span></font> <font +color=navy><span style='color:navy'><span +style='mso-spacerun:yes'> </span></span></font><o:p></o:p></p> + +p><font size=2 face="Times New Roman"><span style='font-size:10.0pt'> +Yours faithfully,</span></font> <o:p></o:p></p> + +<p><font size=2 face="Times New Roman"><span style='font-size:10.0pt'> +Bob Smith</span></font> <o:p></o:p></p> + +<p><font size=2 face="Times New Roman"><span style='font-size:10.0pt'> +-------------------------------------------------------------------</span></font> +<br> +<font size=2><span style='font-size:10.0pt'> Is +this the wrong address for Freedom of Information</span></font> <br> +<font size=2><span style='font-size:10.0pt'> requests +to Example? If so please let us know</span></font> <br> +<font size=2><span style='font-size:10.0pt'> by +emailing xxxx@whatdotheyknow.com - we'll make sure future ones go</span></font> +<br> +<font size=2><span style='font-size:10.0pt'> to the +right place.</span></font> <br> +<font size=2><span style='font-size:10.0pt'> +-------------------------------------------------------------------</span></font> +<o:p></o:p></p> + +<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size: +12.0pt'><o:p> </o:p></span></font></p> + +</div> + + + + +</FONT></DIV></body></html> + +------=_NextPart_000_008E_01C8C0CD.7BC69660-- + + + diff --git a/spec/fixtures/files/forward-quoting-example.email b/spec/fixtures/files/forward-quoting-example.email new file mode 100644 index 000000000..80b29c533 --- /dev/null +++ b/spec/fixtures/files/forward-quoting-example.email @@ -0,0 +1,73 @@ +From foi@example.com Thu Apr 17 16:45:16 2008 +Return-path: <foi@example.com> +Envelope-to: request-xxx-xxxxx@whatdotheyknow.com +Delivery-date: Thu, 17 Apr 2008 16:45:16 +0100 +To: FOI Person <EMAIL_TO> +Subject: Re: Freedom of Information request +MIME-Version: 1.0 +From: FOI Officer <foi@example.com> +Date: Thu, 17 Apr 2008 16:44:53 +0100 +Content-Type: multipart/alternative; + boundary="=_alternative 0056816D8025742E_=" + +This is a multipart message in MIME format. + +--=_alternative 0056816D8025742E_= +Content-Type: text/plain; charset="us-ascii" +Content-Transfer-Encoding: 7bit + +17/04/08 + +Dear Mr Requester + +Some text. + +Bob Smith <request-xxx-xxxxx@whatdotheyknow.com> +17/04/08 15:57 + +To +FOI requests <foi@example.com> +cc + +Subject +Freedom of Information request + + + +--=_alternative 0056816D8025742E_= +Content-Type: text/html; charset="us-ascii" +Content-Transfer-Encoding: 7bit + + +<br><font size=2 face="sans-serif">17/04/08</font> +<br> +<br><font size=2 face="sans-serif">Dear Mr Requester</font> +<br> +<br><font size=2 face="Arial"><b>Some text.</font> +<br> +<br> +<br> +<table width=100%> +<tr valign=top> +<td width=40%><font size=1 face="sans-serif"><b> Bob Smith <request-xxx-xxxxx@whatdotheyknow.com></b> +</font> +<p><font size=1 face="sans-serif">17/04/08 15:57</font> +<td width=59%> +<table width=100%> +<tr> +<td> +<div align=right><font size=1 face="sans-serif">To</font></div> +<td valign=top><font size=1 face="sans-serif">FOI requests at <foi@example.com></font> +<tr> +<td> +<div align=right><font size=1 face="sans-serif">cc</font></div> +<td valign=top> +<tr> +<td> +<div align=right><font size=1 face="sans-serif">Subject</font></div> +<td valign=top><font size=1 face="sans-serif">Freedom of Information request</font></table> +<br> + + +--=_alternative 0056816D8025742E_=-- + diff --git a/spec/models/incoming_message_spec.rb b/spec/models/incoming_message_spec.rb index 69a5da0e9..b038c43d9 100644 --- a/spec/models/incoming_message_spec.rb +++ b/spec/models/incoming_message_spec.rb @@ -154,6 +154,23 @@ describe IncomingMessage, " folding quoted parts of emails" do text.should == "\n\nFOLDED_QUOTED_SECTION" end + it 'should fold an example of another kind of forward quoting' do + ir = info_requests(:fancy_dog_request) + receive_incoming_mail('forward-quoting-example.email', ir.incoming_email) + message = ir.incoming_messages[1] + message.get_main_body_text_folded.should match(/FOLDED_QUOTED_SECTION/) + end + + it 'should fold a further example of forward quoting' do + ir = info_requests(:fancy_dog_request) + receive_incoming_mail('forward-quoting-example-2.email', ir.incoming_email) + message = ir.incoming_messages[1] + body_text = message.get_main_body_text_folded + body_text.should match(/FOLDED_QUOTED_SECTION/) + # check that the quoted section incorporates both quoted messages + body_text.should_not match('Subject: RE: Freedom of Information request') + end + end describe IncomingMessage, " checking validity to reply to" do |