1--TEST--
2Check XSLTProcessor::transformToURI() with string parameter
3--CREDITS--
4Rodrigo Prado de Jesus <royopa [at] gmail [dot] com>
5--SKIPIF--
6<?php extension_loaded('xsl') or die('skip xsl extension is not available'); ?>
7--FILE--
8<?php
9$xml = <<<EOB
10<allusers>
11 <user>
12  <uid>bob</uid>
13 </user>
14 <user>
15  <uid>joe</uid>
16 </user>
17</allusers>
18EOB;
19$xsl = <<<EOB
20<?xml version="1.0" encoding="UTF-8"?>
21<xsl:stylesheet version="1.0"
22     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
23     xmlns:php="http://php.net/xsl">
24<xsl:output method="html" encoding="utf-8" indent="yes"/>
25 <xsl:template match="allusers">
26  <html><body>
27    <h2>Users</h2>
28    <table>
29    <xsl:for-each select="user">
30      <tr><td>
31        <xsl:value-of
32             select="php:function('ucfirst',string(uid))"/>
33      </td></tr>
34    </xsl:for-each>
35    </table>
36  </body></html>
37 </xsl:template>
38</xsl:stylesheet>
39EOB;
40
41$xmldoc = new DOMDocument('1.0', 'utf-8');
42$xmldoc->loadXML($xml);
43
44$xsldoc = new DOMDocument('1.0', 'utf-8');
45$xsldoc->loadXML($xsl);
46
47$proc = new XSLTProcessor();
48$proc->registerPHPFunctions();
49$proc->importStyleSheet($xsldoc);
50
51$wrong_parameter = 'stringValue';
52$uri = 'php://output';
53
54echo $proc->transformToURI($wrong_parameter, $uri);
55?>
56--EXPECTF--
57Warning: XSLTProcessor::transformToUri() expects parameter 1 to be object, string given in %s on line %i