1--TEST--
2libxml_get_external_entity_loader() display correct callable name
3--EXTENSIONS--
4dom
5dba
6--FILE--
7<?php
8
9$xml = <<<XML
10<!DOCTYPE foo PUBLIC "-//FOO/BAR" "http://example.com/foobar">
11<foo>bar</foo>
12XML;
13
14$dtd = <<<DTD
15<!ELEMENT foo (#PCDATA)>
16DTD;
17
18class Handler {
19	public function handle($public, $system, $context) {
20	    $file = __DIR__ . '/db.dba';
21		return dba_open($file, 'n');
22	}
23}
24
25$o = new Handler();
26libxml_set_external_entity_loader([$o, 'handle']);
27$dd = new DOMDocument;
28$r = $dd->loadXML($xml);
29
30try {
31    var_dump($dd->validate());
32} catch (\Throwable $e) {
33    var_dump($e->getMessage());
34}
35
36?>
37--CLEAN--
38<?php
39$file = __DIR__ . '/db.dba';
40unlink($file);
41?>
42--EXPECT--
43string(73) "DOMDocument::validate(): supplied resource is not a valid stream resource"
44