summaryrefslogtreecommitdiff
path: root/ext/xsl/tests/throw_in_autoload.phpt
blob: e0f441deb88ec6bebf791609df48225e680d1648 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
--TEST--
Fork of bug33853.phpt with exit replaced by throw
--SKIPIF--
<?php
if (!extension_loaded('xsl')) die('skip xsl not loaded');
?>
--FILE--
<?php

spl_autoload_register(function ($className) {
    var_dump($className);
    throw new Exception("Autoload exception");
});

$xsl = new DomDocument();
$xsl->loadXML('<?xml version="1.0" encoding="iso-8859-1" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:php="http://php.net/xsl">
<xsl:template match="/">
<xsl:value-of select="php:function(\'TeSt::dateLang\')" />
</xsl:template>
</xsl:stylesheet>');
$inputdom = new DomDocument();
$inputdom->loadXML('<?xml version="1.0" encoding="iso-8859-1" ?>
<today></today>');

$proc = new XsltProcessor();
$proc->registerPhpFunctions();
$xsl = $proc->importStylesheet($xsl);
try {
    $newdom = $proc->transformToDoc($inputdom);
} catch (Exception $e) {
    echo $e->getMessage(), "\n";
}
?>
===DONE===
--EXPECT--
string(4) "TeSt"
Autoload exception
===DONE===