Bug 1079164 - Initial testcases for CSS grid in vertical writing mode. r=mats

This commit is contained in:
Jonathan Kew 2015-04-10 16:56:23 +01:00
parent 987eaf5fa9
commit 8a1d977c6b
5 changed files with 708 additions and 0 deletions

View File

@ -17,3 +17,5 @@ fails == grid-whitespace-handling-1b.xhtml grid-whitespace-handling-1-ref.xhtml
== grid-order-placement-definite-001.html grid-order-placement-definite-001-ref.html
== rtl-grid-placement-definite-001.html rtl-grid-placement-definite-001-ref.html
== rtl-grid-placement-auto-row-sparse-001.html rtl-grid-placement-auto-row-sparse-001-ref.html
== vlr-grid-placement-auto-row-sparse-001.html vlr-grid-placement-auto-row-sparse-001-ref.html
== vrl-grid-placement-auto-row-sparse-001.html vrl-grid-placement-auto-row-sparse-001-ref.html

View File

@ -0,0 +1,203 @@
<!DOCTYPE HTML>
<html><head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
html {
writing-mode: vertical-lr;
text-orientation: sideways-right;
}
.grid {
block-size: 60px;
border: 2px solid green;
position: relative;
}
span {
position: absolute;
background: lime;
border: 1px solid black;
box-sizing: border-box;
inline-size: 20px;
block-size: 20px;
}
.test1 .a {
offset-block-start: 0;
offset-inline-start: 20px;
inline-size: 20px;
block-size: 20px;
}
.test1 .b {
offset-block-start: 20px;
offset-inline-start: 20px;
inline-size: 60px;
block-size: 20px;
}
.test1 .c {
offset-block-start: 0;
offset-inline-start: 80px;
inline-size: 60px;
block-size: 40px;
}
.test1 .e {
offset-block-start: 20px;
offset-inline-start: 0px;
}
.test1 .d2 {
offset-block-start: 0px;
offset-inline-start: 40px;
}
.test2 .a {
offset-block-start: 0;
offset-inline-start: 20px;
inline-size: 60px;
block-size: 20px;
}
.test2 .b {
offset-block-start: 20px;
offset-inline-start: 20px;
inline-size: 20px;
block-size: 20px;
}
.test2 .c {
offset-block-start: 0;
offset-inline-start: 80px;
inline-size: 60px;
block-size: 40px;
}
.test2 .e {
offset-block-start: 20px;
offset-inline-start: 0px;
}
.test2 .d2 {
offset-block-start: 20px;
offset-inline-start: 40px;
}
.test3 .a {
offset-block-start: 0;
offset-inline-start: 0;
inline-size: 60px;
block-size: 40px;
}
.test3 .b {
offset-block-start: 40px;
offset-inline-start: 20px;
inline-size: 60px;
block-size: 20px;
}
.test3 .c {
offset-block-start: 60px;
offset-inline-start: 0px;
inline-size: 60px;
block-size: 40px;
}
.test3 .d { offset-block-start: 60px; offset-inline-start:60px; }
.test3 .e {
offset-block-start: 20px;
offset-inline-start: 60px;
}
.test3 .d2 {
offset-block-start: 80px;
offset-inline-start: 60px;
}
.test4 .c {
offset-block-start: 0;
offset-inline-start: 20px;
inline-size: 60px;
block-size: 40px;
}
.test4 .d { offset-block-start: 40px; }
.test4 .e {
offset-block-start: 20px;
offset-inline-start: 0px;
}
.test4 .d2 {
offset-block-start: 40px;
offset-inline-start: 20px;
}
.test5 .c {
offset-block-start: 20px;
offset-inline-start: 0;
inline-size: 60px;
block-size: 20px;
}
.test5 .e {
offset-block-start: 20px;
offset-inline-start: 60px;
}
.test5 .d2 {
offset-block-start: 0px;
offset-inline-start: 20px;
}
.test6 { offset-inline-start: 0px; offset-block-start: 20px;}
.test6d2 {
offset-block-start: 20px;
offset-inline-start: 140px;
}
.test6e {
offset-block-start: 20px;
offset-inline-start: 160px;
}
</style>
</head>
<body>
<div class="grid test1">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="d">d</span>
<span class="d2">D</span>
<span class="e">e</span>
</div>
<div class="grid test2">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="d">d</span>
<span class="d2">D</span>
<span class="e">e</span>
</div>
<div class="grid test3" style="block-size:100px">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="d">d</span>
<span class="d2">D</span>
<span class="e">e</span>
</div>
<div class="grid test4">
<span class="c">c</span>
<span class="d">d</span>
<span class="d2">D</span>
<span class="e">e</span>
</div>
<div class="grid test5">
<span class="c">c</span>
<span class="d">d</span>
<span class="d2">D</span>
<span class="e">e</span>
</div>
<div class="grid test1">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="test6">d</span>
<span class="test6d2">D</span>
<span class="test6e">e</span>
</div>
</body>
</html>

