1--TEST--
2DOM\HTMLDocument UTF-8 BOM encoding test
3--EXTENSIONS--
4dom
5--FILE--
6<?php
7
8$dom = DOM\HTMLDocument::createFromFile(__DIR__ . "/utf8_bom.html");
9var_dump($dom->charset);
10$dom->documentElement->firstChild->nextElementSibling->textContent = "é";
11$output = $dom->saveHTML();
12echo $output, "\n";
13$dom->saveHTMLFile(__DIR__ . "/utf8_bom_output.tmp");
14var_dump(file_get_contents(__DIR__ . "/utf8_bom_output.tmp") === $output);
15
16echo "--- After changing encoding to UTF-8 ---\n";
17$dom->charset = "UTF-8";
18echo $dom->saveHTML(), "\n";
19
20?>
21--CLEAN--
22<?php
23@unlink(__DIR__ . "/utf8_bom_output.tmp");
24?>
25--EXPECT--
26string(5) "UTF-8"
27<!DOCTYPE html><html><head>
28<!-- intentional lies and deceit -->
29<meta charset="utf-16">
30</head>
31<body>é</body></html>
32bool(true)
33--- After changing encoding to UTF-8 ---
34<!DOCTYPE html><html><head>
35<!-- intentional lies and deceit -->
36<meta charset="utf-16">
37</head>
38<body>é</body></html>
39