From c4805ffeb1e4ef8e43c2a071fea2dec81ceeb552 Mon Sep 17 00:00:00 2001 From: Melvyn Sopacua Date: Fri, 4 Oct 2002 11:41:34 +0000 Subject: [PATCH] Improve testkit for xslt. 002.phpt and 003.phpt are regression tests for reported bugs. 004.phpt has been known to cause problems in some Sab/PHP combinations. No known reports in bug db for that one. Added skip mechanism @- Added regression test for bugs #17791 and #17931 (Melvyn) --- ext/xslt/tests/002.phpt | 15 ++++++++++++++ ext/xslt/tests/003.phpt | 10 +++++++++ ext/xslt/tests/skipif.inc | 9 ++++++++ ext/xslt/tests/xslt_set_error_handler.php | 25 +++++++++++++++++++++++ 4 files changed, 59 insertions(+) create mode 100644 ext/xslt/tests/002.phpt create mode 100644 ext/xslt/tests/003.phpt create mode 100644 ext/xslt/tests/skipif.inc create mode 100644 ext/xslt/tests/xslt_set_error_handler.php diff --git a/ext/xslt/tests/002.phpt b/ext/xslt/tests/002.phpt new file mode 100644 index 00000000000..0a9446e1b0e --- /dev/null +++ b/ext/xslt/tests/002.phpt @@ -0,0 +1,15 @@ +--TEST-- +Pass long string to 'file' argument, bug #17791 +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK diff --git a/ext/xslt/tests/003.phpt b/ext/xslt/tests/003.phpt new file mode 100644 index 00000000000..5663b445037 --- /dev/null +++ b/ext/xslt/tests/003.phpt @@ -0,0 +1,10 @@ +--TEST-- +Pass object for xslt_error_handler, bug #17931 +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK diff --git a/ext/xslt/tests/skipif.inc b/ext/xslt/tests/skipif.inc new file mode 100644 index 00000000000..bd0add95993 --- /dev/null +++ b/ext/xslt/tests/skipif.inc @@ -0,0 +1,9 @@ + diff --git a/ext/xslt/tests/xslt_set_error_handler.php b/ext/xslt/tests/xslt_set_error_handler.php new file mode 100644 index 00000000000..f0a03a81b26 --- /dev/null +++ b/ext/xslt/tests/xslt_set_error_handler.php @@ -0,0 +1,25 @@ +_parser = xslt_create(); + } + + function set_error() { + xslt_set_error_handler($this->_parser, array($this, 'xslt_trap_error')); + echo "OK"; + } + + function xslt_trap_error($parser, $errorno, $level, $fields) { + return TRUE; + } + function clean() { + xslt_free($this->_parser); + } +} + +$x = new xsl; +// work-around for possible '$this does not exist' bug in constructor +$x->set_error(); +$x->clean(); +?>