<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>HTML Test: input with dir=auto, script assigns to start with EN+R</title>
    <link rel="match" href="dir_auto-input-script-EN-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 digits 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 = '123\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="123&#x05D0;&#x05D1;&#x05D2;ABC." />
      </div>
      <div dir="rtl">
        <input type="text" dir="rtl" value="123&#x05D0;&#x05D1;&#x05D2;ABC." />
      </div>
    </div>
  </body>
</html>
