|
69 | 69 | test(() => {
|
70 | 70 | try {
|
71 | 71 | c1.className = 'size w500 h400';
|
72 |
| - c2.className = 'inline w300'; |
73 |
| - c3.className = 'inline w100 h200 vertical'; |
74 |
| - |
75 |
| - // Should select c2, and resolve against w300. |
76 |
| - assert_unit_equals(child, '10qw', '30px'); |
77 |
| - |
78 |
| - // Should select c3, and resolve against h200. |
79 |
| - assert_unit_equals(child, '10qi', '20px'); |
80 |
| - |
81 |
| - // Should select c3, and resolve against h200. |
82 |
| - assert_unit_equals(child, '10qh', '20px'); |
83 |
| - |
84 |
| - // Should select c1, and resolve against h400. |
85 |
| - assert_unit_equals(child, '10qb', '40px'); |
86 |
| - |
87 |
| - c3.classList.remove('vertical'); |
88 |
| - |
89 |
| - // Should select c3, and resolve against w100. |
90 |
| - assert_unit_equals(child, '10qw', '10px'); |
91 |
| - |
92 |
| - // Should select c3, and resolve against w100. |
93 |
| - assert_unit_equals(child, '10qi', '10px'); |
94 |
| - |
95 |
| - // Should select c1, and resolve against h400. |
96 |
| - assert_unit_equals(child, '10qh', '40px'); |
97 |
| - |
98 |
| - // Should select c1, and resolve against h400. |
99 |
| - assert_unit_equals(child, '10qb', '40px'); |
100 |
| - |
101 |
| - } finally { |
102 |
| - for (let c of [c1, c2, c3, c4, child]) |
103 |
| - c.className = ''; |
104 |
| - } |
105 |
| - }, 'Container with vertical writing mode'); |
106 |
| - |
107 |
| - test(() => { |
108 |
| - try { |
109 |
| - c1.className = 'size w500 h400'; |
110 |
| - c2.className = 'inline w300'; |
| 72 | + c2.className = 'inline w300 h200'; |
111 | 73 |
|
| 74 | + // [qi, qb] corresponds to [qw, qh]. |
112 | 75 | assert_unit_equals(child, '10qw', '30px');
|
113 | 76 | assert_unit_equals(child, '10qi', '30px');
|
114 | 77 | assert_unit_equals(child, '10qh', '40px');
|
115 | 78 | assert_unit_equals(child, '10qb', '40px');
|
116 | 79 |
|
117 | 80 | child.className = 'vertical';
|
118 |
| - |
| 81 | + // [qi, qb] now corresponds to [qh, qw]. |
119 | 82 | assert_unit_equals(child, '10qw', '30px');
|
120 |
| - assert_unit_equals(child, '10qi', '30px'); |
| 83 | + assert_unit_equals(child, '10qi', '40px'); |
121 | 84 | assert_unit_equals(child, '10qh', '40px');
|
122 |
| - assert_unit_equals(child, '10qb', '40px'); |
| 85 | + assert_unit_equals(child, '10qb', '30px'); |
| 86 | + |
| 87 | + c2.classList.add('vertical'); |
| 88 | + // The inline containment on #c2 now applies to the vertical axis. |
| 89 | + // [qi, qb] still corresponds to [qh, qw], but we now expect |
| 90 | + // qh to resolve against #c2, and qw to resolve against #c1. |
| 91 | + assert_unit_equals(child, '10qw', '50px'); |
| 92 | + assert_unit_equals(child, '10qi', '20px'); |
| 93 | + assert_unit_equals(child, '10qh', '20px'); |
| 94 | + assert_unit_equals(child, '10qb', '50px'); |
123 | 95 |
|
124 | 96 | } finally {
|
125 | 97 | for (let c of [c1, c2, c3, c4, child])
|
126 | 98 | c.className = '';
|
127 | 99 | }
|
128 |
| - }, 'Units are not affected by the writing-mode of the current element'); |
| 100 | + }, 'Units respond to the writing-mode of the element'); |
129 | 101 | </script>
|
0 commit comments