diff options
author | Stanislav Malyshev <stas@php.net> | 2014-11-23 17:26:28 -0800 |
---|---|---|
committer | Stanislav Malyshev <stas@php.net> | 2014-11-23 17:26:28 -0800 |
commit | a8dfb33db8098e7a34e0033c3113f1c1b0ff9f61 (patch) | |
tree | 070ef7ac2976b259d27c0233b27d17087fd664a3 | |
parent | 2c67c0246e9055b03ab93df3fe0257d323359d93 (diff) | |
parent | 1330491994146070561ef97c88be1c066a690125 (diff) | |
download | php-git-a8dfb33db8098e7a34e0033c3113f1c1b0ff9f61.tar.gz |
Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
Add my information to this test
Add a test for the exception cases of readline_read_history
added some tests to datetime and dateinterval functions
added various tests for XSLTProcessor and one test for iconv extension
teste basico da funcao timezone_version_get
36 files changed, 1315 insertions, 0 deletions
diff --git a/ext/date/tests/date_interval_create_from_date_string.phpt b/ext/date/tests/date_interval_create_from_date_string.phpt new file mode 100644 index 0000000000..9a1745c9ac --- /dev/null +++ b/ext/date/tests/date_interval_create_from_date_string.phpt @@ -0,0 +1,34 @@ +--TEST-- +Test date_interval_create_from_date_string() function : basic functionality +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--FILE-- +<?php +$string = '1 day'; //P1D +$i = date_interval_create_from_date_string($string); +var_dump($i->d); + +$string = '2 weeks'; //14 days +$i = date_interval_create_from_date_string($string); +var_dump($i->d); + +$string = '3 months'; +$i = date_interval_create_from_date_string($string); +var_dump($i->m); + +$string = '4 years'; +$i = date_interval_create_from_date_string($string); +var_dump($i->y); + +$string = '1 year + 1 day'; +$i = date_interval_create_from_date_string($string); +var_dump($i->y); +var_dump($i->d); +?> +--EXPECTF-- +int(1) +int(14) +int(3) +int(4) +int(1) +int(1)
\ No newline at end of file diff --git a/ext/date/tests/date_interval_create_from_date_string_nullparam.phpt b/ext/date/tests/date_interval_create_from_date_string_nullparam.phpt new file mode 100644 index 0000000000..369db5714a --- /dev/null +++ b/ext/date/tests/date_interval_create_from_date_string_nullparam.phpt @@ -0,0 +1,42 @@ +--TEST-- +Test date_interval_create_from_date_string() function : null parameter +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--FILE-- +<?php +$i = date_interval_create_from_date_string(null); //returns a empty object +var_dump($i); +?> +--EXPECTF-- +object(DateInterval)#1 (15) { + ["y"]=> + int(0) + ["m"]=> + int(0) + ["d"]=> + int(0) + ["h"]=> + int(0) + ["i"]=> + int(0) + ["s"]=> + int(0) + ["weekday"]=> + int(0) + ["weekday_behavior"]=> + int(0) + ["first_last_day_of"]=> + int(0) + ["invert"]=> + int(0) + ["days"]=> + int(0) + ["special_type"]=> + int(0) + ["special_amount"]=> + int(0) + ["have_weekday_relative"]=> + int(0) + ["have_special_relative"]=> + int(0) +}
\ No newline at end of file diff --git a/ext/date/tests/date_interval_create_from_date_string_wrongparam_001.phpt b/ext/date/tests/date_interval_create_from_date_string_wrongparam_001.phpt new file mode 100644 index 0000000000..15db956553 --- /dev/null +++ b/ext/date/tests/date_interval_create_from_date_string_wrongparam_001.phpt @@ -0,0 +1,11 @@ +--TEST-- +Test date_interval_create_from_date_string() function : wrong parameter (array) +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--FILE-- +<?php +$wrong_parameter = array(); +$i = date_interval_create_from_date_string($wrong_parameter); +?> +--EXPECTF-- +Warning: date_interval_create_from_date_string() expects parameter 1 to be string, array given in %s on line %d
\ No newline at end of file diff --git a/ext/date/tests/date_interval_create_from_date_string_wrongparam_002.phpt b/ext/date/tests/date_interval_create_from_date_string_wrongparam_002.phpt new file mode 100644 index 0000000000..a3407c3967 --- /dev/null +++ b/ext/date/tests/date_interval_create_from_date_string_wrongparam_002.phpt @@ -0,0 +1,9 @@ +--TEST-- +Test date_interval_create_from_date_string() function : with 2 parameters (wrong). +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--FILE-- +<?php +$i = date_interval_create_from_date_string('1 year', 'wrong'); +?> +--EXPECTF-- +Warning: date_interval_create_from_date_string() expects exactly 1 parameter, 2 given in %s on line %d
\ No newline at end of file diff --git a/ext/date/tests/date_timestamp_set.phpt b/ext/date/tests/date_timestamp_set.phpt new file mode 100644 index 0000000000..e01660193f --- /dev/null +++ b/ext/date/tests/date_timestamp_set.phpt @@ -0,0 +1,19 @@ +--TEST-- +Test the basics to function date_timestamp_set(). +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--INI-- +date.timezone = UTC; +date_default_timezone_set("America/Sao_Paulo"); +--FILE-- +<?php +$dftz021 = date_default_timezone_get(); //UTC + +$dtms021 = date_create(); + +date_timestamp_set($dtms021, 1234567890); + +var_dump(date_format($dtms021, 'B => (U) => T Y-M-d H:i:s')); +?> +--EXPECTF-- +string(47) "021 => (1234567890) => UTC 2009-Feb-13 23:31:30"
\ No newline at end of file diff --git a/ext/date/tests/date_timestamp_set_nullparam.phpt b/ext/date/tests/date_timestamp_set_nullparam.phpt new file mode 100644 index 0000000000..1bcb800242 --- /dev/null +++ b/ext/date/tests/date_timestamp_set_nullparam.phpt @@ -0,0 +1,17 @@ +--TEST-- +Test the function date_timestamp_set() with first null parameter. +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--INI-- +date.timezone = UTC; +date_default_timezone_set("America/Sao_Paulo"); +--FILE-- +<?php +$dftz021 = date_default_timezone_get(); //UTC + +$dtms021 = date_create(); + +date_timestamp_set(null, 1234567890); +?> +--EXPECTF-- +Warning: date_timestamp_set() expects parameter 1 to be DateTime, null given in %s on line %d
\ No newline at end of file diff --git a/ext/date/tests/date_timestamp_set_nullparam2.phpt b/ext/date/tests/date_timestamp_set_nullparam2.phpt new file mode 100644 index 0000000000..1442da4426 --- /dev/null +++ b/ext/date/tests/date_timestamp_set_nullparam2.phpt @@ -0,0 +1,24 @@ +--TEST-- +Test the function date_timestamp_set() with second null parameter. +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--INI-- +date.timezone = UTC; +date_default_timezone_set("America/Sao_Paulo"); +--FILE-- +<?php +$dftz021 = date_default_timezone_get(); //UTC + +$dtms021 = date_create(); + +var_dump(date_timestamp_set($dtms021, null)); +?> +--EXPECTF-- +object(DateTime)#1 (3) { + ["date"]=> + string(26) "1970-01-01 00:00:00.000000" + ["timezone_type"]=> + int(3) + ["timezone"]=> + string(3) "UTC" +}
\ No newline at end of file diff --git a/ext/date/tests/date_timestamp_set_wrongparam_001.phpt b/ext/date/tests/date_timestamp_set_wrongparam_001.phpt new file mode 100644 index 0000000000..9a0fca99c1 --- /dev/null +++ b/ext/date/tests/date_timestamp_set_wrongparam_001.phpt @@ -0,0 +1,17 @@ +--TEST-- +Check the function date_timestamp_set() with first parameter wrong (array). +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--INI-- +date.timezone = UTC; +date_default_timezone_set("America/Sao_Paulo"); +--FILE-- +<?php +$dftz021 = date_default_timezone_get(); //UTC + +$dtms021 = array(); + +date_timestamp_set($dtms021, 123456789); +?> +--EXPECTF-- +Warning: date_timestamp_set() expects parameter 1 to be DateTime, array given in %s on line %d
\ No newline at end of file diff --git a/ext/date/tests/date_timestamp_set_wrongparam_002.phpt b/ext/date/tests/date_timestamp_set_wrongparam_002.phpt new file mode 100644 index 0000000000..ed31cb217d --- /dev/null +++ b/ext/date/tests/date_timestamp_set_wrongparam_002.phpt @@ -0,0 +1,15 @@ +--TEST-- +Check the function date_timestamp_set() with first parameter wrong (integer). +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--INI-- +date.timezone = UTC; +date_default_timezone_set("America/Sao_Paulo"); +--FILE-- +<?php +$dftz021 = date_default_timezone_get(); //UTC + +date_timestamp_set(987654321, 123456789); +?> +--EXPECTF-- +Warning: date_timestamp_set() expects parameter 1 to be DateTime, integer given in %s on line %d
\ No newline at end of file diff --git a/ext/date/tests/date_timestamp_set_wrongparam_003.phpt b/ext/date/tests/date_timestamp_set_wrongparam_003.phpt new file mode 100644 index 0000000000..f965334d9d --- /dev/null +++ b/ext/date/tests/date_timestamp_set_wrongparam_003.phpt @@ -0,0 +1,19 @@ +--TEST-- +Check the function date_timestamp_set() with second parameter wrong (array). +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--INI-- +date.timezone = UTC; +date_default_timezone_set("America/Sao_Paulo"); +--FILE-- +<?php +$dftz021 = date_default_timezone_get(); //UTC + +$dtms021 = new DateTime(); + +$wrong_parameter = array(); + +date_timestamp_set($dtms021, $wrong_parameter); +?> +--EXPECTF-- +Warning: date_timestamp_set() expects parameter 2 to be long, array given in %s on line %d
\ No newline at end of file diff --git a/ext/date/tests/date_timestamp_set_wrongparam_004.phpt b/ext/date/tests/date_timestamp_set_wrongparam_004.phpt new file mode 100644 index 0000000000..b171e98bd4 --- /dev/null +++ b/ext/date/tests/date_timestamp_set_wrongparam_004.phpt @@ -0,0 +1,17 @@ +--TEST-- +Check the function date_timestamp_set() with 3 parameters. +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--INI-- +date.timezone = UTC; +date_default_timezone_set("America/Sao_Paulo"); +--FILE-- +<?php +$dftz021 = date_default_timezone_get(); //UTC + +$dtms021 = new DateTime(); + +date_timestamp_set($dtms021, 123456789, 'error'); +?> +--EXPECTF-- +Warning: date_timestamp_set() expects exactly 2 parameters, 3 given in %s on line %d
\ No newline at end of file diff --git a/ext/date/tests/timezone_version_get.phpt b/ext/date/tests/timezone_version_get.phpt new file mode 100644 index 0000000000..e076004289 --- /dev/null +++ b/ext/date/tests/timezone_version_get.phpt @@ -0,0 +1,13 @@ +--TEST-- +Test the basics to function timezone_version_get(). +--CREDITS-- +Rodrigo Prado de Jesus <royopa [at] gmail [dot] com> +--INI-- +date.timezone = UTC; +date_default_timezone_set("America/Sao_Paulo"); +--FILE-- +<?php +var_dump(timezone_version_get()); +?> +--EXPECTREGEX-- +string\([6-7]\) \"20[0-9][0-9]\.[1-9][0-9]?\"
\ No newline at end of file diff --git a/ext/date/tests/timezone_version_get_basic1.phpt b/ext/date/tests/timezone_version_get_basic1.phpt new file mode 100644 index 0000000000..27224e3d44 --- /dev/null +++ b/ext/date/tests/timezone_version_get_basic1.phpt @@ -0,0 +1,12 @@ +--TEST-- +timezone_version_get: Test that timezone_location_get returns a date concatenated with a dot and a version number +--CREDITS-- +Rodrigo Wanderley de Melo Cardoso <rodrigogepem@gmail.com> +#PHPTestFest2014 São Paulo 2014-07-05 +--INI-- +date.timezone=UTC +--FILE-- +<?php $versionTimezone = timezone_version_get(); +echo $versionTimezone; ?> +--EXPECTREGEX-- +^[12][0-9]{3}.[0-9]+$
\ No newline at end of file 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/readline/tests/readline_read_history_error_001.phpt b/ext/readline/tests/readline_read_history_error_001.phpt new file mode 100644 index 0000000000..0a65a66d5c --- /dev/null +++ b/ext/readline/tests/readline_read_history_error_001.phpt @@ -0,0 +1,14 @@ +--TEST-- +readline_read_history() function - Error cases +--CREDITS-- +Pedro Manoel Evangelista <pedro.evangelista at gmail dot com> +--SKIPIF-- +<?php if (!extension_loaded("readline") || !function_exists('readline_read_history')) die("skip"); ?> +--FILE-- +<?php +var_dump(readline_read_history()); +var_dump(readline_read_history('nofile')); +?> +--EXPECT-- +bool(false) +bool(false) 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 |