From bd0551b22076b82a6d49e9f7a2b2e0c90a1b2326 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Fri, 05 Feb 2016 07:25:27 -0500 Subject: [PATCH] Secure also downloads of addressbook exports, managesieve script exports and Enigma keys exports --- tests/Framework/Mime.php | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 47 insertions(+), 0 deletions(-) diff --git a/tests/Framework/Mime.php b/tests/Framework/Mime.php index 43773f1..f3f0d0b 100644 --- a/tests/Framework/Mime.php +++ b/tests/Framework/Mime.php @@ -156,6 +156,21 @@ } /** + * Test format=flowed unfolding (#1490284) + */ + function test_unfold_flowed2() + { + $flowed = "> culpa qui officia deserunt mollit anim id est laborum.\r\n" + ."> \r\n" + ."Sed ut perspiciatis unde omnis iste natus error \r\nsit voluptatem"; + $unfolded = "> culpa qui officia deserunt mollit anim id est laborum.\r\n" + ."> \r\n" + ."Sed ut perspiciatis unde omnis iste natus error sit voluptatem"; + + $this->assertEquals($unfolded, rcube_mime::unfold_flowed($flowed), "Test correct unfolding of quoted lines [2]"); + } + + /** * Test wordwrap() */ function test_wordwrap() @@ -216,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