aboutsummaryrefslogtreecommitdiffstats
path: root/lib/htmlpurifier/tests/HTMLPurifier/PHPT
diff options
context:
space:
mode:
Diffstat (limited to 'lib/htmlpurifier/tests/HTMLPurifier/PHPT')
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/PHPT/domxml.phpt15
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/PHPT/func.phpt9
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/PHPT/kses/basic.phpt15
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/_autoload.inc12
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/_no-autoload.inc17
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-includes.phpt12
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-with-autoload.phpt28
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-with-spl-autoload-default.phpt25
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-with-spl-autoload.phpt43
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-without-spl-autoload.phpt19
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-without-spl-with-autoload.phpt21
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto.phpt11
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/error-auto-with-spl-nonstatic-autoload.phpt32
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/path-includes-autoload.phpt14
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/path-includes.phpt12
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/safe-includes.phpt12
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/standalone-autoload.phpt12
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/standalone-with-prefix.phpt15
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/standalone.phpt13
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/PHPT/stub.phpt6
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/PHPT/utf8.phpt9
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/PHPT/ze1_compatibility_mode.phpt14
22 files changed, 366 insertions, 0 deletions
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/PHPT/domxml.phpt b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/domxml.phpt
new file mode 100644
index 000000000..406ac400b
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/domxml.phpt
@@ -0,0 +1,15 @@
+--TEST--
+DirectLex with domxml test
+--SKIPIF--
+<?php
+if (!extension_loaded('dom')) {
+ echo "skip - dom not available";
+} elseif (!extension_loaded('domxml')) {
+ echo "skip - domxml not loaded";
+}
+--FILE--
+<?php
+require '../library/HTMLPurifier.auto.php';
+echo get_class(HTMLPurifier_Lexer::create(HTMLPurifier_Config::createDefault()));
+--EXPECT--
+HTMLPurifier_Lexer_DirectLex \ No newline at end of file
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/PHPT/func.phpt b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/func.phpt
new file mode 100644
index 000000000..d194d68d3
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/func.phpt
@@ -0,0 +1,9 @@
+--TEST--
+HTMLPurifier.func.php test
+--FILE--
+<?php
+require '../library/HTMLPurifier.auto.php';
+require 'HTMLPurifier.func.php';
+echo HTMLPurifier('<b>Salsa!');
+--EXPECT--
+<b>Salsa!</b> \ No newline at end of file
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/PHPT/kses/basic.phpt b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/kses/basic.phpt
new file mode 100644
index 000000000..8a9cd0162
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/kses/basic.phpt
@@ -0,0 +1,15 @@
+--TEST--
+HTMLPurifier.kses.php basic test
+--FILE--
+<?php
+require '../library/HTMLPurifier.kses.php';
+echo kses(
+ '<a class="foo" style="color:#F00;" href="https://google.com">Foo<i>Bar</i>',
+ array(
+ 'a' => array('class' => 1, 'href' => 1),
+ ),
+ array('http') // no https!
+);
+
+--EXPECT--
+<a class="foo">FooBar</a> \ No newline at end of file
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/_autoload.inc b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/_autoload.inc
new file mode 100644
index 000000000..42e3500e4
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/_autoload.inc
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * Tests if autoloading for HTML Purifier is enabled. If all tests pass,
+ * output is blank.
+ */
+
+assert("!in_array(realpath('../library/HTMLPurifier/Filter/YouTube.php'), get_included_files())");
+new HTMLPurifier_Filter_YouTube();
+assert(" in_array(realpath('../library/HTMLPurifier.autoload.php'), get_included_files())");
+
+// vim: et sw=4 sts=4
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/_no-autoload.inc b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/_no-autoload.inc
new file mode 100644
index 000000000..fc109e727
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/_no-autoload.inc
@@ -0,0 +1,17 @@
+<?php
+
+/**
+ * Tests if autoloading is off in HTML Purifier. If all tests pass, no output.
+ */
+
+if (function_exists('spl_autoload_register')) {
+ $__v = spl_autoload_functions();
+ assert('$__v == false || !in_array(array("HTMLPurifier_Bootstrap", "autoload"), $__v)');
+} else {
+ if (function_exists('__autoload')) {
+ $__r = new ReflectionFunction('__autoload');
+ assert('$__r->getFileName() != realpath("../library/HTMLPurifier.autoload.php")');
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-includes.phpt b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-includes.phpt
new file mode 100644
index 000000000..6a8f909b8
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-includes.phpt
@@ -0,0 +1,12 @@
+--TEST--
+HTMLPurifier.auto.php and HTMLPurifier.includes.php loading test
+--FILE--
+<?php
+require '../library/HTMLPurifier.path.php';
+require 'HTMLPurifier.includes.php';
+require 'HTMLPurifier/PHPT/loading/_no-autoload.inc';
+$config = HTMLPurifier_Config::createDefault();
+$purifier = new HTMLPurifier($config);
+echo $purifier->purify('<b>Salsa!');
+--EXPECT--
+<b>Salsa!</b> \ No newline at end of file
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-with-autoload.phpt b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-with-autoload.phpt
new file mode 100644
index 000000000..aad437202
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-with-autoload.phpt
@@ -0,0 +1,28 @@
+--TEST--
+HTMLPurifier.auto.php using spl_autoload_register with __autoload() already defined loading test
+--SKIPIF--
+<?php
+if (!function_exists('spl_autoload_register')) {
+ echo "skip - spl_autoload_register() not available";
+}
+--FILE--
+<?php
+function __autoload($class) {
+ echo "Autoloading $class...
+";
+ eval("class $class {}");
+}
+
+require '../library/HTMLPurifier.auto.php';
+require 'HTMLPurifier/PHPT/loading/_autoload.inc';
+$config = HTMLPurifier_Config::createDefault();
+$purifier = new HTMLPurifier($config);
+echo $purifier->purify('<b>Salsa!') . "
+";
+
+// purposely invoke older autoload
+$bar = new Bar();
+
+--EXPECT--
+<b>Salsa!</b>
+Autoloading Bar... \ No newline at end of file
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-with-spl-autoload-default.phpt b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-with-spl-autoload-default.phpt
new file mode 100644
index 000000000..a4011f1d3
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-with-spl-autoload-default.phpt
@@ -0,0 +1,25 @@
+--TEST--
+HTMLPurifier.auto.php using spl_autoload_register default
+--SKIPIF--
+<?php
+if (!function_exists('spl_autoload_register')) {
+ echo "skip - spl_autoload_register() not available";
+}
+--FILE--
+<?php
+spl_autoload_extensions(".php");
+spl_autoload_register();
+
+require '../library/HTMLPurifier.auto.php';
+require 'HTMLPurifier/PHPT/loading/_autoload.inc';
+$config = HTMLPurifier_Config::createDefault();
+$purifier = new HTMLPurifier($config);
+echo $purifier->purify('<b>Salsa!') . "
+";
+
+// purposely invoke standard autoload
+$test = new default_load();
+
+--EXPECT--
+<b>Salsa!</b>
+Default loaded
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-with-spl-autoload.phpt b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-with-spl-autoload.phpt
new file mode 100644
index 000000000..1697bb13f
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-with-spl-autoload.phpt
@@ -0,0 +1,43 @@
+--TEST--
+HTMLPurifier.auto.php using spl_autoload_register with user registration loading test
+--SKIPIF--
+<?php
+if (!function_exists('spl_autoload_register')) {
+ echo "skip - spl_autoload_register() not available";
+}
+--FILE--
+<?php
+function my_autoload($class) {
+ echo "Autoloading $class...
+";
+ eval("class $class {}");
+ return true;
+}
+class MyClass {
+ public static function myAutoload($class) {
+ if ($class == 'Foo') {
+ echo "Special autoloading Foo...
+";
+ eval("class $class {}");
+ }
+ }
+}
+
+spl_autoload_register(array('MyClass', 'myAutoload'));
+spl_autoload_register('my_autoload');
+
+require '../library/HTMLPurifier.auto.php';
+require 'HTMLPurifier/PHPT/loading/_autoload.inc';
+$config = HTMLPurifier_Config::createDefault();
+$purifier = new HTMLPurifier($config);
+echo $purifier->purify('<b>Salsa!') . "
+";
+
+// purposely invoke older autoloads
+$foo = new Foo();
+$bar = new Bar();
+
+--EXPECT--
+<b>Salsa!</b>
+Special autoloading Foo...
+Autoloading Bar... \ No newline at end of file
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-without-spl-autoload.phpt b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-without-spl-autoload.phpt
new file mode 100644
index 000000000..aeee9dcee
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-without-spl-autoload.phpt
@@ -0,0 +1,19 @@
+--TEST--
+HTMLPurifier.auto.php without spl_autoload_register without userland autoload loading test
+--SKIPIF--
+<?php
+if (function_exists('spl_autoload_register')) {
+ echo "skip - spl_autoload_register() available";
+}
+--FILE--
+<?php
+assert("!function_exists('__autoload')");
+require '../library/HTMLPurifier.auto.php';
+require 'HTMLPurifier/PHPT/loading/_autoload.inc';
+$config = HTMLPurifier_Config::createDefault();
+$purifier = new HTMLPurifier($config);
+echo $purifier->purify('<b>Salsa!') . "
+";
+
+--EXPECT--
+<b>Salsa!</b> \ No newline at end of file
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-without-spl-with-autoload.phpt b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-without-spl-with-autoload.phpt
new file mode 100644
index 000000000..2b6f49d8c
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto-without-spl-with-autoload.phpt
@@ -0,0 +1,21 @@
+--TEST--
+HTMLPurifier.auto.php without spl_autoload_register but with userland
+__autoload() defined test
+--SKIPIF--
+<?php
+if (function_exists('spl_autoload_register')) {
+ echo "skip - spl_autoload_register() available";
+}
+--FILE--
+<?php
+function __autoload($class) {
+ echo "Autoloading $class...
+";
+ eval("class $class {}");
+}
+require '../library/HTMLPurifier.auto.php';
+require 'HTMLPurifier/PHPT/loading/_no-autoload.inc';
+$purifier = new HTMLPurifier();
+
+--EXPECT--
+Autoloading HTMLPurifier... \ No newline at end of file
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto.phpt b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto.phpt
new file mode 100644
index 000000000..a4ea716f9
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/auto.phpt
@@ -0,0 +1,11 @@
+--TEST--
+HTMLPurifier.auto.php loading test
+--FILE--
+<?php
+require '../library/HTMLPurifier.auto.php';
+require 'HTMLPurifier/PHPT/loading/_autoload.inc';
+$config = HTMLPurifier_Config::createDefault();
+$purifier = new HTMLPurifier($config);
+echo $purifier->purify('<b>Salsa!');
+--EXPECT--
+<b>Salsa!</b> \ No newline at end of file
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/error-auto-with-spl-nonstatic-autoload.phpt b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/error-auto-with-spl-nonstatic-autoload.phpt
new file mode 100644
index 000000000..9a91abaf8
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/error-auto-with-spl-nonstatic-autoload.phpt
@@ -0,0 +1,32 @@
+--TEST--
+Error when registering autoload with non-static autoload already on SPL stack
+--SKIPIF--
+<?php
+if (!function_exists('spl_autoload_register')) {
+ echo "skip - spl_autoload_register() not available";
+}
+if (version_compare(PHP_VERSION, '5.2.11', '>=')) {
+ echo "skip - non-buggy version of PHP";
+}
+--FILE--
+<?php
+class NotStatic
+{
+ public function autoload($class) {
+ echo "Autoloading... $class" . PHP_EOL;
+ eval("class $class {}");
+ }
+}
+
+$obj = new NotStatic();
+spl_autoload_register(array($obj, 'autoload'));
+
+try {
+ require '../library/HTMLPurifier.auto.php';
+} catch (Exception $e) {
+ echo 'Caught error gracefully';
+ assert('strpos($e->getMessage(), "44144") !== false');
+}
+
+--EXPECT--
+Caught error gracefully
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/path-includes-autoload.phpt b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/path-includes-autoload.phpt
new file mode 100644
index 000000000..6120956c6
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/path-includes-autoload.phpt
@@ -0,0 +1,14 @@
+--TEST--
+HTMLPurifier.path.php, HTMLPurifier.includes.php and HTMLPurifier.autoload.php loading test
+--FILE--
+<?php
+require '../library/HTMLPurifier.path.php';
+require 'HTMLPurifier.includes.php';
+require 'HTMLPurifier.autoload.php';
+require 'HTMLPurifier/PHPT/loading/_autoload.inc';
+$config = HTMLPurifier_Config::createDefault();
+$purifier = new HTMLPurifier($config);
+echo $purifier->purify('<b>Salsa!');
+
+--EXPECT--
+<b>Salsa!</b> \ No newline at end of file
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/path-includes.phpt b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/path-includes.phpt
new file mode 100644
index 000000000..681d51a96
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/path-includes.phpt
@@ -0,0 +1,12 @@
+--TEST--
+HTMLPurifier.path.php and HTMLPurifier.includes.php loading test
+--FILE--
+<?php
+require '../library/HTMLPurifier.path.php';
+require 'HTMLPurifier.includes.php';
+require 'HTMLPurifier/PHPT/loading/_no-autoload.inc';
+$config = HTMLPurifier_Config::createDefault();
+$purifier = new HTMLPurifier($config);
+echo $purifier->purify('<b>Salsa!');
+--EXPECT--
+<b>Salsa!</b> \ No newline at end of file
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/safe-includes.phpt b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/safe-includes.phpt
new file mode 100644
index 000000000..cb6f95d53
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/safe-includes.phpt
@@ -0,0 +1,12 @@
+--TEST--
+HTMLPurifier.safe-includes.php loading test
+--FILE--
+<?php
+require_once '../library/HTMLPurifier.php'; // Tests for require_once
+require_once '../library/HTMLPurifier.safe-includes.php';
+require 'HTMLPurifier/PHPT/loading/_no-autoload.inc';
+$config = HTMLPurifier_Config::createDefault();
+$purifier = new HTMLPurifier($config);
+echo $purifier->purify('<b>Salsa!');
+--EXPECT--
+<b>Salsa!</b> \ No newline at end of file
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/standalone-autoload.phpt b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/standalone-autoload.phpt
new file mode 100644
index 000000000..36bb2efd7
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/standalone-autoload.phpt
@@ -0,0 +1,12 @@
+--TEST--
+HTMLPurifier.standalone.php loading test
+--FILE--
+<?php
+require '../library/HTMLPurifier.standalone.php';
+require '../library/HTMLPurifier.autoload.php';
+require 'HTMLPurifier/PHPT/loading/_autoload.inc';
+$config = HTMLPurifier_Config::createDefault();
+$purifier = new HTMLPurifier($config);
+echo $purifier->purify('<b>Salsa!');
+--EXPECT--
+<b>Salsa!</b> \ No newline at end of file
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/standalone-with-prefix.phpt b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/standalone-with-prefix.phpt
new file mode 100644
index 000000000..721dd7d17
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/standalone-with-prefix.phpt
@@ -0,0 +1,15 @@
+--TEST--
+HTMLPurifier.standalone.php with HTMLPURIFIER_PREFIX loading test
+--FILE--
+<?php
+define('HTMLPURIFIER_PREFIX', realpath('../library'));
+require '../library/HTMLPurifier.path.php';
+require 'HTMLPurifier.standalone.php';
+require 'HTMLPurifier/Filter/YouTube.php';
+require 'HTMLPurifier/PHPT/loading/_no-autoload.inc';
+$config = HTMLPurifier_Config::createDefault();
+$purifier = new HTMLPurifier($config);
+echo $purifier->purify('<b>Salsa!');
+assert('in_array(realpath("../library/HTMLPurifier/Filter/YouTube.php"), get_included_files())');
+--EXPECT--
+<b>Salsa!</b> \ No newline at end of file
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/standalone.phpt b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/standalone.phpt
new file mode 100644
index 000000000..a4fe4f77d
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/loading/standalone.phpt
@@ -0,0 +1,13 @@
+--TEST--
+HTMLPurifier.standalone.php loading test
+--FILE--
+<?php
+require '../library/HTMLPurifier.standalone.php';
+require 'HTMLPurifier/Filter/YouTube.php';
+require 'HTMLPurifier/PHPT/loading/_no-autoload.inc';
+$config = HTMLPurifier_Config::createDefault();
+$purifier = new HTMLPurifier($config);
+echo $purifier->purify('<b>Salsa!');
+assert('in_array(realpath("../library/standalone/HTMLPurifier/Filter/YouTube.php"), get_included_files())');
+--EXPECT--
+<b>Salsa!</b> \ No newline at end of file
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/PHPT/stub.phpt b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/stub.phpt
new file mode 100644
index 000000000..e919c5763
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/stub.phpt
@@ -0,0 +1,6 @@
+--TEST--
+PHPT testing framework smoketest
+--FILE--
+Foobar
+--EXPECT--
+Foobar \ No newline at end of file
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/PHPT/utf8.phpt b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/utf8.phpt
new file mode 100644
index 000000000..87c20ef66
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/utf8.phpt
@@ -0,0 +1,9 @@
+--TEST--
+UTF-8 smoketest
+--FILE--
+<?php
+require '../library/HTMLPurifier.auto.php';
+$purifier = new HTMLPurifier();
+echo $purifier->purify('太極拳, ЊЎЖ, لمنس');
+--EXPECT--
+太極拳, ЊЎЖ, لمنس \ No newline at end of file
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/PHPT/ze1_compatibility_mode.phpt b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/ze1_compatibility_mode.phpt
new file mode 100644
index 000000000..606d7592e
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/PHPT/ze1_compatibility_mode.phpt
@@ -0,0 +1,14 @@
+--TEST--
+Error with zend.ze1_compatibility_mode test
+--PRESKIPIF--
+<?php
+if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
+ echo 'skip - ze1_compatibility_mode not present in PHP 5.3 or later';
+}
+--INI--
+zend.ze1_compatibility_mode = 1
+--FILE--
+<?php
+require '../library/HTMLPurifier.auto.php';
+--EXPECTF--
+Fatal error: HTML Purifier is not compatible with zend.ze1_compatibility_mode; please turn it off in %s