summaryrefslogtreecommitdiff
path: root/tests/mailfunc.php
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2009-03-04 10:02:55 +0000
committerthomascube <thomas@roundcube.net>2009-03-04 10:02:55 +0000
commit961afa19301fabfa65848242e896cc1e6a267f04 (patch)
treeba834a93d5997080a15427d120f63c531a2fd237 /tests/mailfunc.php
parent37974e2490ef20c0155d5461a316bcf940da2773 (diff)
Add tests for external stylesheet handling
Diffstat (limited to 'tests/mailfunc.php')
-rw-r--r--tests/mailfunc.php6
1 files changed, 5 insertions, 1 deletions
diff --git a/tests/mailfunc.php b/tests/mailfunc.php
index 8fd2cd3d5..ae35c5d77 100644
--- a/tests/mailfunc.php
+++ b/tests/mailfunc.php
@@ -55,15 +55,19 @@ class rcube_test_mailfunc extends UnitTestCase
$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");
}
/**