summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-wrapped.html
blob: 3e21fcb0fd4b35496aa23e6160088c13592d4ef9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8"/>
    <title>HTML Test: BDI: neutral when wrapped</title>
    <link rel="match" href="bdi-neutral-wrapped-ref.html">
    <link rel="author" title="Aharon Lanin" href="mailto:aharon@google.com"/>
    <link rel="author" title="HTML5 bidi test WG" href="mailto:html5bidi@googlegroups.com"/>
    <link rel="help" href="https://html.spec.whatwg.org/multipage/#the-bdi-element"/>
    <meta name="assert" content="
      'For the purposes of applying the bidirectional algorithm to the paragraph-level
      container that a bdi element finds itself within, the bdi element must be treated
      like a U+FFFC OBJECT REPLACEMENT CHARACTER.'
      This should hold even if the BDI's content is wrapped over more than one line."/>
    <style>
      body{
        font-size:2em;
      }
      .test, .ref {
        border: medium solid gray;
        width: 400px;
        margin: 20px;
      }
      .comments { display: none; }
    </style>
  </head>
  <body>
    <div class="instructions"><p>Test passes if the two boxes below look exactly the same.</p></div>
    <div class="comments">
      Key to entities used below:
        &#xA0; - Non-breaking space.
        &#x05D0; ... &#x05D5; - The first six Hebrew letters (strongly RTL).
        &#x202D; - The LRO (left-to-right override) formatting character.
        &#x202C; - The PDF (pop directional formatting) formatting character; closes LRO.
      In the test below, the non-breaking spaces in the BDI's middle "word" make it so long that it
      must be displayed on a line of its own, with the BDI wrapped before and after it. At the same
      time, the content surrounding the BDI is supposed to form a single directional run, despite
      the containing element and the BDI both having the opposite direction, because the BDI must be
      treated as a neutral. Thus, on the line containing the first part of the BDI, the BDI's
      content must appear after the content preceding it, and on the line containing the last part
      of the BDI, the BDI content must appear before the content following it, where both 'before'
      and 'after' are defined relative to the surrounding directional run.
    </div>
    <div class="test">
      <div dir="ltr">
        &#x05D0; &gt;
        <bdi>b
&gt;&gt;&gt;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;
          c</bdi>
        &gt; &#x05D3;...
      </div>
      <div dir="rtl">
        a &gt;
        <bdi>&#x05D1;
&gt;&gt;&gt;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;
          &#x05D2;</bdi>
        &gt; d...
      </div>
    </div>
    <div class="ref">
      <div dir="ltr">
        &#x202D;b &lt; &#x05D0;&#x202C;<br/>
        &#x202D;&gt;&gt;&gt;&#x202C;<br/>
        &#x202D;&#x05D3; &lt; c...&#x202C;
      </div>
      <div dir="rtl">
        &#x202D;a &gt; &#x05D1;&#x202C;<br/>
        &#x202D;&lt;&lt;&lt;&#x202C;<br/>
        &#x202D;...&#x05D2; &gt; d&#x202C;
      </div>
    </div>
  </body>
</html>