diff options
| author | thomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2009-03-04 10:02:55 +0000 |
|---|---|---|
| committer | thomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2009-03-04 10:02:55 +0000 |
| commit | ff6bcfe6265b405ed076edab1fb9a1fcce7c4bc9 (patch) | |
| tree | 1eba4a2f0ce8a1045d6359fb0457f0eb15a8a982 /roundcubemail/tests/mailfunc.php | |
| parent | 1fa6f8570003eee5440190c1685816434ec2bab7 (diff) | |
Add tests for external stylesheet handling
git-svn-id: https://svn.roundcube.net/trunk@2328 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/tests/mailfunc.php')
| -rw-r--r-- | roundcubemail/tests/mailfunc.php | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/roundcubemail/tests/mailfunc.php b/roundcubemail/tests/mailfunc.php index 8fd2cd3d5..ae35c5d77 100644 --- a/roundcubemail/tests/mailfunc.php +++ b/roundcubemail/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').'&c=foo"'; + $this->assertPattern('#'.preg_quote($css).'#', $html2, "Filter external styleseehts with bin/modcss.php"); } /** |
