<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>HTML Test: textarea with dir=auto, script assigns to all-N between all-Rs</title>
    <link rel="match" href="dir_auto-textarea-script-N-between-Rs-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-dir-attribute" />
    <link rel="help" href="http://dev.w3.org/csswg/css3-writing-modes/#unicode-bidi0" />
    <meta name="assert" content="
      When dir='auto', the direction is set according to the first strong character
      of the text.
      For textarea and pre elements, the heuristic is applied on a per-paragraph level.
      If there is no strong character, as in this test, the direction defaults to LTR." />
    <style>
      body, textarea {
        font-size:18px;
        text-align:left;
      }
      textarea {
        resize: none;
      }
      .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:
        &#x05D0; - The Hebrew letter Alef (strongly RTL).
      This test makes sure that the direction is set correctly for a textarea whose value is set
      dynamically by script.
      We use text-align:left because neither the dir="auto" nor the unicode-bidi:plaintext
      specification states whether text-align:start and text-align:end should obey the paragraph
      direction or the direction property in a unicode-bidi:plaintext element.
      The ...! paragraph, being neutral, is supposed to be displayed LTR (i.e. as ...!, not as !...)
      despite both the paragraph before it and the paragraph after it being all-RTL, which makes the
      element as a whole RTL.
    </div>
    <div id="test" class="test">
      <script>
        window.onload = function() {
          var test = document.getElementById('test');
          var textareas = test.getElementsByTagName('textarea');
          for (var i = 0; i != textareas.length; i++) {
            textareas[i].value = '\u05D0\n...!\n\u05D0';
          }
        }
      </script>
      <div dir="ltr">
        <textarea rows="4" dir="auto">
LTR text
        </textarea>
      </div>
      <div dir="rtl">
        <textarea rows="4" dir="auto">
LTR text
        </textarea>
      </div>
    </div>
    <div class="ref">
      <div dir="ltr">
        <textarea rows="4" dir="rtl">
&#x05D0;
!...
&#x05D0;</textarea>
      </div>
      <div dir="rtl">
        <textarea rows="4" dir="rtl">
&#x05D0;
!...
&#x05D0;</textarea>
      </div>
    </div>
  </body>
</html>
