aboutsummaryrefslogtreecommitdiff
path: root/vendors/kses/examples/test.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendors/kses/examples/test.php')
-rw-r--r--vendors/kses/examples/test.php224
1 files changed, 224 insertions, 0 deletions
diff --git a/vendors/kses/examples/test.php b/vendors/kses/examples/test.php
new file mode 100644
index 000000000..e0c6695c8
--- /dev/null
+++ b/vendors/kses/examples/test.php
@@ -0,0 +1,224 @@
+<?php
+
+# test - checks if a kses installation is working
+# Copyright (C) 2003, 2005 Ulf Harnhammar
+#
+# This program is free software and open source software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the License,
+# or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA or visit
+# http://www.gnu.org/licenses/gpl.html
+#
+# *** CONTACT INFORMATION ***
+#
+# E-mail: metaur at users dot sourceforge dot net
+# Web page: http://sourceforge.net/projects/kses
+# Paper mail: Ulf Harnhammar
+# Ymergatan 17 C
+# 753 25 Uppsala
+# SWEDEN
+
+include '../kses.php';
+
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<title>kses test</title>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+</head>
+
+<body>
+<h1>kses test</h1>
+<p>
+
+<?php
+
+
+# *** FUNCTION DEFINITIONS ***
+
+
+function onetest($htmlbefore, $htmlafter, &$score, &$max, $allowed)
+###############################################################################
+# This function performs one kses test.
+###############################################################################
+{
+ $max++;
+
+ $htmlkses = kses($htmlbefore, $allowed);
+# echo "htmlkses --".htmlspecialchars($htmlkses)."--<br>\n";
+
+ if ($htmlkses == $htmlafter)
+ {
+ echo 'OK';
+ $score++;
+ }
+ else
+ echo 'not OK';
+
+ echo "<br>\n";
+} # function onetest
+
+
+# *** MAIN PROGRAM ***
+
+
+$max = $score = 0;
+
+# Test #1
+
+echo 'Test #1.. ';
+$htmlbefore = 'kses \'kses\' kses "kses" kses \\kses\\';
+$htmlafter = $htmlbefore;
+onetest($htmlbefore, $htmlafter, $score, $max, array());
+
+# Test #2
+
+echo 'Test #2.. ';
+$htmlbefore = 'kses <br>';
+$htmlafter = 'kses ';
+onetest($htmlbefore, $htmlafter, $score, $max, array());
+
+# Test #3
+
+echo 'Test #3.. ';
+$htmlbefore = 'kses < BR >';
+$htmlafter = 'kses <BR>';
+onetest($htmlbefore, $htmlafter, $score, $max, array('br' => array()));
+
+# Test #4
+
+echo 'Test #4.. ';
+$htmlbefore = 'kses > 5 <br>';
+$htmlafter = 'kses &gt; 5 <br>';
+onetest($htmlbefore, $htmlafter, $score, $max, array('br' => array()));
+
+# Test #5
+
+echo 'Test #5.. ';
+$htmlbefore = 'kses < br';
+$htmlafter = 'kses <br>';
+onetest($htmlbefore, $htmlafter, $score, $max, array('br' => array()));
+
+# Test #6
+
+echo 'Test #6.. ';
+$htmlbefore = 'kses <a href=5>';
+$htmlafter = 'kses <a>';
+onetest($htmlbefore, $htmlafter, $score, $max, array('br' => array(),
+ 'a' => array()));
+
+# Test #7
+
+echo 'Test #7.. ';
+$htmlbefore = 'kses <a href=5>';
+$htmlafter = 'kses <a href="5">';
+onetest($htmlbefore, $htmlafter, $score, $max,
+ array('a' => array('href' => 1)));
+
+# Test #8
+
+echo 'Test #8.. ';
+$htmlbefore = 'kses <a href>';
+$htmlafter = $htmlbefore;
+onetest($htmlbefore, $htmlafter, $score, $max,
+ array('a' => array('href' => 1)));
+
+# Test #9
+
+echo 'Test #9.. ';
+$htmlbefore = 'kses <a href href=5 href=\'5\' href="5" dummy>';
+$htmlafter = 'kses <a href href="5" href=\'5\' href="5">';
+onetest($htmlbefore, $htmlafter, $score, $max,
+ array('a' => array('href' => 1)));
+
+# Test #10
+
+echo 'Test #10.. ';
+$htmlbefore = 'kses <a href="kses\\\\kses">';
+$htmlafter = $htmlbefore;
+onetest($htmlbefore, $htmlafter, $score, $max,
+ array('a' => array('href' => 1)));
+
+# Test #11
+
+echo 'Test #11.. ';
+$htmlbefore = 'kses <a href="xxxxxx">';
+$htmlafter = $htmlbefore;
+onetest($htmlbefore, $htmlafter, $score, $max,
+ array('a' => array('href' => array('maxlen' => 6))));
+
+# Test #12
+
+echo 'Test #12.. ';
+$htmlbefore = 'kses <a href="xxxxxxx">';
+$htmlafter = 'kses <a>';
+onetest($htmlbefore, $htmlafter, $score, $max,
+ array('a' => array('href' => array('maxlen' => 6))));
+
+# Test #13
+
+echo 'Test #13.. ';
+$htmlbefore = 'kses <a href="687">';
+$htmlafter = 'kses <a>';
+onetest($htmlbefore, $htmlafter, $score, $max,
+ array('a' => array('href' => array('maxval' => 686))));
+
+# Test #14
+
+echo 'Test #14.. ';
+$htmlbefore = 'kses <a href="xx" / >';
+$htmlafter = 'kses <a href="xx" />';
+onetest($htmlbefore, $htmlafter, $score, $max,
+ array('a' => array('href' => array('maxlen' => 6))));
+
+# Test #15
+
+echo 'Test #15.. ';
+$htmlbefore = 'kses <a href="JAVA java scrIpt : SCRIPT : alert(57)">';
+$htmlafter = 'kses <a href="alert(57)">';
+onetest($htmlbefore, $htmlafter, $score, $max,
+ array('a' => array('href' => 1)));
+
+# Test #16
+
+echo 'Test #16.. ';
+$htmlbefore = 'kses <a href="htt&#32; &#173;&#Xad;'.chr(173).'P://ulf">';
+$htmlafter = 'kses <a href="http://ulf">';
+onetest($htmlbefore, $htmlafter, $score, $max,
+ array('a' => array('href' => 1)));
+
+# Test #17
+
+echo 'Test #17.. ';
+$htmlbefore = 'kses <a href="/start.php"> kses <a href="start.php">';
+$htmlafter = $htmlbefore;
+onetest($htmlbefore, $htmlafter, $score, $max,
+ array('a' => array('href' => 1)));
+
+
+# finished
+
+echo "<br>Score $score out of $max\n";
+
+if ($score != $max)
+ echo '<br>Something is wrong! Please contact '.
+ '<a href="mailto:kses-general@lists.sourceforge.net">'.
+ 'the kses-general mailing list</a>, and tell us what '.
+ "operating system and PHP version you use.\n";
+
+?>
+
+</p>
+</body>
+</html>