tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

dir-selector-auto.html (2576B)


      1 <!doctype html>
      2 <html>
      3 <head>
      4  <link rel="help" href="http://www.w3.org/TR/selectors4/#dir-pseudo">
      5  <script src="/resources/testharness.js"></script>
      6  <script src="/resources/testharnessreport.js"></script>
      7  <style>
      8    #div4_1 {
      9      direction: rtl;
     10    }
     11  </style>
     12 </head>
     13 
     14 <!-- &#1514; is the Hebrew letter tav, i.e. RTL -->
     15 <body>
     16  <div id=testDivs>
     17    <div id=div1 dir=auto>
     18      <div id=div1_1>a</div>
     19    </div>
     20    <div id=div2 dir=auto>
     21      <div id=div2_1>&#1514;</div>
     22    </div>
     23    <div id=div3 dir=auto>
     24      <div id=div3_1 dir=rtl>&#1514;</div>
     25      <div id=div3_2>a</div>
     26    </div>
     27    <div id=div4 dir=auto>
     28      <div id=div4_1>
     29        <div id=div4_1_1>a</div>
     30      </div>
     31    </div>
     32  </div>
     33 </body>
     34 
     35 <script>
     36 function test_directionality(message, element, expected) {
     37  test(() => {
     38    var isLTR = document.querySelector("#" + element.id + ":dir(ltr)") == element;
     39    var isRTL = document.querySelector("#" + element.id + ":dir(rtl)") == element;
     40    if (expected == "ltr") {
     41      assert_true(isLTR);
     42      assert_false(isRTL);
     43    } else {
     44      assert_false(isLTR);
     45      assert_true(isRTL);
     46    }
     47  }, message + " directionality of element " + element.id + " is " + expected);
     48 }
     49 
     50 test_directionality("Initial ", div1, "ltr");
     51 test_directionality("Initial ", div1_1, "ltr");
     52 test_directionality("Initial ", div2, "rtl");
     53 test_directionality("Initial ", div2_1, "rtl");
     54 test_directionality("Initial ", div3, "ltr");
     55 test_directionality("Initial ", div3_1, "rtl");
     56 test_directionality("Initial ", div3_2, "ltr");
     57 test_directionality("Initial ", div4, "ltr");
     58 test_directionality("Initial ", div4_1, "ltr");
     59 test_directionality("Initial ", div4_1_1, "ltr");
     60 
     61 div1_1.innerText = "\u05EA";
     62 div1_1.offsetTop;
     63 test_directionality("Updated ", div1, "rtl");
     64 test_directionality("Updated ", div1_1, "rtl");
     65 
     66 div1_1.dir = "ltr";
     67 div1_1.offsetTop;
     68 test_directionality("Updated ", div1, "ltr");
     69 test_directionality("Updated ", div1_1, "ltr");
     70 
     71 div1_1.innerText = "a";
     72 div1_1.offsetTop;
     73 test_directionality("Reupdated ", div1, "ltr");
     74 test_directionality("Reupdated ", div1_1, "ltr");
     75 
     76 div2_1.remove();
     77 div2.offsetTop;
     78 test_directionality("Updated ", div2, "ltr");
     79 
     80 div3_1.dir = "";
     81 div3_1.offsetTop;
     82 test_directionality("Updated ", div3, "rtl");
     83 div3.appendChild(div3_1);
     84 div3.offsetTop;
     85 test_directionality("Updated ", div3, "ltr");
     86 
     87 div4_1_1.innerText = "\u05EA";
     88 div4_1_1.offsetTop;
     89 test_directionality("Updated ", div4, "rtl");
     90 test_directionality("Updated ", div4_1, "rtl");
     91 test_directionality("Updated ", div4_1_1, "rtl");
     92 </script>
     93 </html>