You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by fa...@apache.org on 2019/12/26 09:27:52 UTC

svn commit: r1871994 - in /poi/trunk/src/scratchpad: src/org/apache/poi/extractor/ole2/OLE2ScratchpadExtractorFactory.java testcases/org/apache/poi/hsmf/TestFixedSizedProperties.java testcases/org/apache/poi/hsmf/extractor/TestOutlookTextExtractor.java

Author: fanningpj
Date: Thu Dec 26 09:27:51 2019
New Revision: 1871994

URL: http://svn.apache.org/viewvc?rev=1871994&view=rev
Log:
fix spelling of OutlookTextExtractor class name

Modified:
    poi/trunk/src/scratchpad/src/org/apache/poi/extractor/ole2/OLE2ScratchpadExtractorFactory.java
    poi/trunk/src/scratchpad/testcases/org/apache/poi/hsmf/TestFixedSizedProperties.java
    poi/trunk/src/scratchpad/testcases/org/apache/poi/hsmf/extractor/TestOutlookTextExtractor.java

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/extractor/ole2/OLE2ScratchpadExtractorFactory.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/extractor/ole2/OLE2ScratchpadExtractorFactory.java?rev=1871994&r1=1871993&r2=1871994&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/extractor/ole2/OLE2ScratchpadExtractorFactory.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/extractor/ole2/OLE2ScratchpadExtractorFactory.java Thu Dec 26 09:27:51 2019
@@ -31,7 +31,7 @@ import org.apache.poi.hpbf.extractor.Pub
 import org.apache.poi.hslf.usermodel.HSLFSlideShow;
 import org.apache.poi.hsmf.MAPIMessage;
 import org.apache.poi.hsmf.datatypes.AttachmentChunks;
-import org.apache.poi.hsmf.extractor.OutlookTextExtactor;
+import org.apache.poi.hsmf.extractor.OutlookTextExtractor;
 import org.apache.poi.hssf.extractor.ExcelExtractor;
 import org.apache.poi.hwpf.OldWordFileFormatException;
 import org.apache.poi.hwpf.extractor.Word6Extractor;
@@ -103,7 +103,7 @@ public class OLE2ScratchpadExtractorFact
         };
         for (String entryName : outlookEntryNames) {
             if (poifsDir.hasEntry(entryName)) {
-                return new OutlookTextExtactor(poifsDir);
+                return new OutlookTextExtractor(poifsDir);
             }
         }
 
@@ -158,9 +158,9 @@ public class OLE2ScratchpadExtractorFact
             //} else if(ext instanceof PowerPointExtractor) {
             // Tricky, not stored directly in poifs
             // TODO
