diff options
author | Rodrigo Prado de Jesus <royopa@gmail.com> | 2014-07-05 17:25:11 -0300 |
---|---|---|
committer | Rogerio Prado de Jesus <rogeriopradoj@gmail.com> | 2014-09-28 20:29:29 -0300 |
commit | 813830e763514a0b716c4813c4c57c8e82401be7 (patch) | |
tree | f7f1850afb27c60d430763e8c8e210815231f3a2 | |
parent | ef39f4044590c15c0d2d5437fc8ff147ff6156ad (diff) | |
download | php-git-813830e763514a0b716c4813c4c57c8e82401be7.tar.gz |
added various tests for XSLTProcessor and one test for iconv extension
22 files changed, 1052 insertions, 0 deletions
diff --git a/ext/iconv/tests/iconv_basic_001.phpt b/ext/iconv/tests/iconv_basic_001.phpt new file mode 100644 index 0000000000..e5c5ddc428 --- /dev/null +++ b/ext/iconv/tests/iconv_basic_001.phpt @@ -0,0 +1,18 @@ +--TEST-- +Test the basics to function iconv. +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--SKIPIF-- +<?php extension_loaded('iconv') or die('skip iconv extension is not available'); ?> +--FILE-- +<?php +$in_charset = 'UTF-8'; +$out_charset = 'ASCII//TRANSLIT'; +$string_to_translate = 'Žluťoučký kůň\n'; + +$string_out = iconv($in_charset, $out_charset, $string_to_translate); + +var_dump($string_out); +?> +--EXPECT-- +string(15) "Zlutoucky kun\n"
\ No newline at end of file diff --git a/ext/xsl/tests/xsltprocessor_hasExsltSupport.phpt b/ext/xsl/tests/xsltprocessor_hasExsltSupport.phpt new file mode 100644 index 0000000000..2267129307 --- /dev/null +++ b/ext/xsl/tests/xsltprocessor_hasExsltSupport.phpt @@ -0,0 +1,13 @@ +--TEST-- +Test the basics to function XSLTProcessor::hasExsltSupport(). +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--SKIPIF-- +<?php extension_loaded('xsl') or die('skip xsl extension is not available'); ?> +--FILE-- +<?php +$proc = new XSLTProcessor(); +var_dump($proc->hasExsltSupport()); +?> +--EXPECTF-- +bool(true)
\ No newline at end of file diff --git a/ext/xsl/tests/xsltprocessor_hasExsltSupport_not_available_extension.phpt b/ext/xsl/tests/xsltprocessor_hasExsltSupport_not_available_extension.phpt new file mode 100644 index 0000000000..d8b8fa846d --- /dev/null +++ b/ext/xsl/tests/xsltprocessor_hasExsltSupport_not_available_extension.phpt @@ -0,0 +1,13 @@ +--TEST-- +Test the basics to function XSLTProcessor::hasExsltSupport() when the xsl extension os not available. +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--SKIPIF-- +<?php (!extension_loaded('xsl')) or die('skip xsl extension is available'); ?> +--FILE-- +<?php +$proc = new XSLTProcessor(); +var_dump($proc->hasExsltSupport()); +?> +--EXPECTF-- +Fatal error: Class 'XSLTProcessor' not found in %s on line %i
\ No newline at end of file diff --git a/ext/xsl/tests/xsltprocessor_hasExsltSupport_wrongparam_001.phpt b/ext/xsl/tests/xsltprocessor_hasExsltSupport_wrongparam_001.phpt new file mode 100644 index 0000000000..107157fa28 --- /dev/null +++ b/ext/xsl/tests/xsltprocessor_hasExsltSupport_wrongparam_001.phpt @@ -0,0 +1,13 @@ +--TEST-- +Check XSLTProcessor::hasExsltSupport() with 1 parameter +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--SKIPIF-- +<?php extension_loaded('xsl') or die('skip xsl extension is not available'); ?> +--FILE-- +<?php +$proc = new XSLTProcessor(); +var_dump($proc->hasExsltSupport('stringValue')); +?> +--EXPECTF-- +bool(true)
\ No newline at end of file diff --git a/ext/xsl/tests/xsltprocessor_transformToDoc.phpt b/ext/xsl/tests/xsltprocessor_transformToDoc.phpt new file mode 100644 index 0000000000..ff4be47e3f --- /dev/null +++ b/ext/xsl/tests/xsltprocessor_transformToDoc.phpt @@ -0,0 +1,51 @@ +--TEST-- +Test the basics to function XSLTProcessor::transformToDoc(). +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--SKIPIF-- +<?php extension_loaded('xsl') or die('skip xsl extension is not available'); ?> +--FILE-- +<?php +$xml = <<<EOB +<allusers> + <user> + <uid>royopa</uid> + </user> +</allusers> +EOB; +$xsl = <<<EOB +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:php="http://php.net/xsl"> +<xsl:output method="html" encoding="utf-8" indent="yes"/> + <xsl:template match="allusers"> + <html><body> + <h2>Users</h2> + <table> + <xsl:for-each select="user"> + <tr><td> + <xsl:value-of + select="php:function('ucfirst',string(uid))"/> + </td></tr> + </xsl:for-each> + </table> + </body></html> + </xsl:template> +</xsl:stylesheet> +EOB; + +$xmldoc = new DOMDocument('1.0', 'utf-8'); +$xmldoc->loadXML($xml); + +$xsldoc = new DOMDocument('1.0', 'utf-8'); +$xsldoc->loadXML($xsl); + +$proc = new XSLTProcessor(); +$proc->registerPHPFunctions(); +$proc->importStyleSheet($xsldoc); + +var_dump($proc->transformToDoc($xmldoc)->firstChild->tagName); +?> +--EXPECT-- +string(4) "html"
\ No newline at end of file diff --git a/ext/xsl/tests/xsltprocessor_transformToDoc_nullparam.phpt b/ext/xsl/tests/xsltprocessor_transformToDoc_nullparam.phpt new file mode 100644 index 0000000000..735fd72958 --- /dev/null +++ b/ext/xsl/tests/xsltprocessor_transformToDoc_nullparam.phpt @@ -0,0 +1,54 @@ +--TEST-- +Check XSLTProcessor::transformToDoc() with null parameter +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--SKIPIF-- +<?php extension_loaded('xsl') or die('skip xsl extension is not available'); ?> +--FILE-- +<?php +$xml = <<<EOB +<allusers> + <user> + <uid>bob</uid> + </user> + <user> + <uid>joe</uid> + </user> +</allusers> +EOB; +$xsl = <<<EOB +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:php="http://php.net/xsl"> +<xsl:output method="html" encoding="utf-8" indent="yes"/> + <xsl:template match="allusers"> + <html><body> + <h2>Users</h2> + <table> + <xsl:for-each select="user"> + <tr><td> + <xsl:value-of + select="php:function('ucfirst',string(uid))"/> + </td></tr> + </xsl:for-each> + </table> + </body></html> + </xsl:template> +</xsl:stylesheet> +EOB; + +$xmldoc = new DOMDocument('1.0', 'utf-8'); +$xmldoc->loadXML($xml); + +$xsldoc = new DOMDocument('1.0', 'utf-8'); +$xsldoc->loadXML($xsl); + +$proc = new XSLTProcessor(); +$proc->registerPHPFunctions(); +$proc->importStyleSheet($xsldoc); + +echo $proc->transformToDoc(null); +?> +--EXPECTF-- +Warning: XSLTProcessor::transformToDoc() expects parameter 1 to be object, null given in %s on line %i
\ No newline at end of file diff --git a/ext/xsl/tests/xsltprocessor_transformToDoc_wrongparam_001.phpt b/ext/xsl/tests/xsltprocessor_transformToDoc_wrongparam_001.phpt new file mode 100644 index 0000000000..1460de39a4 --- /dev/null +++ b/ext/xsl/tests/xsltprocessor_transformToDoc_wrongparam_001.phpt @@ -0,0 +1,56 @@ +--TEST-- +Check XSLTProcessor::transformToDoc() with array parameter +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--SKIPIF-- +<?php extension_loaded('xsl') or die('skip xsl extension is not available'); ?> +--FILE-- +<?php +$xml = <<<EOB +<allusers> + <user> + <uid>bob</uid> + </user> + <user> + <uid>joe</uid> + </user> +</allusers> +EOB; +$xsl = <<<EOB +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:php="http://php.net/xsl"> +<xsl:output method="html" encoding="utf-8" indent="yes"/> + <xsl:template match="allusers"> + <html><body> + <h2>Users</h2> + <table> + <xsl:for-each select="user"> + <tr><td> + <xsl:value-of + select="php:function('ucfirst',string(uid))"/> + </td></tr> + </xsl:for-each> + </table> + </body></html> + </xsl:template> +</xsl:stylesheet> +EOB; + +$xmldoc = new DOMDocument('1.0', 'utf-8'); +$xmldoc->loadXML($xml); + +$xsldoc = new DOMDocument('1.0', 'utf-8'); +$xsldoc->loadXML($xsl); + +$proc = new XSLTProcessor(); +$proc->registerPHPFunctions(); +$proc->importStyleSheet($xsldoc); + +$wrong_parameter = array(); + +echo $proc->transformToDoc($wrong_parameter); +?> +--EXPECTF-- +Warning: XSLTProcessor::transformToDoc() expects parameter 1 to be object, array given in %s on line %i
\ No newline at end of file diff --git a/ext/xsl/tests/xsltprocessor_transformToDoc_wrongparam_002.phpt b/ext/xsl/tests/xsltprocessor_transformToDoc_wrongparam_002.phpt new file mode 100644 index 0000000000..2c6c99ae25 --- /dev/null +++ b/ext/xsl/tests/xsltprocessor_transformToDoc_wrongparam_002.phpt @@ -0,0 +1,54 @@ +--TEST-- +Check XSLTProcessor::transformToDoc() with 4 parameters +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--SKIPIF-- +<?php extension_loaded('xsl') or die('skip xsl extension is not available'); ?> +--FILE-- +<?php +$xml = <<<EOB +<allusers> + <user> + <uid>bob</uid> + </user> + <user> + <uid>joe</uid> + </user> +</allusers> +EOB; +$xsl = <<<EOB +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:php="http://php.net/xsl"> +<xsl:output method="html" encoding="utf-8" indent="yes"/> + <xsl:template match="allusers"> + <html><body> + <h2>Users</h2> + <table> + <xsl:for-each select="user"> + <tr><td> + <xsl:value-of + select="php:function('ucfirst',string(uid))"/> + </td></tr> + </xsl:for-each> + </table> + </body></html> + </xsl:template> +</xsl:stylesheet> +EOB; + +$xmldoc = new DOMDocument('1.0', 'utf-8'); +$xmldoc->loadXML($xml); + +$xsldoc = new DOMDocument('1.0', 'utf-8'); +$xsldoc->loadXML($xsl); + +$proc = new XSLTProcessor(); +$proc->registerPHPFunctions(); +$proc->importStyleSheet($xsldoc); + +echo $proc->transformToDoc($xmldoc, 'string', 98, true); +?> +--EXPECTF-- +Warning: XSLTProcessor::transformToDoc() expects at most 2 parameters, 4 given in %s on line %i diff --git a/ext/xsl/tests/xsltprocessor_transformToDoc_wrongparam_003.phpt b/ext/xsl/tests/xsltprocessor_transformToDoc_wrongparam_003.phpt new file mode 100644 index 0000000000..19fc3e44ef --- /dev/null +++ b/ext/xsl/tests/xsltprocessor_transformToDoc_wrongparam_003.phpt @@ -0,0 +1,56 @@ +--TEST-- +Check XSLTProcessor::transformToDoc() with string parameter +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--SKIPIF-- +<?php extension_loaded('xsl') or die('skip xsl extension is not available'); ?> +--FILE-- +<?php +$xml = <<<EOB +<allusers> + <user> + <uid>bob</uid> + </user> + <user> + <uid>joe</uid> + </user> +</allusers> +EOB; +$xsl = <<<EOB +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:php="http://php.net/xsl"> +<xsl:output method="html" encoding="utf-8" indent="yes"/> + <xsl:template match="allusers"> + <html><body> + <h2>Users</h2> + <table> + <xsl:for-each select="user"> + <tr><td> + <xsl:value-of + select="php:function('ucfirst',string(uid))"/> + </td></tr> + </xsl:for-each> + </table> + </body></html> + </xsl:template> +</xsl:stylesheet> +EOB; + +$xmldoc = new DOMDocument('1.0', 'utf-8'); +$xmldoc->loadXML($xml); + +$xsldoc = new DOMDocument('1.0', 'utf-8'); +$xsldoc->loadXML($xsl); + +$proc = new XSLTProcessor(); +$proc->registerPHPFunctions(); +$proc->importStyleSheet($xsldoc); + +$wrong_parameter = 'stringValue'; + +echo $proc->transformToDoc($wrong_parameter); +?> +--EXPECTF-- +Warning: XSLTProcessor::transformToDoc() expects parameter 1 to be object, string given in %s on line %i
\ No newline at end of file diff --git a/ext/xsl/tests/xsltprocessor_transformToDoc_wrongparam_004.phpt b/ext/xsl/tests/xsltprocessor_transformToDoc_wrongparam_004.phpt new file mode 100644 index 0000000000..8df84b7cbe --- /dev/null +++ b/ext/xsl/tests/xsltprocessor_transformToDoc_wrongparam_004.phpt @@ -0,0 +1,56 @@ +--TEST-- +Check XSLTProcessor::transformToDoc() with boolean parameter +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--SKIPIF-- +<?php extension_loaded('xsl') or die('skip xsl extension is not available'); ?> +--FILE-- +<?php +$xml = <<<EOB +<allusers> + <user> + <uid>bob</uid> + </user> + <user> + <uid>joe</uid> + </user> +</allusers> +EOB; +$xsl = <<<EOB +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:php="http://php.net/xsl"> +<xsl:output method="html" encoding="utf-8" indent="yes"/> + <xsl:template match="allusers"> + <html><body> + <h2>Users</h2> + <table> + <xsl:for-each select="user"> + <tr><td> + <xsl:value-of + select="php:function('ucfirst',string(uid))"/> + </td></tr> + </xsl:for-each> + </table> + </body></html> + </xsl:template> +</xsl:stylesheet> +EOB; + +$xmldoc = new DOMDocument('1.0', 'utf-8'); +$xmldoc->loadXML($xml); + +$xsldoc = new DOMDocument('1.0', 'utf-8'); +$xsldoc->loadXML($xsl); + +$proc = new XSLTProcessor(); +$proc->registerPHPFunctions(); +$proc->importStyleSheet($xsldoc); + +$wrong_parameter = true; + +echo $proc->transformToDoc($wrong_parameter); +?> +--EXPECTF-- +Warning: XSLTProcessor::transformToDoc() expects parameter 1 to be object, boolean given in %s on line %i
\ No newline at end of file diff --git a/ext/xsl/tests/xsltprocessor_transformToURI.phpt b/ext/xsl/tests/xsltprocessor_transformToURI.phpt new file mode 100644 index 0000000000..27ed4e2975 --- /dev/null +++ b/ext/xsl/tests/xsltprocessor_transformToURI.phpt @@ -0,0 +1,53 @@ +--TEST-- +Test the basics to function XSLTProcessor::transformToURI(). +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--SKIPIF-- +<?php extension_loaded('xsl') or die('skip xsl extension is not available'); ?> +--FILE-- +<?php +$xml = <<<EOB +<allusers> + <user> + <uid>bob</uid> + </user> + <user> + <uid>joe</uid> + </user> +</allusers> +EOB; +$xsl = <<<EOB +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:php="http://php.net/xsl"> +<xsl:output method="html" encoding="utf-8" indent="yes"/> + <xsl:template match="allusers"> + <html><body> + <table> + <xsl:for-each select="user"> + <tr><td> + <xsl:value-of + select="php:function('ucfirst',string(uid))"/> + </td></tr> + </xsl:for-each> + </table> + </body></html> + </xsl:template> +</xsl:stylesheet> +EOB; + +$xmldoc = new DOMDocument('1.0', 'utf-8'); +$xmldoc->loadXML($xml); + +$xsldoc = new DOMDocument('1.0', 'utf-8'); +$xsldoc->loadXML($xsl); + +$proc = new XSLTProcessor(); +$proc->registerPHPFunctions(); +$proc->importStyleSheet($xsldoc); + +var_dump($proc->transformToURI($xsldoc, 'php://output')); +?> +--EXPECTF-- +int(56)
\ No newline at end of file diff --git a/ext/xsl/tests/xsltprocessor_transformToURI_nullparam.phpt b/ext/xsl/tests/xsltprocessor_transformToURI_nullparam.phpt new file mode 100644 index 0000000000..69afeaf7be --- /dev/null +++ b/ext/xsl/tests/xsltprocessor_transformToURI_nullparam.phpt @@ -0,0 +1,54 @@ +--TEST-- +Check XSLTProcessor::transformToURI() with null parameters +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--SKIPIF-- +<?php extension_loaded('xsl') or die('skip xsl extension is not available'); ?> +--FILE-- +<?php +$xml = <<<EOB +<allusers> + <user> + <uid>bob</uid> + </user> + <user> + <uid>joe</uid> + </user> +</allusers> +EOB; +$xsl = <<<EOB +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:php="http://php.net/xsl"> +<xsl:output method="html" encoding="utf-8" indent="yes"/> + <xsl:template match="allusers"> + <html><body> + <h2>Users</h2> + <table> + <xsl:for-each select="user"> + <tr><td> + <xsl:value-of + select="php:function('ucfirst',string(uid))"/> + </td></tr> + </xsl:for-each> + </table> + </body></html> + </xsl:template> +</xsl:stylesheet> +EOB; + +$xmldoc = new DOMDocument('1.0', 'utf-8'); +$xmldoc->loadXML($xml); + +$xsldoc = new DOMDocument('1.0', 'utf-8'); +$xsldoc->loadXML($xsl); + +$proc = new XSLTProcessor(); +$proc->registerPHPFunctions(); +$proc->importStyleSheet($xsldoc); + +echo $proc->transformToURI(null, null); +?> +--EXPECTF-- +Warning: XSLTProcessor::transformToUri() expects parameter 1 to be object, null given in %s on line %i
\ No newline at end of file diff --git a/ext/xsl/tests/xsltprocessor_transformToURI_wrongparam_001.phpt b/ext/xsl/tests/xsltprocessor_transformToURI_wrongparam_001.phpt new file mode 100644 index 0000000000..64b98ce7e5 --- /dev/null +++ b/ext/xsl/tests/xsltprocessor_transformToURI_wrongparam_001.phpt @@ -0,0 +1,57 @@ +--TEST-- +Check XSLTProcessor::transformToURI() with array parameter +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--SKIPIF-- +<?php extension_loaded('xsl') or die('skip xsl extension is not available'); ?> +--FILE-- +<?php +$xml = <<<EOB +<allusers> + <user> + <uid>bob</uid> + </user> + <user> + <uid>joe</uid> + </user> +</allusers> +EOB; +$xsl = <<<EOB +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:php="http://php.net/xsl"> +<xsl:output method="html" encoding="utf-8" indent="yes"/> + <xsl:template match="allusers"> + <html><body> + <h2>Users</h2> + <table> + <xsl:for-each select="user"> + <tr><td> + <xsl:value-of + select="php:function('ucfirst',string(uid))"/> + </td></tr> + </xsl:for-each> + </table> + </body></html> + </xsl:template> +</xsl:stylesheet> +EOB; + +$xmldoc = new DOMDocument('1.0', 'utf-8'); +$xmldoc->loadXML($xml); + +$xsldoc = new DOMDocument('1.0', 'utf-8'); +$xsldoc->loadXML($xsl); + +$proc = new XSLTProcessor(); +$proc->registerPHPFunctions(); +$proc->importStyleSheet($xsldoc); + +$wrong_parameter = array(); +$uri = 'php://output'; + +echo $proc->transformToURI($wrong_parameter, $uri); +?> +--EXPECTF-- +Warning: XSLTProcessor::transformToUri() expects parameter 1 to be object, array given in %s on line %i
\ No newline at end of file diff --git a/ext/xsl/tests/xsltprocessor_transformToURI_wrongparam_002.phpt b/ext/xsl/tests/xsltprocessor_transformToURI_wrongparam_002.phpt new file mode 100644 index 0000000000..7f497ba2b8 --- /dev/null +++ b/ext/xsl/tests/xsltprocessor_transformToURI_wrongparam_002.phpt @@ -0,0 +1,57 @@ +--TEST-- +Check XSLTProcessor::transformToURI() with string parameter +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--SKIPIF-- +<?php extension_loaded('xsl') or die('skip xsl extension is not available'); ?> +--FILE-- +<?php +$xml = <<<EOB +<allusers> + <user> + <uid>bob</uid> + </user> + <user> + <uid>joe</uid> + </user> +</allusers> +EOB; +$xsl = <<<EOB +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:php="http://php.net/xsl"> +<xsl:output method="html" encoding="utf-8" indent="yes"/> + <xsl:template match="allusers"> + <html><body> + <h2>Users</h2> + <table> + <xsl:for-each select="user"> + <tr><td> + <xsl:value-of + select="php:function('ucfirst',string(uid))"/> + </td></tr> + </xsl:for-each> + </table> + </body></html> + </xsl:template> +</xsl:stylesheet> +EOB; + +$xmldoc = new DOMDocument('1.0', 'utf-8'); +$xmldoc->loadXML($xml); + +$xsldoc = new DOMDocument('1.0', 'utf-8'); +$xsldoc->loadXML($xsl); + +$proc = new XSLTProcessor(); +$proc->registerPHPFunctions(); +$proc->importStyleSheet($xsldoc); + +$wrong_parameter = 'stringValue'; +$uri = 'php://output'; + +echo $proc->transformToURI($wrong_parameter, $uri); +?> +--EXPECTF-- +Warning: XSLTProcessor::transformToUri() expects parameter 1 to be object, string given in %s on line %i
\ No newline at end of file diff --git a/ext/xsl/tests/xsltprocessor_transformToURI_wrongparam_003.phpt b/ext/xsl/tests/xsltprocessor_transformToURI_wrongparam_003.phpt new file mode 100644 index 0000000000..c7742422fd --- /dev/null +++ b/ext/xsl/tests/xsltprocessor_transformToURI_wrongparam_003.phpt @@ -0,0 +1,57 @@ +--TEST-- +Check XSLTProcessor::transformToURI() with boolean parameter +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--SKIPIF-- +<?php extension_loaded('xsl') or die('skip xsl extension is not available'); ?> +--FILE-- +<?php +$xml = <<<EOB +<allusers> + <user> + <uid>bob</uid> + </user> + <user> + <uid>joe</uid> + </user> +</allusers> +EOB; +$xsl = <<<EOB +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:php="http://php.net/xsl"> +<xsl:output method="html" encoding="utf-8" indent="yes"/> + <xsl:template match="allusers"> + <html><body> + <h2>Users</h2> + <table> + <xsl:for-each select="user"> + <tr><td> + <xsl:value-of + select="php:function('ucfirst',string(uid))"/> + </td></tr> + </xsl:for-each> + </table> + </body></html> + </xsl:template> +</xsl:stylesheet> +EOB; + +$xmldoc = new DOMDocument('1.0', 'utf-8'); +$xmldoc->loadXML($xml); + +$xsldoc = new DOMDocument('1.0', 'utf-8'); +$xsldoc->loadXML($xsl); + +$proc = new XSLTProcessor(); +$proc->registerPHPFunctions(); +$proc->importStyleSheet($xsldoc); + +$wrong_parameter = false; +$uri = 'php://output'; + +echo $proc->transformToURI($wrong_parameter, $uri); +?> +--EXPECTF-- +Warning: XSLTProcessor::transformToUri() expects parameter 1 to be object, boolean given in %s on line %i
\ No newline at end of file diff --git a/ext/xsl/tests/xsltprocessor_transformToURI_wrongparam_004.phpt b/ext/xsl/tests/xsltprocessor_transformToURI_wrongparam_004.phpt new file mode 100644 index 0000000000..c1de1d93c3 --- /dev/null +++ b/ext/xsl/tests/xsltprocessor_transformToURI_wrongparam_004.phpt @@ -0,0 +1,56 @@ +--TEST-- +Check XSLTProcessor::transformToURI() with 3 parameters +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--SKIPIF-- +<?php extension_loaded('xsl') or die('skip xsl extension is not available'); ?> +--FILE-- +<?php +$xml = <<<EOB +<allusers> + <user> + <uid>bob</uid> + </user> + <user> + <uid>joe</uid> + </user> +</allusers> +EOB; +$xsl = <<<EOB +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:php="http://php.net/xsl"> +<xsl:output method="html" encoding="utf-8" indent="yes"/> + <xsl:template match="allusers"> + <html><body> + <h2>Users</h2> + <table> + <xsl:for-each select="user"> + <tr><td> + <xsl:value-of + select="php:function('ucfirst',string(uid))"/> + </td></tr> + </xsl:for-each> + </table> + </body></html> + </xsl:template> +</xsl:stylesheet> +EOB; + +$xmldoc = new DOMDocument('1.0', 'utf-8'); +$xmldoc->loadXML($xml); + +$xsldoc = new DOMDocument('1.0', 'utf-8'); +$xsldoc->loadXML($xsl); + +$proc = new XSLTProcessor(); +$proc->registerPHPFunctions(); +$proc->importStyleSheet($xsldoc); + +$uri = 'php://output'; + +echo $proc->transformToURI($xsldoc, $uri, 'stringValue'); +?> +--EXPECTF-- +Warning: XSLTProcessor::transformToUri() expects exactly 2 parameters, 3 given in %s on line %i
\ No newline at end of file diff --git a/ext/xsl/tests/xsltprocessor_transformToXML.phpt b/ext/xsl/tests/xsltprocessor_transformToXML.phpt new file mode 100644 index 0000000000..c70200d102 --- /dev/null +++ b/ext/xsl/tests/xsltprocessor_transformToXML.phpt @@ -0,0 +1,61 @@ +--TEST-- +Test the basics to function XSLTProcessor::transformToXml(). +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--SKIPIF-- +<?php extension_loaded('xsl') or die('skip xsl extension is not available'); ?> +--FILE-- +<?php +$xml = <<<EOB +<allusers> + <user> + <uid>bob</uid> + </user> + <user> + <uid>joe</uid> + </user> +</allusers> +EOB; +$xsl = <<<EOB +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:php="http://php.net/xsl"> +<xsl:output method="html" encoding="utf-8" indent="yes"/> + <xsl:template match="allusers"> + <html><body> + <h2>Users</h2> + <table> + <xsl:for-each select="user"> + <tr><td> + <xsl:value-of + select="php:function('ucfirst',string(uid))"/> + </td></tr> + </xsl:for-each> + </table> + </body></html> + </xsl:template> +</xsl:stylesheet> +EOB; + +$xmldoc = new DOMDocument('1.0', 'utf-8'); +$xmldoc->loadXML($xml); + +$xsldoc = new DOMDocument('1.0', 'utf-8'); +$xsldoc->loadXML($xsl); + +$proc = new XSLTProcessor(); +$proc->registerPHPFunctions(); +$proc->importStyleSheet($xsldoc); + +var_dump($proc->transformToXML($xmldoc)); +?> +--EXPECT-- +string(135) "<html xmlns:php="http://php.net/xsl"><body> +<h2>Users</h2> +<table> +<tr><td>Bob</td></tr> +<tr><td>Joe</td></tr> +</table> +</body></html> +"
\ No newline at end of file diff --git a/ext/xsl/tests/xsltprocessor_transformToXML_nullparam.phpt b/ext/xsl/tests/xsltprocessor_transformToXML_nullparam.phpt new file mode 100644 index 0000000000..a7689df078 --- /dev/null +++ b/ext/xsl/tests/xsltprocessor_transformToXML_nullparam.phpt @@ -0,0 +1,54 @@ +--TEST-- +Check XSLTProcessor::transformToXml() with null parameter +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--SKIPIF-- +<?php extension_loaded('xsl') or die('skip xsl extension is not available'); ?> +--FILE-- +<?php +$xml = <<<EOB +<allusers> + <user> + <uid>bob</uid> + </user> + <user> + <uid>joe</uid> + </user> +</allusers> +EOB; +$xsl = <<<EOB +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:php="http://php.net/xsl"> +<xsl:output method="html" encoding="utf-8" indent="yes"/> + <xsl:template match="allusers"> + <html><body> + <h2>Users</h2> + <table> + <xsl:for-each select="user"> + <tr><td> + <xsl:value-of + select="php:function('ucfirst',string(uid))"/> + </td></tr> + </xsl:for-each> + </table> + </body></html> + </xsl:template> +</xsl:stylesheet> +EOB; + +$xmldoc = new DOMDocument('1.0', 'utf-8'); +$xmldoc->loadXML($xml); + +$xsldoc = new DOMDocument('1.0', 'utf-8'); +$xsldoc->loadXML($xsl); + +$proc = new XSLTProcessor(); +$proc->registerPHPFunctions(); +$proc->importStyleSheet($xsldoc); + +echo $proc->transformToXML(null); +?> +--EXPECTF-- +Warning: XSLTProcessor::transformToXml() expects parameter 1 to be object, null given in %s on line %i diff --git a/ext/xsl/tests/xsltprocessor_transformToXML_wrongparam_001.phpt b/ext/xsl/tests/xsltprocessor_transformToXML_wrongparam_001.phpt new file mode 100644 index 0000000000..32e1a8095b --- /dev/null +++ b/ext/xsl/tests/xsltprocessor_transformToXML_wrongparam_001.phpt @@ -0,0 +1,55 @@ +--TEST-- +Check XSLTProcessor::transformToXML() with array parameter +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--SKIPIF-- +<?php extension_loaded('xsl') or die('skip xsl extension is not available'); ?> +--FILE-- +<?php +$xml = <<<EOB +<allusers> + <user> + <uid>bob</uid> + </user> + <user> + <uid>joe</uid> + </user> +</allusers> +EOB; +$xsl = <<<EOB +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:php="http://php.net/xsl"> +<xsl:output method="html" encoding="utf-8" indent="yes"/> + <xsl:template match="allusers"> + <html><body> + <h2>Users</h2> + <table> + <xsl:for-each select="user"> + <tr><td> + <xsl:value-of + select="php:function('ucfirst',string(uid))"/> + </td></tr> + </xsl:for-each> + </table> + </body></html> + </xsl:template> +</xsl:stylesheet> +EOB; + +$xmldoc = new DOMDocument('1.0', 'utf-8'); +$xmldoc->loadXML($xml); + +$xsldoc = new DOMDocument('1.0', 'utf-8'); +$xsldoc->loadXML($xsl); + +$proc = new XSLTProcessor(); +$proc->registerPHPFunctions(); +$proc->importStyleSheet($xsldoc); + +$wrong_parameter = array(); +echo $proc->transformToXML($wrong_parameter); +?> +--EXPECTF-- +Warning: XSLTProcessor::transformToXml() expects parameter 1 to be object, array given in %s on line %d
\ No newline at end of file diff --git a/ext/xsl/tests/xsltprocessor_transformToXML_wrongparam_002.phpt b/ext/xsl/tests/xsltprocessor_transformToXML_wrongparam_002.phpt new file mode 100644 index 0000000000..69b9305e13 --- /dev/null +++ b/ext/xsl/tests/xsltprocessor_transformToXML_wrongparam_002.phpt @@ -0,0 +1,54 @@ +--TEST-- +Check XSLTProcessor::transformToXML() with 3 parameters +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--SKIPIF-- +<?php extension_loaded('xsl') or die('skip xsl extension is not available'); ?> +--FILE-- +<?php +$xml = <<<EOB +<allusers> + <user> + <uid>bob</uid> + </user> + <user> + <uid>joe</uid> + </user> +</allusers> +EOB; +$xsl = <<<EOB +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:php="http://php.net/xsl"> +<xsl:output method="html" encoding="utf-8" indent="yes"/> + <xsl:template match="allusers"> + <html><body> + <h2>Users</h2> + <table> + <xsl:for-each select="user"> + <tr><td> + <xsl:value-of + select="php:function('ucfirst',string(uid))"/> + </td></tr> + </xsl:for-each> + </table> + </body></html> + </xsl:template> +</xsl:stylesheet> +EOB; + +$xmldoc = new DOMDocument('1.0', 'utf-8'); +$xmldoc->loadXML($xml); + +$xsldoc = new DOMDocument('1.0', 'utf-8'); +$xsldoc->loadXML($xsl); + +$proc = new XSLTProcessor(); +$proc->registerPHPFunctions(); +$proc->importStyleSheet($xsldoc); + +echo $proc->transformToXML($xmldoc, 'string', 98); +?> +--EXPECTF-- +Warning: XSLTProcessor::transformToXml() expects exactly 1 parameter, 3 given in %s on line %i diff --git a/ext/xsl/tests/xsltprocessor_transformToXML_wrongparam_003.phpt b/ext/xsl/tests/xsltprocessor_transformToXML_wrongparam_003.phpt new file mode 100644 index 0000000000..05cb7ebd9e --- /dev/null +++ b/ext/xsl/tests/xsltprocessor_transformToXML_wrongparam_003.phpt @@ -0,0 +1,55 @@ +--TEST-- +Check XSLTProcessor::transformToXML() with string parameter +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--SKIPIF-- +<?php extension_loaded('xsl') or die('skip xsl extension is not available'); ?> +--FILE-- +<?php +$xml = <<<EOB +<allusers> + <user> + <uid>bob</uid> + </user> + <user> + <uid>joe</uid> + </user> +</allusers> +EOB; +$xsl = <<<EOB +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:php="http://php.net/xsl"> +<xsl:output method="html" encoding="utf-8" indent="yes"/> + <xsl:template match="allusers"> + <html><body> + <h2>Users</h2> + <table> + <xsl:for-each select="user"> + <tr><td> + <xsl:value-of + select="php:function('ucfirst',string(uid))"/> + </td></tr> + </xsl:for-each> + </table> + </body></html> + </xsl:template> +</xsl:stylesheet> +EOB; + +$xmldoc = new DOMDocument('1.0', 'utf-8'); +$xmldoc->loadXML($xml); + +$xsldoc = new DOMDocument('1.0', 'utf-8'); +$xsldoc->loadXML($xsl); + +$proc = new XSLTProcessor(); +$proc->registerPHPFunctions(); +$proc->importStyleSheet($xsldoc); + +$wrong_parameter = 'stringValue'; +echo $proc->transformToXML($wrong_parameter); +?> +--EXPECTF-- +Warning: XSLTProcessor::transformToXml() expects parameter 1 to be object, string given in %s on line %d
\ No newline at end of file diff --git a/ext/xsl/tests/xsltprocessor_transformToXML_wrongparam_004.phpt b/ext/xsl/tests/xsltprocessor_transformToXML_wrongparam_004.phpt new file mode 100644 index 0000000000..87db6e14d6 --- /dev/null +++ b/ext/xsl/tests/xsltprocessor_transformToXML_wrongparam_004.phpt @@ -0,0 +1,55 @@ +--TEST-- +Check XSLTProcessor::transformToXML() with boolean parameter +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--SKIPIF-- +<?php extension_loaded('xsl') or die('skip xsl extension is not available'); ?> +--FILE-- +<?php +$xml = <<<EOB +<allusers> + <user> + <uid>bob</uid> + </user> + <user> + <uid>joe</uid> + </user> +</allusers> +EOB; +$xsl = <<<EOB +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:php="http://php.net/xsl"> +<xsl:output method="html" encoding="utf-8" indent="yes"/> + <xsl:template match="allusers"> + <html><body> + <h2>Users</h2> + <table> + <xsl:for-each select="user"> + <tr><td> + <xsl:value-of + select="php:function('ucfirst',string(uid))"/> + </td></tr> + </xsl:for-each> + </table> + </body></html> + </xsl:template> +</xsl:stylesheet> +EOB; + +$xmldoc = new DOMDocument('1.0', 'utf-8'); +$xmldoc->loadXML($xml); + +$xsldoc = new DOMDocument('1.0', 'utf-8'); +$xsldoc->loadXML($xsl); + +$proc = new XSLTProcessor(); +$proc->registerPHPFunctions(); +$proc->importStyleSheet($xsldoc); + +$wrong_parameter = true; +echo $proc->transformToXML($wrong_parameter); +?> +--EXPECTF-- +Warning: XSLTProcessor::transformToXml() expects parameter 1 to be object, boolean given in %s on line %d
\ No newline at end of file |