View File

@ -0,0 +1,141 @@
<!DOCTYPE HTML>
<html><head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
html {
writing-mode: vertical-lr;
text-orientation: sideways-right;
}
.grid {
display: grid;
border: 2px solid green;
grid-template-columns: 20px 20px 20px 20px;
grid-template-rows: 20px 20px 20px;
grid-auto-flow: row;
grid-auto-columns: 20px;
grid-auto-rows: 20px;
}
span {
background: lime;
border: 1px solid;
}
.test1 .a {
grid-row: 1;
grid-column: 2 / span 1;
}
.test1 .b {
grid-row: 2;
grid-column: 2 / span 3;
}
.test1 .c, .test2 .c {
grid-row: 1 / span 2;
grid-column: auto / span 3;
}
.test2 .a {
grid-row: 1;
grid-column: 2 / span 3;
}
.test2 .b {
grid-row: 2;
grid-column: 2 / span 1;
}
.test3 {
grid-template-areas:
'a a a . '
'a a a . '
'. b b . '
;
}
.test3 .a {
grid-area: a;
}
.test3 .b {
grid-column: 2 / span 3;
grid-row: b;
}
.test3 .c {
grid-row: auto / span 2;
grid-column: auto / span 3;
}
.test4 .c {
grid-row: auto / span 2;
grid-column: auto / span 3;
}
.test5 .c {
grid-row-start: 2;
grid-column: auto / span 3;
}
.test6 {
grid-row-start: 2;
grid-column: auto / span X;
}
.e {
grid-row-start: 2;
grid-column: auto / span 1;
}
</style>
</head>
<body>
<div class="grid test1">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="d">d</span>
<span class="d">D</span>
<span class="e">e</span>
</div>
<div class="grid test2">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="d">d</span>
<span class="d">D</span>
<span class="e">e</span>
</div>
<div class="grid test3">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="d">d</span>
<span class="d">D</span>
<span class="e">e</span>
</div>
<div class="grid test4">
<span class="c">c</span>
<span class="d">d</span>
<span class="d">D</span>
<span class="e">e</span>
</div>
<div class="grid test5">
<span class="c">c</span>
<span class="d">d</span>
<span class="d">D</span>
<span class="e">e</span>
</div>
<div class="grid test1">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="test6">d</span>
<span class="test6">D</span>
<span class="e">e</span>
</div>
</body>
</html>

View File

