Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test has a WPT meta file that expects 1 subtest issues.
- This WPT test may be referenced by the following Test IDs:
- /beacon/beacon-url-encoding-euc-kr.https.html - WPT Dashboard Interop Dashboard
<!DOCTYPE html>
<meta charset="euc-kr">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
// This file is actually ascii, because otherwise text editors would have hard time.
promise_test(async (t) => {
// "icon" in Korean language
const iconKorean = "\uc544\uc774\ucf58";
const id = crypto.randomUUID();
assert_true(navigator.sendBeacon(
`/beacon/resources/url-echo.py?cmd=store&id=${id}&icon=${iconKorean}`, "x"));
// Poll the echo endpoint until the beacon is received. The stored value
// is the raw query string sendBeacon() sent.
const statUrl = `/beacon/resources/url-echo.py?cmd=stat&id=${id}`;
for (let i = 0; i < 30; i++) {
const response = await fetch(statUrl);
const text = await response.text();
if (text) {
assert_equals(text, `cmd=store&id=${id}&icon=%EC%95%84%EC%9D%B4%EC%BD%98`, "URL encoded with utf-8");
return;
}
await new Promise(resolve => t.step_timeout(resolve, 200));
}
assert_unreached("sendBeacon was not received");
});
</script>