From a7e552b5a436375e233e7d4df4ed6cfc9e58d435 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Thu, 06 Aug 2015 13:52:01 -0400
Subject: [PATCH] Get rid of Mail_mimeDecode package dependency (#1490416)

---
 tests/Framework/Mime.php |   32 ++++++++++++++++++++++++++++++++
 1 files changed, 32 insertions(+), 0 deletions(-)

diff --git a/tests/Framework/Mime.php b/tests/Framework/Mime.php
index 4cf84cb..f3f0d0b 100644
--- a/tests/Framework/Mime.php
+++ b/tests/Framework/Mime.php
@@ -231,4 +231,36 @@
         }
     }
 
+    /**
+     * Test parse_message()
+     */
+    function test_parse_message()
+    {
+        $file   = file_get_contents(__DIR__ . '/../src/html.msg');
+        $result = rcube_mime::parse_message($file);
+
+        $this->assertInstanceOf('rcube_message_part', $result);
+        $this->assertSame('multipart/alternative', $result->mimetype);
+        $this->assertSame('1.0', $result->headers['mime-version']);
+        $this->assertSame('=_68eeaf4ab95b5312965e45c33362338e', $result->ctype_parameters['boundary']);
+        $this->assertSame('1',              $result->parts[0]->mime_id);
+        $this->assertSame(12,               $result->parts[0]->size);
+        $this->assertSame('text/plain',     $result->parts[0]->mimetype);
+        $this->assertSame("this is test",   $result->parts[0]->body);
+        $this->assertSame('2',              $result->parts[1]->mime_id);
+        $this->assertSame(0,                $result->parts[1]->size);
+        $this->assertSame('multipart/related', $result->parts[1]->mimetype);
+        $this->assertCount(2,               $result->parts[1]->parts);
+        $this->assertSame('2.1',            $result->parts[1]->parts[0]->mime_id);
+        $this->assertSame(257,              $result->parts[1]->parts[0]->size);
+        $this->assertSame('text/html',      $result->parts[1]->parts[0]->mimetype);
+        $this->assertSame('UTF-8',          $result->parts[1]->parts[0]->charset);
+        $this->assertRegExp('/<html>/',     $result->parts[1]->parts[0]->body);
+        $this->assertSame('2.2',            $result->parts[1]->parts[1]->mime_id);
+        $this->assertSame(793,              $result->parts[1]->parts[1]->size);
+        $this->assertSame('image/jpeg',     $result->parts[1]->parts[1]->mimetype);
+        $this->assertSame('base64',          $result->parts[1]->parts[1]->encoding);
+        $this->assertSame('inline',          $result->parts[1]->parts[1]->disposition);
+        $this->assertSame('photo-mini.jpg', $result->parts[1]->parts[1]->filename);
+    }
 }

--
Gitblit v1.9.1