blob: 04942e01b28a411adb3a1fb6e6e58746a5e00569 [file] [log] [blame]
<!doctype html>
<title>USVString test relate to url</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<div id=log></div>
<script>
// Unpaired surrogate codepoints present in USVString are replaced
// with U+FFFD. %EF%BF%BD is UTF-8 encoding of U+FFFD.
'use strict';
test(() => {
location.hash = '\uD999';
assert_equals(location.hash, '#%EF%BF%BD');
}, "location : unpaired surrogate codepoint should be replaced with U+FFFD");
test(() => {
var w = window.open("about:blank#\uD800");
assert_equals(w.location.hash, '#%EF%BF%BD');
}, "window.open : unpaired surrogate codepoint should be replaced with U+FFFD");
test(() => {
var element = document.createElement("a");
element.ping = '\uD989';
assert_equals(element.ping, '\uFFFD');
}, "anchor : unpaired surrogate codepoint should be replaced with U+FFFD")
test(() => {
var element = document.createElement("area");
element.ping = '\uDA99';
assert_equals(element.ping, '\uFFFD');
}, "area : unpaired surrogate codepoint should be replaced with U+FFFD")
test(() => {
var element = document.createElement("base");
element.href = '\uD989';
assert_equals(element.href.endsWith('%EF%BF%BD'), true);
}, "base : unpaired surrogate codepoint should be replaced with U+FFFD")
test(() => {
var src = new EventSource('\uD899');
assert_equals(src.url.endsWith('%EF%BF%BD'), true);
}, "EventSource : unpaired surrogate codepoint should be replaced with U+FFFD")
test(() => {
var element = document.createElement("frame");
element.src = '\uDCA9';
element.longDesc = '\uDCA8';
assert_equals(element.src.endsWith('%EF%BF%BD'), true);
assert_equals(element.longDesc.endsWith('%EF%BF%BD'), true);
}, "frame : unpaired surrogate codepoint should be replaced with U+FFFD")
test(() => {
var element = document.createElement("iframe");
element.src = '\uDC89';
element.longDesc = '\uDC88';
assert_equals(element.src.endsWith('%EF%BF%BD'), true);
assert_equals(element.longDesc.endsWith('%EF%BF%BD'), true);
}, "iframe : unpaired surrogate codepoint should be replaced with U+FFFD")
test(() => {
var element = document.createElement("link");
element.href = '\uDB89';
assert_equals(element.href.endsWith('%EF%BF%BD'), true);
}, "link : unpaired surrogate codepoint should be replaced with U+FFFD")
test(() => {
var element = document.createElement("source");
element.src = '\uDDDD';
element.srcset = '\uD800';
assert_equals(element.src.endsWith('%EF%BF%BD'), true);
assert_equals(element.srcset, '\uFFFD');
}, "source : unpaired surrogate codepoint should be replaced with U+FFFD")
</script>