<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>HTML Test: input with dir=auto, script assigns to start with N+R</title>
    <link rel="match" href="dir_auto-input-script-N-R-ref.html" />
    <link rel="author" title="Matitiahu Allouche" href="mailto:matitiahu.allouche@google.com" />
    <link rel="author" title="Oren Roth" href="mailto:oren.roth@gmail.com" />
    <link rel="author" title="Shai Berger" href="mailto:shai@platonix.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" />
    <meta name="assert" content="
      When dir='auto', the direction of an input element is set according to
      the first strong character of its value.
      In this test, it is the Hebrew letter Alef since neutrals are not
      strongly directional, thus the direction must be resolved as RTL." />
    <style>
      input, textarea {
        font-size:1em;
      }
      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:
      &#x05D0; - The Hebrew letter Alef (strongly RTL).
      &#x05D1; - The Hebrew letter Bet (strongly RTL).
      &#x05D2; - The Hebrew letter Gimel (strongly RTL).
      This test makes sure that the direction is set correctly for an input whose value is set
      dynamically by script.
    </div>
    <div id="test" class="test">
      <script>
        window.onload = function() {
          var test = document.getElementById('test');
          var inputs = test.getElementsByTagName('input');
          for (var i = 0; i != inputs.length; i++) {
            inputs[i].value = '.-=\u05D0\u05D1\u05D2ABC.';
          }
        }
      </script>
      <div dir="ltr">
        <input type="text" dir="auto" value="a" />
      </div>
      <div dir="rtl">
        <input type="text" dir="auto" value="a" />
      </div>
    </div>
    <div class="ref">
      <div dir="ltr">
        <input type="text" dir="rtl" value=".-=&#x05D0;&#x05D1;&#x05D2;ABC." />
      </div>
      <div dir="rtl">
        <input type="text" dir="rtl" value=".-=&#x05D0;&#x05D1;&#x05D2;ABC." />
      </div>
    </div>
  </body>
</html>