-        } else if (ext instanceof OutlookTextExtactor) {
+        } else if (ext instanceof OutlookTextExtractor) {
             // Stored in the Attachment blocks
-            MAPIMessage msg = ((OutlookTextExtactor)ext).getMAPIMessage();
+            MAPIMessage msg = ((OutlookTextExtractor)ext).getMAPIMessage();
             for (AttachmentChunks attachment : msg.getAttachmentFiles()) {
                 if (attachment.getAttachData() != null) {
                     byte[] data = attachment.getAttachData().getValue();

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hsmf/TestFixedSizedProperties.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hsmf/TestFixedSizedProperties.java?rev=1871994&r1=1871993&r2=1871994&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hsmf/TestFixedSizedProperties.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hsmf/TestFixedSizedProperties.java Thu Dec 26 09:27:51 2019
@@ -43,6 +43,7 @@ import org.apache.poi.hsmf.datatypes.Pro
 import org.apache.poi.hsmf.datatypes.PropertyValue.TimePropertyValue;
 import org.apache.poi.hsmf.dev.HSMFDump;
 import org.apache.poi.hsmf.extractor.OutlookTextExtactor;
+import org.apache.poi.hsmf.extractor.OutlookTextExtractor;
 import org.apache.poi.poifs.filesystem.POIFSFileSystem;
 import org.apache.poi.util.LocaleUtil;
 import org.junit.AfterClass;
@@ -141,9 +142,8 @@ public final class TestFixedSizedPropert
     * Test to see if we can read the Date Chunk with OutlookTextExtractor.
     */
    @Test
-   // @Ignore("TODO Work out why the Fri 22nd vs Monday 25th problem is occurring and fix")
    public void testReadMessageDateSucceedsWithOutlookTextExtractor() throws Exception {
-      OutlookTextExtactor ext = new OutlookTextExtactor(mapiMessageSucceeds);
+      OutlookTextExtractor ext = new OutlookTextExtractor(mapiMessageSucceeds);
       ext.setFilesystem(null); // Don't close re-used test resources here
       
       String text = ext.getText();
@@ -151,13 +151,22 @@ public final class TestFixedSizedPropert
       ext.close();
    }
 
-   /**
+    @Test
+    public void testReadMessageDateSucceedsWithOutlookTextExtactor() throws Exception {
+        OutlookTextExtactor ext = new OutlookTextExtactor(mapiMessageSucceeds);
+        ext.setFilesystem(null); // Don't close re-used test resources here
+
+        String text = ext.getText();
+        assertContains(text, "Date: Fri, 22 Jun 2012 18:32:54 +0000\n");
+        ext.close();
+    }
+
+    /**
     * Test to see if we can read the Date Chunk with OutlookTextExtractor.
     */
    @Test
-   // @Ignore("TODO Work out why the Thu 21st vs Monday 25th problem is occurring and fix")
    public void testReadMessageDateFailsWithOutlookTextExtractor() throws Exception {
-      OutlookTextExtactor ext = new OutlookTextExtactor(mapiMessageFails);
+      OutlookTextExtractor ext = new OutlookTextExtractor(mapiMessageFails);
       ext.setFilesystem(null); // Don't close re-used test resources here
       
       String text = ext.getText();

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hsmf/extractor/TestOutlookTextExtractor.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hsmf/extractor/TestOutlookTextExtractor.java?rev=1871994&r1=1871993&r2=1871994&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hsmf/extractor/TestOutlookTextExtractor.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hsmf/extractor/TestOutlookTextExtractor.java Thu Dec 26 09:27:51 2019
@@ -20,6 +20,7 @@ package org.apache.poi.hsmf.extractor;
 import static org.apache.poi.POITestCase.assertContains;
 import static org.apache.poi.POITestCase.assertNotContained;
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 import java.io.FileInputStream;
 import java.text.SimpleDateFormat;
@@ -39,235 +40,255 @@ import org.junit.Test;
  * Tests to verify that the text extractor works
  */
 public final class TestOutlookTextExtractor {
-   private final POIDataSamples samples = POIDataSamples.getHSMFInstance();
-	
-   private static TimeZone userTZ;
-   
-   @BeforeClass
-   public static void initTimeZone() {
-       userTZ = LocaleUtil.getUserTimeZone();
-       LocaleUtil.setUserTimeZone(LocaleUtil.TIMEZONE_UTC);
-   }
-   
-   @AfterClass
-   public static void resetTimeZone() {
-       LocaleUtil.setUserTimeZone(userTZ);
-   }
-   
-   @Test
-   public void testQuick() throws Exception {
-      POIFSFileSystem poifs = new POIFSFileSystem(samples.getFile("quick.msg"), true);
-      MAPIMessage msg = new MAPIMessage(poifs);
-      
-      OutlookTextExtactor ext = new OutlookTextExtactor(msg);
-      String text = ext.getText();
-      
-      assertContains(text, "From: Kevin Roast\n");
-      assertContains(text, "To: Kevin Roast <ke...@alfresco.org>\n");
-      assertNotContained(text, "CC:");
-      assertNotContained(text, "BCC:");
-      assertNotContained(text, "Attachment:");
-      assertContains(text, "Subject: Test the content transformer\n");
-      Calendar cal = LocaleUtil.getLocaleCalendar(2007, 5, 14, 9, 42, 55);
-      SimpleDateFormat f = new SimpleDateFormat("E, d MMM yyyy HH:mm:ss Z", Locale.ROOT);
-      f.setTimeZone(LocaleUtil.getUserTimeZone());
-      String dateText = f.format(cal.getTime());
-      assertContains(text, "Date: " + dateText + "\n");
-      assertContains(text, "The quick brown fox jumps over the lazy dog");
-
-      ext.close();
-      poifs.close();
-   }
-   
-   @Test
-   public void testSimple() throws Exception {
-      POIFSFileSystem poifs = new POIFSFileSystem(samples.getFile("simple_test_msg.msg"), true);
-      MAPIMessage msg = new MAPIMessage(poifs);
-      
-      OutlookTextExtactor ext = new OutlookTextExtactor(msg);
-      String text = ext.getText();
-      
-      assertContains(text, "From: Travis Ferguson\n");
-      assertContains(text, "To: travis@overwrittenstack.com\n");
-      assertNotContained(text, "CC:");
-      assertNotContained(text, "BCC:");
-      assertContains(text, "Subject: test message\n");
-      assertContains(text, "Date: Fri, 6 Jul 2007 05:27:17 +0000\n");
-      assertContains(text, "This is a test message.");
-
-      ext.close();
-      poifs.close();
-   }
+    private final POIDataSamples samples = POIDataSamples.getHSMFInstance();
 
-   @Test
-   public void testConstructors() throws Exception {
+    private static TimeZone userTZ;
+
+    @BeforeClass
+    public static void initTimeZone() {
+        userTZ = LocaleUtil.getUserTimeZone();
+        LocaleUtil.setUserTimeZone(LocaleUtil.TIMEZONE_UTC);
+    }
+
+    @AfterClass
+    public static void resetTimeZone() {
+        LocaleUtil.setUserTimeZone(userTZ);
+    }
+
+    @Test
+    public void testQuick() throws Exception {
+        POIFSFileSystem poifs = new POIFSFileSystem(samples.getFile("quick.msg"), true);
+        MAPIMessage msg = new MAPIMessage(poifs);
+
+        OutlookTextExtractor ext = new OutlookTextExtractor(msg);
+        String text = ext.getText();
+
+        assertContains(text, "From: Kevin Roast\n");
+        assertContains(text, "To: Kevin Roast <ke...@alfresco.org>\n");
+        assertNotContained(text, "CC:");
+        assertNotContained(text, "BCC:");
+        assertNotContained(text, "Attachment:");
+        assertContains(text, "Subject: Test the content transformer\n");
+        Calendar cal = LocaleUtil.getLocaleCalendar(2007, 5, 14, 9, 42, 55);
+        SimpleDateFormat f = new SimpleDateFormat("E, d MMM yyyy HH:mm:ss Z", Locale.ROOT);
+        f.setTimeZone(LocaleUtil.getUserTimeZone());
+        String dateText = f.format(cal.getTime());
+        assertContains(text, "Date: " + dateText + "\n");
+        assertContains(text, "The quick brown fox jumps over the lazy dog");
+
+        ext.close();
+        poifs.close();
+    }
+
+    @Test
+    public void testSimple() throws Exception {
+        POIFSFileSystem poifs = new POIFSFileSystem(samples.getFile("simple_test_msg.msg"), true);
+        MAPIMessage msg = new MAPIMessage(poifs);
+
+        OutlookTextExtractor ext = new OutlookTextExtractor(msg);
+        String text = ext.getText();
+
+        assertContains(text, "From: Travis Ferguson\n");
+        assertContains(text, "To: travis@overwrittenstack.com\n");
+        assertNotContained(text, "CC:");
+        assertNotContained(text, "BCC:");
+        assertContains(text, "Subject: test message\n");
+        assertContains(text, "Date: Fri, 6 Jul 2007 05:27:17 +0000\n");
+        assertContains(text, "This is a test message.");
+
+        ext.close();
+        poifs.close();
+    }
+
+    @Test
+    public void testConstructors() throws Exception {
         FileInputStream fis = new FileInputStream(samples.getFile("simple_test_msg.msg"));
-        OutlookTextExtactor ext = new OutlookTextExtactor(fis);
+        OutlookTextExtractor ext = new OutlookTextExtractor(fis);
         String inp = ext.getText();
         ext.close();
         fis.close();
 
         POIFSFileSystem poifs = new POIFSFileSystem(samples.getFile("simple_test_msg.msg"), true);
-        ext = new OutlookTextExtactor(poifs);
+        ext = new OutlookTextExtractor(poifs);
         String poifsTxt = ext.getText();
         ext.close();
         poifs.close();
 
         fis = new FileInputStream(samples.getFile("simple_test_msg.msg"));
-        ext = new OutlookTextExtactor(new MAPIMessage(fis));
+        ext = new OutlookTextExtractor(new MAPIMessage(fis));
         String mapi = ext.getText();
         ext.close();
         fis.close();
 
         assertEquals(inp, poifsTxt);
         assertEquals(inp, mapi);
-   }
-   
-   /**
-    * Test that we correctly handle multiple To+CC+BCC
-    *  recipients in an email we sent.
-    */
-   @Test
-   public void testSentWithMulipleRecipients() throws Exception {
-      // To: 'Ashutosh Dandavate' <as...@alfresco.com>,
-      //   'Paul Holmes-Higgin' <pa...@alfresco.com>,
-      //   'Mike Farman' <mi...@alfresco.com>
-      // Cc: nickb@alfresco.com, nick.burch@alfresco.com,
-      //   'Roy Wetherall' <ro...@alfresco.com>
-      // Bcc: 'David Caruana' <da...@alfresco.com>,
-      //   'Vonka Jan' <ro...@alfresco.com>
-      
-      String[] files = new String[] {
-            "example_sent_regular.msg", "example_sent_unicode.msg"
-      };
-      for(String file : files) {
-         POIFSFileSystem poifs = new POIFSFileSystem(samples.getFile(file), true);
-         MAPIMessage msg = new MAPIMessage(poifs);
-         
-         OutlookTextExtactor ext = new OutlookTextExtactor(msg);
-         String text = ext.getText();
-         
-         assertContains(text, "From: Mike Farman\n");
-         assertContains(text, "To: 'Ashutosh Dandavate' <as...@alfresco.com>; " +
-         		"'Paul Holmes-Higgin' <pa...@alfresco.com>; 'Mike Farman' <mi...@alfresco.com>\n");
-         assertContains(text, "CC: 'nickb@alfresco.com' <ni...@alfresco.com>; " +
-         		"'nick.burch@alfresco.com' <ni...@alfresco.com>; 'Roy Wetherall' <ro...@alfresco.com>\n");
-         assertContains(text, "BCC: 'David Caruana' <da...@alfresco.com>; " +
-         		"'Vonka Jan' <ja...@alfresco.com>\n");
-         assertContains(text, "Subject: This is a test message please ignore\n");
-         assertContains(text, "Date:");
-         assertContains(text, "The quick brown fox jumps over the lazy dog");
-
-         ext.close();
-         poifs.close();
-      }
-   }
-   
-   /**
-    * Test that we correctly handle multiple To+CC
-    *  recipients in an email we received.
-    */
-   @Test
-   public void testReceivedWithMultipleRecipients() throws Exception {
-      // To: 'Ashutosh Dandavate' <as...@alfresco.com>,
-      //   'Paul Holmes-Higgin' <pa...@alfresco.com>,
-      //   'Mike Farman' <mi...@alfresco.com>
-      // Cc: nickb@alfresco.com, nick.burch@alfresco.com,
-      //   'Roy Wetherall' <ro...@alfresco.com>
-      // (No BCC shown) 
-      
-      
-      String[] files = new String[] {
-            "example_received_regular.msg", "example_received_unicode.msg"
-      };
-      for(String file : files) {
-          POIFSFileSystem poifs = new POIFSFileSystem(samples.getFile(file), true);
-          MAPIMessage msg = new MAPIMessage(poifs);
-
-         
-         OutlookTextExtactor ext = new OutlookTextExtactor(msg);
-         String text = ext.getText();
-         
-         assertContains(text, "From: Mike Farman\n");
-         assertContains(text, "To: 'Ashutosh Dandavate' <as...@alfresco.com>; " +
-               "'Paul Holmes-Higgin' <pa...@alfresco.com>; 'Mike Farman' <mi...@alfresco.com>\n");
-         assertContains(text, "CC: nickb@alfresco.com; " +
-               "nick.burch@alfresco.com; 'Roy Wetherall' <ro...@alfresco.com>\n");
-         assertNotContained(text, "BCC:");
-         assertContains(text, "Subject: This is a test message please ignore\n");
-         assertContains(text, "Date: Mon, 11 Jan 2010 16:2"); // Exact times differ slightly
-         assertContains(text, "The quick brown fox jumps over the lazy dog");
-
-         ext.close();
-         poifs.close();
-      }
-   }
-   
-   /**
-    * See also {@link org.apache.poi.extractor.ooxml.TestExtractorFactory#testEmbeded()}
-    */
-   @SuppressWarnings("JavadocReference")
-   @Test
-   public void testWithAttachments() throws Exception {
-      POIFSFileSystem poifs = new POIFSFileSystem(samples.getFile("attachment_test_msg.msg"), true);
-      MAPIMessage msg = new MAPIMessage(poifs);
-      OutlookTextExtactor ext = new OutlookTextExtactor(msg);
-      
-      // Check the normal bits
-      String text = ext.getText();
-      
-      assertContains(text, "From: Nicolas1");
-      assertContains(text, "To: 'nicolas1.23456@free.fr'");
-      assertNotContained(text, "CC:");
-      assertNotContained(text, "BCC:");
-      assertContains(text, "Subject: test");
-      assertContains(text, "Date: Wed, 22 Apr");
-      assertContains(text, "Attachment: test-unicode.doc\n");
-      assertContains(text, "Attachment: pj1.txt\n");
-      assertContains(text, "contenu");
-      
-      // Embeded bits are checked in
-      //  TestExtractorFactory
-
-      ext.close();
-      poifs.close();
-   }
-
-    @Test
-   public void testWithAttachedMessage() throws Exception {
-       POIFSFileSystem poifs = new POIFSFileSystem(samples.getFile("58214_with_attachment.msg"), true);
-         MAPIMessage msg = new MAPIMessage(poifs);
-         OutlookTextExtactor ext = new OutlookTextExtactor(msg);
-         String text = ext.getText();
-         
-         // Check we got bits from the main message
-         assertContains(text, "Master mail");
-         assertContains(text, "ante in lacinia euismod");
-         
-         // But not the attached message
-         assertNotContained(text, "Test mail attachment");
-         assertNotContained(text, "Lorem ipsum dolor sit");
-         
-         ext.close();
-         poifs.close();
-   }
-
-    @Test
-   public void testEncodings() throws Exception {
-      POIFSFileSystem poifs = new POIFSFileSystem(samples.getFile("chinese-traditional.msg"), true);
-      MAPIMessage msg = new MAPIMessage(poifs);
-      OutlookTextExtactor ext = new OutlookTextExtactor(msg);
-      String text = ext.getText();
-      
-      // Check the english bits
-      assertContains(text, "From: Tests Chang@FT");
-      assertContains(text, "tests.chang@fengttt.com");
-      
-      // And check some chinese bits
-      assertContains(text, "(\u5f35\u6bd3\u502b)");
-      assertContains(text, "( MSG \u683c\u5f0f\u6e2c\u8a66 )");
-
-      ext.close();
-      poifs.close();
-   }
+    }
+
+    /**
+     * Test that we correctly handle multiple To+CC+BCC
+     * recipients in an email we sent.
+     */
+    @Test
+    public void testSentWithMulipleRecipients() throws Exception {
+        // To: 'Ashutosh Dandavate' <as...@alfresco.com>,
+        //   'Paul Holmes-Higgin' <pa...@alfresco.com>,
+        //   'Mike Farman' <mi...@alfresco.com>
+        // Cc: nickb@alfresco.com, nick.burch@alfresco.com,
+        //   'Roy Wetherall' <ro...@alfresco.com>
+        // Bcc: 'David Caruana' <da...@alfresco.com>,
+        //   'Vonka Jan' <ro...@alfresco.com>
+
+        String[] files = new String[]{
+                "example_sent_regular.msg", "example_sent_unicode.msg"
+        };
+        for (String file : files) {
+            POIFSFileSystem poifs = new POIFSFileSystem(samples.getFile(file), true);
+            MAPIMessage msg = new MAPIMessage(poifs);
+
+            OutlookTextExtractor ext = new OutlookTextExtractor(msg);
+            String text = ext.getText();
+
+            assertContains(text, "From: Mike Farman\n");
+            assertContains(text, "To: 'Ashutosh Dandavate' <as...@alfresco.com>; " +
+                    "'Paul Holmes-Higgin' <pa...@alfresco.com>; 'Mike Farman' <mi...@alfresco.com>\n");
+            assertContains(text, "CC: 'nickb@alfresco.com' <ni...@alfresco.com>; " +
+                    "'nick.burch@alfresco.com' <ni...@alfresco.com>; 'Roy Wetherall' <ro...@alfresco.com>\n");
+            assertContains(text, "BCC: 'David Caruana' <da...@alfresco.com>; " +
+                    "'Vonka Jan' <ja...@alfresco.com>\n");
+            assertContains(text, "Subject: This is a test message please ignore\n");
+            assertContains(text, "Date:");
+            assertContains(text, "The quick brown fox jumps over the lazy dog");
+
+            ext.close();
+            poifs.close();
+        }
+    }
+
+    /**
+     * Test that we correctly handle multiple To+CC
+     * recipients in an email we received.
+     */
+    @Test
+    public void testReceivedWithMultipleRecipients() throws Exception {
+        // To: 'Ashutosh Dandavate' <as...@alfresco.com>,
+        //   'Paul Holmes-Higgin' <pa...@alfresco.com>,
+        //   'Mike Farman' <mi...@alfresco.com>
+        // Cc: nickb@alfresco.com, nick.burch@alfresco.com,
+        //   'Roy Wetherall' <ro...@alfresco.com>
+        // (No BCC shown)
+
+
+        String[] files = new String[]{
+                "example_received_regular.msg", "example_received_unicode.msg"
+        };
+        for (String file : files) {
+            POIFSFileSystem poifs = new POIFSFileSystem(samples.getFile(file), true);
+            MAPIMessage msg = new MAPIMessage(poifs);
+
+
+            OutlookTextExtractor ext = new OutlookTextExtractor(msg);
+            String text = ext.getText();
+
+            assertContains(text, "From: Mike Farman\n");
+            assertContains(text, "To: 'Ashutosh Dandavate' <as...@alfresco.com>; " +
+                    "'Paul Holmes-Higgin' <pa...@alfresco.com>; 'Mike Farman' <mi...@alfresco.com>\n");
+            assertContains(text, "CC: nickb@alfresco.com; " +
+                    "nick.burch@alfresco.com; 'Roy Wetherall' <ro...@alfresco.com>\n");
+            assertNotContained(text, "BCC:");
+            assertContains(text, "Subject: This is a test message please ignore\n");
+            assertContains(text, "Date: Mon, 11 Jan 2010 16:2"); // Exact times differ slightly
+            assertContains(text, "The quick brown fox jumps over the lazy dog");
+
+            ext.close();
+            poifs.close();
+        }
+    }
+
+    /**
+     * See also {@link org.apache.poi.extractor.ooxml.TestExtractorFactory#testEmbeded()}
+     */
+    @SuppressWarnings("JavadocReference")
+    @Test
+    public void testWithAttachments() throws Exception {
+        POIFSFileSystem poifs = new POIFSFileSystem(samples.getFile("attachment_test_msg.msg"), true);
+        MAPIMessage msg = new MAPIMessage(poifs);
+        OutlookTextExtractor ext = new OutlookTextExtractor(msg);
+
+        // Check the normal bits
+        String text = ext.getText();
+
+        assertContains(text, "From: Nicolas1");
+        assertContains(text, "To: 'nicolas1.23456@free.fr'");
+        assertNotContained(text, "CC:");
+        assertNotContained(text, "BCC:");
+        assertContains(text, "Subject: test");
+        assertContains(text, "Date: Wed, 22 Apr");
+        assertContains(text, "Attachment: test-unicode.doc\n");
+        assertContains(text, "Attachment: pj1.txt\n");
+        assertContains(text, "contenu");
+
+        // Embeded bits are checked in
+        //  TestExtractorFactory
+
+        ext.close();
+        poifs.close();
+    }
+
+    @Test
+    public void testWithAttachedMessage() throws Exception {
+        POIFSFileSystem poifs = new POIFSFileSystem(samples.getFile("58214_with_attachment.msg"), true);
+        MAPIMessage msg = new MAPIMessage(poifs);
+        OutlookTextExtractor ext = new OutlookTextExtractor(msg);
+        String text = ext.getText();
+
+        // Check we got bits from the main message
+        assertContains(text, "Master mail");
+        assertContains(text, "ante in lacinia euismod");
+
+        // But not the attached message
+        assertNotContained(text, "Test mail attachment");
+        assertNotContained(text, "Lorem ipsum dolor sit");
+
+        ext.close();
+        poifs.close();
+    }
+
+    @Test
+    public void testEncodings() throws Exception {
+        POIFSFileSystem poifs = new POIFSFileSystem(samples.getFile("chinese-traditional.msg"), true);
+        MAPIMessage msg = new MAPIMessage(poifs);
+        OutlookTextExtractor ext = new OutlookTextExtractor(msg);
+        String text = ext.getText();
+
+        // Check the english bits
+        assertContains(text, "From: Tests Chang@FT");
+        assertContains(text, "tests.chang@fengttt.com");
+
+        // And check some chinese bits
+        assertContains(text, "(\u5f35\u6bd3\u502b)");
+        assertContains(text, "( MSG \u683c\u5f0f\u6e2c\u8a66 )");
+
+        ext.close();
+        poifs.close();
+    }
+
+    @Test
+    public void testEncodingsDeprecatedClass() throws Exception {
+        POIFSFileSystem poifs = new POIFSFileSystem(samples.getFile("chinese-traditional.msg"), true);
+        MAPIMessage msg = new MAPIMessage(poifs);
+        OutlookTextExtactor ext = new OutlookTextExtactor(msg);
+        assertTrue("OutlookTextExtactor instanceof OutlookTextExtractor", ext instanceof OutlookTextExtractor);
+        String text = ext.getText();
+
+        // Check the english bits
+        assertContains(text, "From: Tests Chang@FT");
+        assertContains(text, "tests.chang@fengttt.com");
+
+        // And check some chinese bits
+        assertContains(text, "(\u5f35\u6bd3\u502b)");
+        assertContains(text, "( MSG \u683c\u5f0f\u6e2c\u8a66 )");
+
+        ext.close();
+        poifs.close();
+    }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org