From d7f49d64d3e2d808e5fb037faef53ff5a5510909 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Thu, 28 May 2009 16:19:02 -0400
Subject: [PATCH] Speedup UI by using CSS sprites and etags/expires/deflate for static files

---
 tests/mailfunc.php |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/tests/mailfunc.php b/tests/mailfunc.php
index 8fd2cd3..ae35c5d 100644
--- a/tests/mailfunc.php
+++ b/tests/mailfunc.php
@@ -55,15 +55,19 @@
     $this->assertNoPattern('/<form [^>]+>/', $html, "No form tags allowed");
     $this->assertPattern('/Subscription form/', $html, "Include <form> contents");
     $this->assertPattern('/<!-- input not allowed -->/', $html, "No input elements allowed");
+    $this->assertPattern('/<!-- link not allowed -->/', $html, "No external links allowed");
     $this->assertPattern('/<a[^>]+ target="_blank">/', $html, "Set target to _blank");
     $this->assertTrue($GLOBALS['REMOTE_OBJECTS'], "Remote object detected");
     
     // render HTML in safe mode
-    $html2 = rcmail_print_body($part, array('safe' => true));
+    $html2 = rcmail_html4inline(rcmail_print_body($part, array('safe' => true)), 'foo');
     
     $this->assertPattern('/<style [^>]+>/', $html2, "Allow styles in safe mode");
     $this->assertPattern('#src="http://evilsite.net/mailings/ex3.jpg"#', $html2, "Allow external images in HTML (safe mode)");
     $this->assertPattern("#url\('http://evilsite.net/newsletter/image/bg/bg-64.jpg'\)#", $html2, "Allow external images in CSS (safe mode)");
+    
+    $css = '<link rel="stylesheet" type="text/css" href="./bin/modcss.php?u='.urlencode('http://anysite.net/styles/mail.css').'&amp;c=foo"';
+    $this->assertPattern('#'.preg_quote($css).'#', $html2, "Filter external styleseehts with bin/modcss.php");
   }
 
   /**

--
Gitblit v1.9.1