@ -0,0 +1,221 @@
<!DOCTYPE HTML>
<html><head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
html {
writing-mode: vertical-rl;
text-orientation: sideways-right;
}
.grid {
block-size: 60px;
border: 2px solid green;
position: relative;
}
span {
position: absolute;
background: lime;
border: 1px solid black;
box-sizing: border-box;
inline-size: 20px;
block-size: 20px;
}
.test1 .a {
offset-block-start: 0;
offset-inline-start: 20px;
inline-size: 20px;
block-size: 20px;
}
.test1 .b {
offset-block-start: 20px;
offset-inline-start: 20px;
inline-size: 60px;
block-size: 20px;
}
.test1 .c {
offset-block-start: 0;
offset-inline-start: 80px;
inline-size: 60px;
block-size: 40px;
}
.test1 .d {
offset-block-start: 0;
offset-inline-start: 0;
}
.test1 .e {
offset-block-start: 20px;
offset-inline-start: 0;
}
.test1 .d2 {
offset-block-start: 0;
offset-inline-start: 40px;
}
.test2 .a {
offset-block-start: 0;
offset-inline-start: 20px;
inline-size: 60px;
block-size: 20px;
}
.test2 .b {
offset-block-start: 20px;
offset-inline-start: 20px;
inline-size: 20px;
block-size: 20px;
}
.test2 .c {
offset-block-start: 0;
offset-inline-start: 80px;
inline-size: 60px;
block-size: 40px;
}
.test2 .d {
offset-block-start: 0;
offset-inline-start: 0;
}
.test2 .e {
offset-block-start: 20px;
offset-inline-start: 0;
}
.test2 .d2 {
offset-block-start: 20px;
offset-inline-start: 40px;
}
.test3 .a {
offset-block-start: 0;
offset-inline-start: 0;
inline-size: 60px;
block-size: 40px;
}
.test3 .b {
offset-block-start: 40px;
offset-inline-start: 20px;
inline-size: 60px;
block-size: 20px;
}
.test3 .c {
offset-block-start: 60px;
offset-inline-start: 0;
inline-size: 60px;
block-size: 40px;
}
.test3 .d { offset-block-start: 60px; offset-inline-start:60px; }
.test3 .e {
offset-block-start: 20px;
offset-inline-start: 60px;
}
.test3 .d2 {
offset-block-start: 80px;
offset-inline-start: 60px;
}
.test4 .c {
offset-block-start: 0;
offset-inline-start: 20px;
inline-size: 60px;
block-size: 40px;
}
.test4 .d {
offset-block-start: 40px;
offset-inline-start: 0;
}
.test4 .e {
offset-block-start: 20px;
offset-inline-start: 0px;
}
.test4 .d2 {
offset-block-start: 40px;
offset-inline-start: 20px;
}
.test5 .c {
offset-block-start: 20px;
offset-inline-start: 0;
inline-size: 60px;
block-size: 20px;
}
.test5 .d {
offset-block-start: 0;
offset-inline-start: 0;
}
.test5 .e {
offset-block-start: 20px;
offset-inline-start: 60px;
}
.test5 .d2 {
offset-block-start: 0;
offset-inline-start: 20px;
}
.test6 {
offset-inline-start: 0;
offset-block-start: 20px;
}
.test6d2 {
offset-block-start: 20px;
offset-inline-start: 140px;
}
.test6e {
offset-block-start: 20px;
offset-inline-start: 160px;
}
</style>
</head>
<body>
<div class="grid test1">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="d">d</span>
<span class="d2">D</span>
<span class="e">e</span>
</div>
<div class="grid test2">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="d">d</span>
<span class="d2">D</span>
<span class="e">e</span>
</div>
<div class="grid test3" style="block-size:100px">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="d">d</span>
<span class="d2">D</span>
<span class="e">e</span>
</div>
<div class="grid test4">
<span class="c">c</span>
<span class="d">d</span>
<span class="d2">D</span>
<span class="e">e</span>
</div>
<div class="grid test5">
<span class="c">c</span>
<span class="d">d</span>
<span class="d2">D</span>
<span class="e">e</span>
</div>
<div class="grid test1">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="test6">d</span>
<span class="test6d2">D</span>
<span class="test6e">e</span>
</div>
</body>
</html>

View File

@ -0,0 +1,141 @@
<!DOCTYPE HTML>
<html><head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
html {
writing-mode: vertical-rl;
text-orientation: sideways-right;
}
.grid {
display: grid;
border: 2px solid green;
grid-template-columns: 20px 20px 20px 20px;
grid-template-rows: 20px 20px 20px;
grid-auto-flow: row;
grid-auto-columns: 20px;
grid-auto-rows: 20px;
}
span {
background: lime;
border: 1px solid;
}
.test1 .a {
grid-row: 1;
grid-column: 2 / span 1;
}
.test1 .b {
grid-row: 2;
grid-column: 2 / span 3;
}
.test1 .c, .test2 .c {
grid-row: 1 / span 2;
grid-column: auto / span 3;
}
.test2 .a {
grid-row: 1;
grid-column: 2 / span 3;
}
.test2 .b {
grid-row: 2;
grid-column: 2 / span 1;
}
.test3 {
grid-template-areas:
'a a a . '
'a a a . '
'. b b . '
;
}
.test3 .a {
grid-area: a;
}
.test3 .b {
grid-column: 2 / span 3;
grid-row: b;
}
.test3 .c {
grid-row: auto / span 2;
grid-column: auto / span 3;
}
.test4 .c {
grid-row: auto / span 2;
grid-column: auto / span 3;
}
.test5 .c {
grid-row-start: 2;
grid-column: auto / span 3;
}
.test6 {
grid-row-start: 2;
grid-column: auto / span X;
}
.e {
grid-row-start: 2;
grid-column: auto / span 1;
}
</style>
</head>
<body>
<div class="grid test1">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="d">d</span>
<span class="d">D</span>
<span class="e">e</span>
</div>
<div class="grid test2">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="d">d</span>
<span class="d">D</span>
<span class="e">e</span>
</div>
<div class="grid test3">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="d">d</span>
<span class="d">D</span>
<span class="e">e</span>
</div>
<div class="grid test4">
<span class="c">c</span>
<span class="d">d</span>
<span class="d">D</span>
<span class="e">e</span>
</div>
<div class="grid test5">
<span class="c">c</span>
<span class="d">d</span>
<span class="d">D</span>
<span class="e">e</span>
</div>
<div class="grid test1">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="test6">d</span>
<span class="test6">D</span>
<span class="e">e</span>
</div>
</body>
</html>