Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(198)

Side by Side Diff: third_party/WebKit/LayoutTests/fast/selectors/dir-pseudo/dir-pseudo-querySelector.html

Issue 1898403002: [WIP] Implement :dir() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase... other changes too probably Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!doctype html>
2 <script src="../../../resources/testharness.js"></script>
3 <script src="../../../resources/testharnessreport.js"></script>
4
5 <div id=outer>
6 <div id=div1></div>
7 <div id=div2 dir=ltr>
8 <div id=div2_1></div>
9 <div id=div2_2 dir=ltr></div>
10 <div id=div2_3 dir=rtl></div>
11 </div>
12 <div id=div3 dir=rtl>
13 <div id=div3_1>
14 <div id=div3_1_1></div>
15 </div>
16 <div id=div3_2 dir=ltr></div>
17 <div id=div3_3 dir=rtl></div>
18 </div>
19 <div id=div4 dir=lol></div>
20 <div id=div5 dir=auto></div>
21 </div>
22
23 <script>
24 test(() => {
25 assert_equals(document.querySelector(":dir(lol)"), null);
26 assert_equals(document.querySelector(":dir(lol )"), null);
27 assert_equals(document.querySelector(":dir( auto)"), null);
28 assert_equals(document.querySelector(":dir(\nauto\t)"), null);
29 }, ":dir() allows any ident value but strings other than ltr/rtl don't match");
30
31 test(() => {
32 assert_throws("SYNTAX_ERR", () => { document.querySelector(":dir()"); });
33 assert_throws("SYNTAX_ERR", () => { document.querySelector(":dir(ltr, rtl)"); });
34 assert_throws("SYNTAX_ERR", () => { document.querySelector(":dir('ltr')"); });
35 }, ":dir() requires exactly an ident argument");
36
37 test(() => {
38 assert_equals(document.querySelector(":dir(rtl)"), div2_3);
39 assert_equals(document.querySelector("*:dir(rtl)"), div2_3);
40 assert_equals(document.querySelector("div:dir(ltr)"), outer);
41 assert_equals(document.querySelector("div:dir(ltr):dir(ltr)"), outer);
42 assert_equals(document.querySelector(":dir(rtl)#div3_3"), div3_3);
43 assert_equals(document.querySelector(":nth-child(2):dir(rtl)"), null);
44 assert_equals(document.querySelector(":nth-child(3):dir(rtl)"), div2_3);
45 assert_equals(document.querySelector(":nth-child(4):dir(ltr)"), div4);
46 assert_equals(document.querySelector(":nth-last-child(3):dir(rtl)"), div3);
47 }, ":dir() works in compound selectors");
48
49 test(() => {
50 assert_equals(document.querySelector("#div2 :dir(ltr)"), div2_1);
51 assert_equals(document.querySelector(":dir(rtl) div"), div3_1);
52 assert_equals(document.querySelector("div + :dir(ltr)"), div2);
53 assert_equals(document.querySelector(":dir(ltr) + :dir(rtl)"), div2_3);
54 assert_equals(document.querySelector(":dir(rtl) :dir(rtl)"), div3_1);
55 assert_equals(document.querySelector(":dir(rtl) + :dir(ltr)"), div3_2);
56 assert_equals(document.querySelector(":dir(rtl) ~ :dir(rtl)"), div3_3);
57 assert_equals(document.querySelector(":dir(rtl) :dir(ltr)"), div3_2);
58 assert_equals(document.querySelector("* :dir(rtl) *"), div3_1);
59 assert_equals(document.querySelector("div :dir(rtl) div"), div3_1);
60 assert_equals(document.querySelector(":dir(ltr) :dir(rtl) + :dir(ltr)"), div3_ 2);
61 assert_equals(document.querySelector(":dir(ltr) + :dir(rtl) + * + *"), div5);
62 assert_equals(document.querySelector(":dir(rtl) > * > :dir(rtl)"), div3_1_1);
63 }, ":dir() works in complex selectors");
64 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698