Bug 1605040 [wpt PR 20861] - XPath: Fix normalize-space(), a=testonly

Automatic update from web-platform-tests
XPath: Fix normalize-space()

It should handle only XML white spaces; #x20, #x9, #xD, and #xA.
We incorrectly handled other white spaces such as U+3000.

Bug: 893929
Change-Id: I59708f978ba1c23141f748de7a8f4c58d58c7acf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1974713
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#726557}

--

wpt-commits: 3a9bcdca3cf0ce754528e5c2e5503bb07ea3af9d
wpt-pr: 20861
This commit is contained in:
Kent Tamura 2019-12-20 11:39:46 +00:00 коммит произвёл moz-wptsync-bot
Родитель 8981214426
Коммит 85a2dfff50
1 изменённых файлов: 23 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,23 @@
<!DOCTYPE html>
<link rel="help" href="https://www.w3.org/TR/1999/REC-xpath-19991116/#function-normalize-space">
<link rel="help" href="https://www.w3.org/TR/xpath-functions-31/#func-normalize-space">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
<div id="target"> a <br> b</div>
<script>
function normalizeSpace(exp) {
return document.evaluate(`normalize-space("${exp}")`, document).stringValue;
}
test(() => {
assert_equals(document.evaluate('normalize-space()', document.querySelector('#target')).stringValue, 'a b');
}, 'normalize-space() without arguments');
test(() => {
assert_equals(normalizeSpace(' a \t b\r\nc '), 'a b c');
assert_equals(normalizeSpace('y\x0B\x0C\x0E\x0Fz'), 'y\x0b\x0c\x0e\x0fz');
assert_equals(normalizeSpace('\xA0 \u3000'), '\xA0 \u3000');
}, 'normalize-space() should handle only #x20, #x9, #xD, and #xA');
</script>