summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/domxpath/fn-normalize-space.html
blob: a9f33a0ee3d153abd6fe05415c6ce6699ce8525c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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>