Update web-platform-tests to revision c0fbd59769588391d78838086bd02ad394301655

This commit is contained in:
WPT Sync Bot 2018-06-05 21:09:27 -04:00
parent a07c718895
commit a3df7c3a3c
105 changed files with 1922 additions and 1186 deletions

View file

@ -4,6 +4,7 @@
<meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
<title>WOFF Test: Font access</title>
<link rel="author" title="Chris Lilley" href="http://www.w3.org/People" />
<link rel="reviewer" title="Chris Lilley" href="mailto:chris@w3.org" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#General" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-css3font-available" />
<meta name="assert" content="Linked fonts are only available to the documents that reference them." />

View file

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
<title>WOFF Test: Font access</title>
<link rel="author" title="Khaled Hosny" href="http://khaledhosny.org" />
<link rel="reviewer" title="Chris Lilley" href="mailto:chris@w3.org" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-mustLoadFontCollection" />
<meta name="assert" content="Fonts must be loaded from font collections." />
<style type="text/css"><![CDATA[
body {
font-size: 20px;
}
pre {
font-size: 12px;
}
iframe {
width: 24em;
height: 300px;
border: thin solid green
}
]]></style>
</head>
<body>
<p>Test passes if the word PASS appears <em>twice</em> below, and the second one is condensed.</p>
<iframe src="support/available-002a.xht" />
<iframe src="support/available-002b.xht" />
</body>
</html>

View file

@ -2,12 +2,12 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
<title>WOFF Test: Decompressed Metadata Length Less Than metaOrigLength</title>
<link rel="author" title="Tal Leming" href="http://typesupply.com" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#Metadata" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metaOrigLength" />
<title>WOFF Test: Valid SFNT With Cutsom Tag For Known Table</title>
<link rel="author" title="Khaled Hosny" href="http://khaledhosny.org" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#table_dir_format" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-mayAcceptKnownTagsAsCustom" />
<link rel="reviewer" title="Chris Lilley" href="mailto:chris@w3.org" />
<meta name="assert" content="The metadata decompresses to a length that is 1 byte smaller than the length defined in metaOrigLength" />
<meta name="assert" content="Valid TTF flavored SFNT font with table directory using custom tag instead of known table flag for some know tables." />
<style type="text/css"><![CDATA[
@import url("support/test-fonts.css");
body {
@ -24,8 +24,7 @@
]]></style>
</head>
<body>
<p>If the UA does not display WOFF metadata, the test passes if the word PASS appears below.</p>
<p>The Extended Metadata Block is not valid and must not be displayed. If the UA does display it, the test fails.</p>
<p>Test passes if the word PASS appears below.</p>
<div class="test">P</div>
</body>
</html>

View file

@ -2,18 +2,18 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
<title>WOFF Test: Decompressed Metadata Length Less Than metaOrigLength</title>
<link rel="author" title="Tal Leming" href="http://typesupply.com" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#Metadata" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metaOrigLength" />
<title>WOFF Test: Valid SFNT With Cutsom Tag For Known Table</title>
<link rel="author" title="Khaled Hosny" href="http://khaledhosny.org" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#table_dir_format" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-mayAcceptKnownTagsAsCustom" />
<link rel="reviewer" title="Chris Lilley" href="mailto:chris@w3.org" />
<link rel="match" href="metadatadisplay-metaOrigLength-001-ref.xht" />
<meta name="assert" content="The metadata decompresses to a length that is 1 byte smaller than the length defined in metaOrigLength" />
<link rel="match" href="directory-knowntags-001-ref.xht" />
<meta name="assert" content="Valid TTF flavored SFNT font with table directory using custom tag instead of known table flag for some know tables." />
<style type="text/css"><![CDATA[
@import url("support/test-fonts.css");
@font-face {
font-family: "WOFF Test";
src: url("support/metadatadisplay-metaOrigLength-001.woff2") format("woff2");
src: url("support/directory-knowntags-001.woff2") format("woff2");
}
body {
font-size: 20px;
@ -29,8 +29,7 @@
]]></style>
</head>
<body>
<p>If the UA does not display WOFF metadata, the test passes if the word PASS appears below.</p>
<p>The Extended Metadata Block is not valid and must not be displayed. If the UA does display it, the test fails.</p>
<p>Test passes if the word PASS appears below.</p>
<div class="test">P</div>
</body>
</html>

View file

@ -1,32 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
<title>WOFF Test: Metadata No Compression</title>
<link rel="author" title="Tal Leming" href="http://typesupply.com" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#Metadata" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-alwayscompress" />
<link rel="reviewer" title="Chris Lilley" href="mailto:chris@w3.org" />
<meta name="assert" content="The metadata is stored in an uncompressed state and therefore does not have the proper compression format." />
<style type="text/css"><![CDATA[
@import url("support/test-fonts.css");
body {
font-size: 20px;
}
pre {
font-size: 12px;
}
.test {
font-family: "WOFF Test CFF Reference";
font-size: 200px;
margin-top: 50px;
}
]]></style>
</head>
<body>
<p>If the UA does not display WOFF metadata, the test passes if the word PASS appears below.</p>
<p>The Extended Metadata Block is not valid and must not be displayed. If the UA does display it, the test fails.</p>
<div class="test">P</div>
</body>
</html>

View file

@ -1,37 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
<title>WOFF Test: Metadata No Compression</title>
<link rel="author" title="Tal Leming" href="http://typesupply.com" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#Metadata" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-alwayscompress" />
<link rel="reviewer" title="Chris Lilley" href="mailto:chris@w3.org" />
<link rel="match" href="metadatadisplay-compression-001-ref.xht" />
<meta name="assert" content="The metadata is stored in an uncompressed state and therefore does not have the proper compression format." />
<style type="text/css"><![CDATA[
@import url("support/test-fonts.css");
@font-face {
font-family: "WOFF Test";
src: url("support/metadatadisplay-compression-001.woff2") format("woff2");
}
body {
font-size: 20px;
}
pre {
font-size: 12px;
}
.test {
font-family: "WOFF Test", "WOFF Test CFF Fallback";
font-size: 200px;
margin-top: 50px;
}
]]></style>
</head>
<body>
<p>If the UA does not display WOFF metadata, the test passes if the word PASS appears below.</p>
<p>The Extended Metadata Block is not valid and must not be displayed. If the UA does display it, the test fails.</p>
<div class="test">P</div>
</body>
</html>

View file

@ -1,32 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
<title>WOFF Test: No id Attribute in uniqueid Element</title>
<link rel="author" title="Tal Leming" href="http://typesupply.com" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#Metadata" />
<link rel="help" href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-id-required" />
<link rel="reviewer" title="Chris Lilley" href="mailto:chris@w3.org" />
<meta name="assert" content="The uniqueid element does not contain the required id attribute." />
<style type="text/css"><![CDATA[
@import url("support/test-fonts.css");
body {
font-size: 20px;
}
pre {
font-size: 12px;
}
.test {
font-family: "WOFF Test CFF Reference";
font-size: 200px;
margin-top: 50px;
}
]]></style>
</head>
<body>
<p>If the UA does not display WOFF metadata, the test passes if the word PASS appears below.</p>
<p>The Extended Metadata Block is not valid and must not be displayed. If the UA does display it, the test fails.</p>
<div class="test">P</div>
</body>
</html>

View file

@ -1,37 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
<title>WOFF Test: No id Attribute in uniqueid Element</title>
<link rel="author" title="Tal Leming" href="http://typesupply.com" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#Metadata" />
<link rel="help" href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-id-required" />
<link rel="reviewer" title="Chris Lilley" href="mailto:chris@w3.org" />
<link rel="match" href="metadatadisplay-schema-uniqueid-004-ref.xht" />
<meta name="assert" content="The uniqueid element does not contain the required id attribute." />
<style type="text/css"><![CDATA[
@import url("support/test-fonts.css");
@font-face {
font-family: "WOFF Test";
src: url("support/metadatadisplay-schema-uniqueid-004.woff2") format("woff2");
}
body {
font-size: 20px;
}
pre {
font-size: 12px;
}
.test {
font-family: "WOFF Test", "WOFF Test CFF Fallback";
font-size: 200px;
margin-top: 50px;
}
]]></style>
</head>
<body>
<p>If the UA does not display WOFF metadata, the test passes if the word PASS appears below.</p>
<p>The Extended Metadata Block is not valid and must not be displayed. If the UA does display it, the test fails.</p>
<div class="test">P</div>
</body>
</html>

View file

@ -1,32 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
<title>WOFF Test: No name Attribute in vendor Element</title>
<link rel="author" title="Tal Leming" href="http://typesupply.com" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#Metadata" />
<link rel="help" href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-vendor-required" />
<link rel="reviewer" title="Chris Lilley" href="mailto:chris@w3.org" />
<meta name="assert" content="The vendor element does not contain the required name attribute." />
<style type="text/css"><![CDATA[
@import url("support/test-fonts.css");
body {
font-size: 20px;
}
pre {
font-size: 12px;
}
.test {
font-family: "WOFF Test CFF Reference";
font-size: 200px;
margin-top: 50px;
}
]]></style>
</head>
<body>
<p>If the UA does not display WOFF metadata, the test passes if the word PASS appears below.</p>
<p>The Extended Metadata Block is not valid and must not be displayed. If the UA does display it, the test fails.</p>
<div class="test">P</div>
</body>
</html>

View file

@ -1,37 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
<title>WOFF Test: No name Attribute in vendor Element</title>
<link rel="author" title="Tal Leming" href="http://typesupply.com" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#Metadata" />
<link rel="help" href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-vendor-required" />
<link rel="reviewer" title="Chris Lilley" href="mailto:chris@w3.org" />
<link rel="match" href="metadatadisplay-schema-vendor-005-ref.xht" />
<meta name="assert" content="The vendor element does not contain the required name attribute." />
<style type="text/css"><![CDATA[
@import url("support/test-fonts.css");
@font-face {
font-family: "WOFF Test";
src: url("support/metadatadisplay-schema-vendor-005.woff2") format("woff2");
}
body {
font-size: 20px;
}
pre {
font-size: 12px;
}
.test {
font-family: "WOFF Test", "WOFF Test CFF Fallback";
font-size: 200px;
margin-top: 50px;
}
]]></style>
</head>
<body>
<p>If the UA does not display WOFF metadata, the test passes if the word PASS appears below.</p>
<p>The Extended Metadata Block is not valid and must not be displayed. If the UA does display it, the test fails.</p>
<div class="test">P</div>
</body>
</html>

View file

@ -5,9 +5,11 @@
<title>WOFF Test: Font access</title>
<link rel="author" title="Tal Leming" href="http://typesupply.com" />
<link rel="author" title="Chris Lilley" href="http://www.w3.org/People" />
<link rel="reviewer" title="Chris Lilley" href="mailto:chris@w3.org" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#General" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-css3font-available" />
<meta name="assert" content="Linked fonts are only available to the documents that reference them" />
<meta name="flags" content="interact" />
<meta name="assert" content="Linked fonts are only available to the documents that reference them." />
<style type="text/css"><![CDATA[
@import url("test-fonts.css");
@font-face {

View file

@ -5,9 +5,11 @@
<title>WOFF Test: Font access</title>
<link rel="author" title="Tal Leming" href="http://typesupply.com" />
<link rel="author" title="Chris Lilley" href="http://www.w3.org/People" />
<link rel="reviewer" title="Chris Lilley" href="mailto:chris@w3.org" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#General" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-css3font-available" />
<meta name="assert" content="Linked fonts are only available to the documents that reference them" />
<meta name="flags" content="interact" />
<meta name="assert" content="Linked fonts are only available to the documents that reference them." />
<style type="text/css"><![CDATA[
@import url("test-fonts.css");
body {

View file

@ -0,0 +1,33 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
<title>WOFF Test: Font access</title>
<link rel="author" title="Khaled Hosny" href="http://khaledhosny.org" />
<link rel="reviewer" title="Chris Lilley" href="mailto:chris@w3.org" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-mustLoadFontCollection" />
<meta name="flags" content="interact" />
<meta name="assert" content="Fonts must be loaded from font collections." />
<style type="text/css"><![CDATA[
@import url("test-fonts.css");
@font-face {
font-family: "WOFF Test";
src: url("support/available-002.woff2#1") format("woff2");
}
body {
font-size: 20px;
}
pre {
font-size: 12px;
}
.test {
font-family: "WOFF Test", "WOFF Test CFF Fallback";
font-size: 200px;
margin-top: 50px;
}
]]></style>
</head>
<body>
<div class="test">P</div>
</body>
</html>

View file

@ -0,0 +1,33 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
<title>WOFF Test: Font access</title>
<link rel="author" title="Khaled Hosny" href="http://khaledhosny.org" />
<link rel="reviewer" title="Chris Lilley" href="mailto:chris@w3.org" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-mustLoadFontCollection" />
<meta name="flags" content="font" />
<meta name="assert" content="Fonts must be loaded from font collections." />
<style type="text/css"><![CDATA[
@import url("test-fonts.css");
@font-face {
font-family: "WOFF Test";
src: url("available-002.woff2#2") format("woff2");
}
body {
font-size: 20px;
}
pre {
font-size: 12px;
}
.test {
font-family: "WOFF Test", "WOFF Test CFF Fallback";
font-size: 200px;
margin-top: 50px;
}
]]></style>
</head>
<body>
<div class="test">P</div>
</body>
</html>

View file

@ -2,12 +2,12 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
<title>WOFF Test: Decompressed Metadata Length Greater Than metaOrigLength</title>
<link rel="author" title="Tal Leming" href="http://typesupply.com" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#Metadata" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metaOrigLength" />
<title>WOFF Test: Glyf OrigLength Mismatching</title>
<link rel="author" title="Khaled Hosny" href="http://khaledhosny.org" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#DataTables" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-mustNotRejectGlyfSizeMismatch" />
<link rel="reviewer" title="Chris Lilley" href="mailto:chris@w3.org" />
<meta name="assert" content="The metadata decompresses to a length that is 1 byte greater than the length defined in metaOrigLength" />
<meta name="assert" content="The origLength field of glyf table is larger than constructed table." />
<style type="text/css"><![CDATA[
@import url("support/test-fonts.css");
body {
@ -24,8 +24,7 @@
]]></style>
</head>
<body>
<p>If the UA does not display WOFF metadata, the test passes if the word PASS appears below.</p>
<p>The Extended Metadata Block is not valid and must not be displayed. If the UA does display it, the test fails.</p>
<p>Test passes if the word PASS appears below.</p>
<div class="test">P</div>
</body>
</html>

View file

@ -2,18 +2,18 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
<title>WOFF Test: Decompressed Metadata Length Greater Than metaOrigLength</title>
<link rel="author" title="Tal Leming" href="http://typesupply.com" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#Metadata" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metaOrigLength" />
<title>WOFF Test: Glyf OrigLength Mismatching</title>
<link rel="author" title="Khaled Hosny" href="http://khaledhosny.org" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#DataTables" />
<link rel="help" href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-mustNotRejectGlyfSizeMismatch" />
<link rel="reviewer" title="Chris Lilley" href="mailto:chris@w3.org" />
<link rel="match" href="metadatadisplay-metaOrigLength-002-ref.xht" />
<meta name="assert" content="The metadata decompresses to a length that is 1 byte greater than the length defined in metaOrigLength" />
<link rel="match" href="tabledata-glyf-origlength-003-ref.xht" />
<meta name="assert" content="The origLength field of glyf table is larger than constructed table." />
<style type="text/css"><![CDATA[
@import url("support/test-fonts.css");
@font-face {
font-family: "WOFF Test";
src: url("support/metadatadisplay-metaOrigLength-002.woff2") format("woff2");
src: url("support/tabledata-glyf-origlength-003.woff2") format("woff2");
}
body {
font-size: 20px;
@ -29,8 +29,7 @@
]]></style>
</head>
<body>
<p>If the UA does not display WOFF metadata, the test passes if the word PASS appears below.</p>
<p>The Extended Metadata Block is not valid and must not be displayed. If the UA does display it, the test fails.</p>
<p>Test passes if the word PASS appears below.</p>
<div class="test">P</div>
</body>
</html>

View file

@ -3,11 +3,11 @@
<head>
<title>WOFF 2.0: User Agent Test Suite</title>
<style type="text/css">
@import "resources/index.css";
@import "support/index.css";
</style>
</head>
<body>
<h1>WOFF 2.0: User Agent Test Suite (303 tests)</h1>
<h1>WOFF 2.0: User Agent Test Suite (300 tests)</h1>
<h2 class="testCategory">Valid WOFFs</h2>
<div class="testCase" id="valid-001">
@ -21,7 +21,7 @@
<p><a href="valid-001-ref.xht">Reference Rendering</a></p>
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-noeffect">conform-metadata-noeffect</a> <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-private-noeffect">conform-private-noeffect</a>)</p>
<p>SFNT Expectation: Display (<a href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect">conform-metadata-noeffect</a> <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-private-noeffect">conform-private-noeffect</a>)</p>
<p>Metadata Expectation: None</p>
</div>
</div>
@ -37,8 +37,8 @@
<p><a href="valid-002-ref.xht">Reference Rendering</a></p>
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-noeffect">conform-metadata-noeffect</a> <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-private-noeffect">conform-private-noeffect</a>)</p>
<p>Metadata Expectation: Display <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-maydisplay">(conform-metadata-maydisplay)</a></p>
<p>SFNT Expectation: Display (<a href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect">conform-metadata-noeffect</a> <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-private-noeffect">conform-private-noeffect</a>)</p>
<p>Metadata Expectation: Display <a href="http://www.w3.org/TR/WOFF/#conform-metadata-maydisplay">(conform-metadata-maydisplay)</a></p>
</div>
</div>
</div>
@ -53,7 +53,7 @@
<p><a href="valid-003-ref.xht">Reference Rendering</a></p>
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-noeffect">conform-metadata-noeffect</a> <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-private-noeffect">conform-private-noeffect</a>)</p>
<p>SFNT Expectation: Display (<a href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect">conform-metadata-noeffect</a> <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-private-noeffect">conform-private-noeffect</a>)</p>
<p>Metadata Expectation: None</p>
</div>
</div>
@ -69,8 +69,8 @@
<p><a href="valid-004-ref.xht">Reference Rendering</a></p>
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-noeffect">conform-metadata-noeffect</a> <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-private-noeffect">conform-private-noeffect</a>)</p>
<p>Metadata Expectation: Display <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-maydisplay">(conform-metadata-maydisplay)</a></p>
<p>SFNT Expectation: Display (<a href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect">conform-metadata-noeffect</a> <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-private-noeffect">conform-private-noeffect</a>)</p>
<p>Metadata Expectation: Display <a href="http://www.w3.org/TR/WOFF/#conform-metadata-maydisplay">(conform-metadata-maydisplay)</a></p>
</div>
</div>
</div>
@ -85,7 +85,7 @@
<p><a href="valid-005-ref.xht">Reference Rendering</a></p>
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-noeffect">conform-metadata-noeffect</a> <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-private-noeffect">conform-private-noeffect</a>)</p>
<p>SFNT Expectation: Display (<a href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect">conform-metadata-noeffect</a> <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-private-noeffect">conform-private-noeffect</a>)</p>
<p>Metadata Expectation: None</p>
</div>
</div>
@ -101,8 +101,8 @@
<p><a href="valid-006-ref.xht">Reference Rendering</a></p>
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-noeffect">conform-metadata-noeffect</a> <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-private-noeffect">conform-private-noeffect</a>)</p>
<p>Metadata Expectation: Display <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-maydisplay">(conform-metadata-maydisplay)</a></p>
<p>SFNT Expectation: Display (<a href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect">conform-metadata-noeffect</a> <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-private-noeffect">conform-private-noeffect</a>)</p>
<p>Metadata Expectation: Display <a href="http://www.w3.org/TR/WOFF/#conform-metadata-maydisplay">(conform-metadata-maydisplay)</a></p>
</div>
</div>
</div>
@ -117,7 +117,7 @@
<p><a href="valid-007-ref.xht">Reference Rendering</a></p>
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-noeffect">conform-metadata-noeffect</a> <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-private-noeffect">conform-private-noeffect</a>)</p>
<p>SFNT Expectation: Display (<a href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect">conform-metadata-noeffect</a> <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-private-noeffect">conform-private-noeffect</a>)</p>
<p>Metadata Expectation: None</p>
</div>
</div>
@ -133,24 +133,8 @@
<p><a href="valid-008-ref.xht">Reference Rendering</a></p>
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-noeffect">conform-metadata-noeffect</a> <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-private-noeffect">conform-private-noeffect</a>)</p>
<p>Metadata Expectation: Display <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-maydisplay">(conform-metadata-maydisplay)</a></p>
</div>
</div>
</div>
<div class="testCase" id="valid-009">
<div class="testCaseOverview">
<h3><a href="#valid-009">valid-009</a>: Valid WOFF 9</h3>
<p>Valid TTF flavored WOFF with simple and composite glyphs</p>
</div>
<div class="testCaseDetails">
<div class="testCasePages">
<p><a href="valid-009.xht">Test</a></p>
<p><a href="valid-009-ref.xht">Reference Rendering</a></p>
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-mustProduceOFF">conform-mustProduceOFF</a>)</p>
<p>Metadata Expectation: None</p>
<p>SFNT Expectation: Display (<a href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect">conform-metadata-noeffect</a> <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-private-noeffect">conform-private-noeffect</a>)</p>
<p>Metadata Expectation: Display <a href="http://www.w3.org/TR/WOFF/#conform-metadata-maydisplay">(conform-metadata-maydisplay)</a></p>
</div>
</div>
</div>
@ -514,6 +498,22 @@
</div>
<h2 class="testCategory">WOFF Table Directory Tests</h2>
<div class="testCase" id="directory-knowntags-001">
<div class="testCaseOverview">
<h3><a href="#directory-knowntags-001">directory-knowntags-001</a>: Valid SFNT With Cutsom Tag For Known Table</h3>
<p>Valid TTF flavored SFNT font with table directory using custom tag instead of known table flag for some know tables.</p>
</div>
<div class="testCaseDetails">
<div class="testCasePages">
<p><a href="directory-knowntags-001.xht">Test</a></p>
<p><a href="directory-knowntags-001-ref.xht">Reference Rendering</a></p>
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-mayAcceptKnownTagsAsCustom">conform-mayAcceptKnownTagsAsCustom</a>)</p>
<p>Metadata Expectation: None</p>
</div>
</div>
</div>
<div class="testCase" id="directory-mismatched-tables-001">
<div class="testCaseOverview">
<h3><a href="#directory-mismatched-tables-001">directory-mismatched-tables-001</a>: Font Collection With Mismatched Glyf/Loca Tables</h3>
@ -735,7 +735,7 @@
<p><a href="tabledata-glyf-bbox-003-ref.xht">Reference Rendering</a></p>
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Reject (<a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-mustRejectNonEmptyBBox">conform-mustRejectNonEmptyBBox</a>)</p>
<p>SFNT Expectation: Reject (<a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-mustRejectNonEmptyBBox2">conform-mustRejectNonEmptyBBox2</a>)</p>
<p>Metadata Expectation: None</p>
</div>
</div>
@ -806,8 +806,8 @@
</div>
<div class="testCase" id="tabledata-transform-hmtx-003">
<div class="testCaseOverview">
<h3><a href="#tabledata-transform-hmtx-003">tabledata-transform-hmtx-003</a>: Transformed Hmtx Table With Bad Flags 1</h3>
<p>Invalid TTF flavored WOFF with transformed hmtx table with non-zero reserved bits of the flags field.</p>
<h3><a href="#tabledata-transform-hmtx-003">tabledata-transform-hmtx-003</a>: Transformed Hmtx Table With All Flags Set</h3>
<p>Invalid TTF flavored WOFF with transformed hmtx table that has all flags bits (including reserved bits) set.</p>
</div>
<div class="testCaseDetails">
<div class="testCasePages">
@ -822,8 +822,8 @@
</div>
<div class="testCase" id="tabledata-transform-hmtx-004">
<div class="testCaseOverview">
<h3><a href="#tabledata-transform-hmtx-004">tabledata-transform-hmtx-004</a>: Transformed Hmtx Table With Bad Flags 2</h3>
<p>Invalid TTF flavored WOFF with transformed hmtx table with all flags bits set to 0</p>
<h3><a href="#tabledata-transform-hmtx-004">tabledata-transform-hmtx-004</a>: Transformed Hmtx Table With 0 Flags</h3>
<p>Invalid TTF flavored WOFF with transformed hmtx table that has 0 flags (null transform).</p>
</div>
<div class="testCaseDetails">
<div class="testCasePages">
@ -868,6 +868,22 @@
</div>
</div>
</div>
<div class="testCase" id="tabledata-glyf-origlength-003">
<div class="testCaseOverview">
<h3><a href="#tabledata-glyf-origlength-003">tabledata-glyf-origlength-003</a>: Glyf OrigLength Mismatching</h3>
<p>The origLength field of glyf table is larger than constructed table.</p>
</div>
<div class="testCaseDetails">
<div class="testCasePages">
<p><a href="tabledata-glyf-origlength-003.xht">Test</a></p>
<p><a href="tabledata-glyf-origlength-003-ref.xht">Reference Rendering</a></p>
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-mustNotRejectGlyfSizeMismatch">conform-mustNotRejectGlyfSizeMismatch</a>)</p>
<p>Metadata Expectation: None</p>
</div>
</div>
</div>
<h2 class="testCategory">WOFF Metadata Tests</h2>
<div class="testCase" id="metadata-noeffect-001">
@ -881,7 +897,7 @@
<p><a href="metadata-noeffect-001-ref.xht">Reference Rendering</a></p>
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-noeffect">conform-metadata-noeffect</a>)</p>
<p>SFNT Expectation: Display (<a href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect">conform-metadata-noeffect</a>)</p>
<p>Metadata Expectation: None</p>
</div>
</div>
@ -897,8 +913,8 @@
<p><a href="metadata-noeffect-002-ref.xht">Reference Rendering</a></p>
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-noeffect">conform-metadata-noeffect</a>)</p>
<p>Metadata Expectation: Display <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-maydisplay">(conform-metadata-maydisplay)</a></p>
<p>SFNT Expectation: Display (<a href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect">conform-metadata-noeffect</a>)</p>
<p>Metadata Expectation: Display <a href="http://www.w3.org/TR/WOFF/#conform-metadata-maydisplay">(conform-metadata-maydisplay)</a></p>
</div>
</div>
</div>
@ -950,55 +966,7 @@
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://dev.w3.org/webfonts/WOFF2/spec/">documentation</a>)</p>
<p>Metadata Expectation: Display <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-authoritative">(conform-metadata-authoritative)</a></p>
</div>
</div>
</div>
<div class="testCase" id="metadatadisplay-compression-001">
<div class="testCaseOverview">
<h3><a href="#metadatadisplay-compression-001">metadatadisplay-compression-001</a>: Metadata No Compression</h3>
<p>The metadata is stored in an uncompressed state and therefore does not have the proper compression format.</p>
</div>
<div class="testCaseDetails">
<div class="testCasePages">
<p><a href="metadatadisplay-compression-001.xht">Test</a></p>
<p><a href="metadatadisplay-compression-001-ref.xht">Reference Rendering</a></p>
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://dev.w3.org/webfonts/WOFF2/spec/">documentation</a>)</p>
<p>Metadata Expectation: Reject <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-alwayscompress">(conform-metadata-alwayscompress)</a></p>
</div>
</div>
</div>
<div class="testCase" id="metadatadisplay-metaOrigLength-001">
<div class="testCaseOverview">
<h3><a href="#metadatadisplay-metaOrigLength-001">metadatadisplay-metaOrigLength-001</a>: Decompressed Metadata Length Less Than metaOrigLength</h3>
<p>The metadata decompresses to a length that is 1 byte smaller than the length defined in metaOrigLength</p>
</div>
<div class="testCaseDetails">
<div class="testCasePages">
<p><a href="metadatadisplay-metaOrigLength-001.xht">Test</a></p>
<p><a href="metadatadisplay-metaOrigLength-001-ref.xht">Reference Rendering</a></p>
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metaOrigLength">conform-metaOrigLength</a>)</p>
<p>Metadata Expectation: Reject</p>
</div>
</div>
</div>
<div class="testCase" id="metadatadisplay-metaOrigLength-002">
<div class="testCaseOverview">
<h3><a href="#metadatadisplay-metaOrigLength-002">metadatadisplay-metaOrigLength-002</a>: Decompressed Metadata Length Greater Than metaOrigLength</h3>
<p>The metadata decompresses to a length that is 1 byte greater than the length defined in metaOrigLength</p>
</div>
<div class="testCaseDetails">
<div class="testCasePages">
<p><a href="metadatadisplay-metaOrigLength-002.xht">Test</a></p>
<p><a href="metadatadisplay-metaOrigLength-002-ref.xht">Reference Rendering</a></p>
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metaOrigLength">conform-metaOrigLength</a>)</p>
<p>Metadata Expectation: Reject</p>
<p>Metadata Expectation: Display <a href="http://www.w3.org/TR/WOFF/#conform-metadata-authoritative">(conform-metadata-authoritative)</a></p>
</div>
</div>
</div>
@ -1014,7 +982,7 @@
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect">conform-metadata-noeffect</a>)</p>
<p>Metadata Expectation: Reject <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-invalid-mustignore">(conform-invalid-mustignore)</a></p>
<p>Metadata Expectation: Reject <a href="http://www.w3.org/TR/WOFF/#conform-invalid-mustignore">(conform-invalid-mustignore)</a></p>
</div>
</div>
</div>
@ -1030,7 +998,7 @@
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect">conform-metadata-noeffect</a>)</p>
<p>Metadata Expectation: Reject <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-invalid-mustignore">(conform-invalid-mustignore)</a></p>
<p>Metadata Expectation: Reject <a href="http://www.w3.org/TR/WOFF/#conform-invalid-mustignore">(conform-invalid-mustignore)</a></p>
</div>
</div>
</div>
@ -1046,7 +1014,7 @@
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect">conform-metadata-noeffect</a>)</p>
<p>Metadata Expectation: Reject <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-invalid-mustignore">(conform-invalid-mustignore)</a></p>
<p>Metadata Expectation: Reject <a href="http://www.w3.org/TR/WOFF/#conform-invalid-mustignore">(conform-invalid-mustignore)</a></p>
</div>
</div>
</div>
@ -1062,7 +1030,7 @@
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect">conform-metadata-noeffect</a>)</p>
<p>Metadata Expectation: Reject <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-invalid-mustignore">(conform-invalid-mustignore)</a></p>
<p>Metadata Expectation: Reject <a href="http://www.w3.org/TR/WOFF/#conform-invalid-mustignore">(conform-invalid-mustignore)</a></p>
</div>
</div>
</div>
@ -1078,7 +1046,7 @@
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect">conform-metadata-noeffect</a>)</p>
<p>Metadata Expectation: Reject <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-invalid-mustignore">(conform-invalid-mustignore)</a></p>
<p>Metadata Expectation: Reject <a href="http://www.w3.org/TR/WOFF/#conform-invalid-mustignore">(conform-invalid-mustignore)</a></p>
</div>
</div>
</div>
@ -1094,7 +1062,7 @@
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect">conform-metadata-noeffect</a>)</p>
<p>Metadata Expectation: Reject <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-invalid-mustignore">(conform-invalid-mustignore)</a></p>
<p>Metadata Expectation: Reject <a href="http://www.w3.org/TR/WOFF/#conform-invalid-mustignore">(conform-invalid-mustignore)</a></p>
</div>
</div>
</div>
@ -1110,7 +1078,7 @@
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect">conform-metadata-noeffect</a>)</p>
<p>Metadata Expectation: Reject <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-invalid-mustignore">(conform-invalid-mustignore)</a></p>
<p>Metadata Expectation: Reject <a href="http://www.w3.org/TR/WOFF/#conform-invalid-mustignore">(conform-invalid-mustignore)</a></p>
</div>
</div>
</div>
@ -1158,7 +1126,7 @@
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect">conform-metadata-noeffect</a>)</p>
<p>Metadata Expectation: Reject <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-invalid-mustignore">(conform-invalid-mustignore)</a></p>
<p>Metadata Expectation: Reject <a href="http://www.w3.org/TR/WOFF/#conform-invalid-mustignore">(conform-invalid-mustignore)</a></p>
</div>
</div>
</div>
@ -1206,7 +1174,7 @@
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect">conform-metadata-noeffect</a>)</p>
<p>Metadata Expectation: Reject <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-invalid-mustignore">(conform-invalid-mustignore)</a></p>
<p>Metadata Expectation: Reject <a href="http://www.w3.org/TR/WOFF/#conform-invalid-mustignore">(conform-invalid-mustignore)</a></p>
</div>
</div>
</div>
@ -1354,22 +1322,6 @@
</div>
</div>
</div>
<div class="testCase" id="metadatadisplay-schema-uniqueid-004">
<div class="testCaseOverview">
<h3><a href="#metadatadisplay-schema-uniqueid-004">metadatadisplay-schema-uniqueid-004</a>: No id Attribute in uniqueid Element</h3>
<p>The uniqueid element does not contain the required id attribute.</p>
</div>
<div class="testCaseDetails">
<div class="testCasePages">
<p><a href="metadatadisplay-schema-uniqueid-004.xht">Test</a></p>
<p><a href="metadatadisplay-schema-uniqueid-004-ref.xht">Reference Rendering</a></p>
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect">conform-metadata-noeffect</a>)</p>
<p>Metadata Expectation: Reject <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-id-required">(conform-metadata-id-required)</a></p>
</div>
</div>
</div>
<div class="testCase" id="metadatadisplay-schema-uniqueid-005">
<div class="testCaseOverview">
<h3><a href="#metadatadisplay-schema-uniqueid-005">metadatadisplay-schema-uniqueid-005</a>: Unknown Attribute in uniqueid Element</h3>
@ -1482,22 +1434,6 @@
</div>
</div>
</div>
<div class="testCase" id="metadatadisplay-schema-vendor-005">
<div class="testCaseOverview">
<h3><a href="#metadatadisplay-schema-vendor-005">metadatadisplay-schema-vendor-005</a>: No name Attribute in vendor Element</h3>
<p>The vendor element does not contain the required name attribute.</p>
</div>
<div class="testCaseDetails">
<div class="testCasePages">
<p><a href="metadatadisplay-schema-vendor-005.xht">Test</a></p>
<p><a href="metadatadisplay-schema-vendor-005-ref.xht">Reference Rendering</a></p>
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://www.w3.org/TR/WOFF/#conform-metadata-noeffect">conform-metadata-noeffect</a>)</p>
<p>Metadata Expectation: Reject <a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-metadata-vendor-required">(conform-metadata-vendor-required)</a></p>
</div>
</div>
</div>
<div class="testCase" id="metadatadisplay-schema-vendor-006">
<div class="testCaseOverview">
<h3><a href="#metadatadisplay-schema-vendor-006">metadatadisplay-schema-vendor-006</a>: Valid dir Attribute in vendor Element 1</h3>
@ -4863,7 +4799,7 @@
<div class="testCase" id="available-001">
<div class="testCaseOverview">
<h3><a href="#available-001">available-001</a>: Font access</h3>
<p>Linked fonts are only available to the documents that reference them</p>
<p>Linked fonts are only available to the documents that reference them.</p>
</div>
<div class="testCaseDetails">
<div class="testCasePages">
@ -4875,5 +4811,20 @@
</div>
</div>
</div>
<div class="testCase" id="available-002">
<div class="testCaseOverview">
<h3><a href="#available-002">available-002</a>: Loading font collections</h3>
<p>Fonts must be loaded from font collections.</p>
</div>
<div class="testCaseDetails">
<div class="testCasePages">
<p><a href="available-002.xht">Test</a></p>
</div>
<div class="testCaseExpectations">
<p>SFNT Expectation: Display (<a href="http://dev.w3.org/webfonts/WOFF2/spec/#conform-mustLoadFontCollection">conform-mustLoadFontCollection</a>)</p>
<p>Metadata Expectation: None</p>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,12 +1,12 @@
<!doctype html>
<html lang=en>
<meta charset=utf-8>
<title>CSS-contain test: paint containment on non-atomic inlines</title>
<title>CSS-contain test: layout containment on non-atomic inlines</title>
<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net">
<meta name=flags content="">
<meta name=assert content="paint containment does not apply to non atomic inlines">
<meta name=assert content="layout containment does not apply to non atomic inlines">
<link rel="match" href="reference/contain-size-001-ref.html">
<link rel=help href="https://drafts.csswg.org/css-contain-1/#containment-paint">
<link rel=help href="https://drafts.csswg.org/css-contain-1/#containment-layout">
<style>
span {

View file

@ -6,7 +6,7 @@
<meta name=flags content="ahem">
<meta name=assert content="layout containment does not apply to ruby-base">
<link rel="match" href="reference/contain-layout-002-ref.html">
<link rel=help href="https://drafts.csswg.org/css-contain-1/#containment-paint">
<link rel=help href="https://drafts.csswg.org/css-contain-1/#containment-layout">
<style>
rb {

View file

@ -6,7 +6,7 @@
<meta name=flags content="ahem">
<meta name=assert content="layout containment does not apply to ruby-base-container">
<link rel="match" href="reference/contain-layout-002-ref.html">
<link rel=help href="https://drafts.csswg.org/css-contain-1/#containment-paint">
<link rel=help href="https://drafts.csswg.org/css-contain-1/#containment-layout">
<style>
rbc {

View file

@ -6,7 +6,7 @@
<meta name=flags content="ahem">
<meta name=assert content="layout containment does not apply to ruby-text-container">
<link rel="match" href="reference/contain-layout-004-ref.html">
<link rel=help href="https://drafts.csswg.org/css-contain-1/#containment-paint">
<link rel=help href="https://drafts.csswg.org/css-contain-1/#containment-layout">
<style>
rtc {

View file

@ -6,7 +6,7 @@
<meta name=flags content="ahem">
<meta name=assert content="layout containment does not apply to ruby-text">
<link rel="match" href="reference/contain-layout-005-ref.html">
<link rel=help href="https://drafts.csswg.org/css-contain-1/#containment-paint">
<link rel=help href="https://drafts.csswg.org/css-contain-1/#containment-layout">
<style>
rt {

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>CSS Containment Test: Layout containment independent formatting context</title>
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-contain-1/#containment-layout">
<link rel="match" href="reference/contain-paint-013-ref.html">
<meta name=assert content="Layout containment elements establish an independent formatting context. The test checks that this feature of layout containment applies to blocks and inline blocks, but it doesn't apply to inline elements.">
<style>
.wrapper {
border: solid thick;
margin: 1em;
}
</style>
<p>Test passes if on the first two boxes the top and bottom margins of the text line are double size than on the last box.</p>
<div class="wrapper">
<div style="margin: 1em 0; contain: layout;">
<div style="margin: 1em 0;">This text should have 2em top and bottom margins (margins do not collapse).</div>
</div>
</div>
<div class="wrapper">
<span style="display: inline-block; margin: 1em 0; contain: layout;">
<div style="margin: 1em 0;">This text should have 2em top and bottom margins (margins do not collapse).</div>
</span>
</div>
<div class="wrapper">
<span style="margin: 1em 0; contain: layout;">
<div style="margin: 1em 0;">This text should have 1em top and bottom margins.</div>
</span>
</div>

View file

@ -0,0 +1,37 @@
<!DOCTYPE html>
<meta charset=utf-8>
<title>CSS Containment Test: Layout containment on table-row-group</title>
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-contain-1/#containment-layout">
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
<meta name=flags content="ahem">
<meta name=assert content="Layout containment doesn't apply to table-row-group elements.">
<style>
#wrapper {
position: relative;
background: red;
width: 100px;
height: 100px;
padding: 25px;
box-sizing: border-box;
}
#table-row-group {
display: table-row-group;
contain: layout;
}
#abspos {
position: absolute;
font: 100px/1 Ahem;
color: green;
top: 0;
left: 0;
}
</style>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div id="wrapper">
<div id="table-row-group">
<div id="abspos">X</div>
</div>
</div>

View file

@ -0,0 +1,37 @@
<!DOCTYPE html>
<meta charset=utf-8>
<title>CSS Containment Test: Layout containment on table-header-group</title>
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-contain-1/#containment-layout">
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
<meta name=flags content="ahem">
<meta name=assert content="Layout containment doesn't apply to table-header-group elements.">
<style>
#wrapper {
position: relative;
background: red;
width: 100px;
height: 100px;
padding: 25px;
box-sizing: border-box;
}
#table-header-group {
display: table-header-group;
contain: layout;
}
#abspos {
position: absolute;
font: 100px/1 Ahem;
color: green;
top: 0;
left: 0;
}
</style>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div id="wrapper">
<div id="table-header-group">
<div id="abspos">X</div>
</div>
</div>

View file

@ -0,0 +1,37 @@
<!DOCTYPE html>
<meta charset=utf-8>
<title>CSS Containment Test: Layout containment on table-footer-group</title>
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-contain-1/#containment-layout">
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
<meta name=flags content="ahem">
<meta name=assert content="Layout containment doesn't apply to table-footer-group elements.">
<style>
#wrapper {
position: relative;
background: red;
width: 100px;
height: 100px;
padding: 25px;
box-sizing: border-box;
}
#table-footer-group {
display: table-footer-group;
contain: layout;
}
#abspos {
position: absolute;
font: 100px/1 Ahem;
color: green;
top: 0;
left: 0;
}
</style>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div id="wrapper">
<div id="table-footer-group">
<div id="abspos">X</div>
</div>
</div>

View file

@ -0,0 +1,37 @@
<!DOCTYPE html>
<meta charset=utf-8>
<title>CSS Containment Test: Layout containment on table-row</title>
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-contain-1/#containment-layout">
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
<meta name=flags content="ahem">
<meta name=assert content="Layout containment doesn't apply to table-row elements.">
<style>
#wrapper {
position: relative;
background: red;
width: 100px;
height: 100px;
padding: 25px;
box-sizing: border-box;
}
#table-row {
display: table-row;
contain: layout;
}
#abspos {
position: absolute;
font: 100px/1 Ahem;
color: green;
top: 0;
left: 0;
}
</style>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div id="wrapper">
<div id="table-row">
<div id="abspos">X</div>
</div>
</div>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<meta charset=utf-8>
<title>CSS Containment Test: Layout containment on table-cell</title>
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-contain-1/#containment-layout">
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
<meta name=assert content="Layout containment does apply to table-cell elements.">
<style>
#table-cell {
display: table-cell;
contain: layout;
width: 100px;
height: 100px;
background: red;
}
#abspos {
position: absolute;
bottom: 0;
right: 0;
background: green;
width: 100px;
height: 100px;
}
</style>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div id="table-cell">
<div id="abspos"></div>
</div>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<meta charset=utf-8>
<title>CSS Containment Test: Layout containment on table-caption</title>
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-contain-1/#containment-layout">
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
<meta name=assert content="Layout containment does apply to table-caption elements.">
<style>
#table-caption {
display: table-caption;
contain: layout;
width: 100px;
height: 100px;
background: red;
}
#abspos {
position: absolute;
bottom: 0;
right: 0;
background: green;
width: 100px;
height: 100px;
}
</style>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div id="table-caption">
<div id="abspos"></div>
</div>

View file

@ -0,0 +1,20 @@
<!doctype quirks><!-- Intentional quirks mode -->
<title>CSS Test: Flex body in quirks mode</title>
<link rel="author" title="Aleks Totic" href="atotic@chromium.org">
<link rel="help" href="https://www.w3.org/TR/css-flexbox-1/#main-sizing" title="9.3 Main Size Determination">
<link rel="help" href="https://quirks.spec.whatwg.org/#the-body-element-fills-the-html-element-quirk" title="The body element fills the html element quirk">
<link rel="match" href="./reference/flexbox_quirks_body-ref.html">
<style>
html {
margin:3px 6px 9px 12px;
padding: 0px;
background-color: green;
}
body {
display: flex;
margin: 7px 11px 14px 23px;
padding: 0px;
background-color: yellow;
}
</style>
Flex body in quirks mode should fill viewport except for margins.

View file

@ -0,0 +1,17 @@
<!doctype quirks>
<title>CSS Test: Flex body in quirks mode</title>
<link rel="author" title="Aleks Totic" href="atotic@chromium.org">
<style>
html {
margin:3px 6px 9px 12px;
padding: 0px;
background-color: green;
}
body {
display: block;
margin: 7px 11px 14px 23px;;
padding: 0px;
background-color: yellow;
}
</style>
Flex body in quirks mode should fill viewport except for margins.

View file

@ -0,0 +1,15 @@
<!DOCTYPE html>
<meta charset="utf-8" />
<title>CSS Logical Properties: Flow-Relative Border Colors</title>
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
<link rel="help" href="https://drafts.csswg.org/css-logical/#border-color">
<meta name="assert" content="This test checks the interaction of the flow-relative border-*-color longhand properties with the physical ones in different writing modes." />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script src="./resources/test-box-properties.js"></script>
<script>
runTests(createBoxPropertyGroup("border-*-color", {type: "color"}));
</script>

View file

@ -0,0 +1,15 @@
<!DOCTYPE html>
<meta charset="utf-8" />
<title>CSS Logical Properties: Flow-Relative Border Styles</title>
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
<link rel="help" href="https://drafts.csswg.org/css-logical/#border-style">
<meta name="assert" content="This test checks the interaction of the flow-relative border-*-style longhand properties with the physical ones in different writing modes." />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script src="./resources/test-box-properties.js"></script>
<script>
runTests(createBoxPropertyGroup("border-*-style", {type: "border-style"}));
</script>

View file

@ -0,0 +1,18 @@
<!DOCTYPE html>
<meta charset="utf-8" />
<title>CSS Logical Properties: Flow-Relative Border Widths</title>
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
<link rel="help" href="https://drafts.csswg.org/css-logical/#border-width">
<meta name="assert" content="This test checks the interaction of the flow-relative border-*-width longhand properties with the physical ones in different writing modes." />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script src="./resources/test-box-properties.js"></script>
<script>
runTests(createBoxPropertyGroup("border-*-width", {
type: "length",
prerequisites: {"border-*-style": "solid"},
}));
</script>

View file

@ -0,0 +1,18 @@
<!DOCTYPE html>
<meta charset="utf-8" />
<title>CSS Logical Properties: Flow-Relative Offsets</title>
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
<link rel="help" href="https://drafts.csswg.org/css-logical/#inset-properties">
<meta name="assert" content="This test checks the interaction of the flow-relative inset-* longhand properties with the physical ones in different writing modes." />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script src="./resources/test-box-properties.js"></script>
<script>
runTests(createBoxPropertyGroup("inset-*", {
type: "length",
prerequisites: {"position": "relative"},
}));
</script>

View file

@ -0,0 +1,15 @@
<!DOCTYPE html>
<meta charset="utf-8" />
<title>CSS Logical Properties: Flow-Relative Margins</title>
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
<link rel="help" href="https://drafts.csswg.org/css-logical/#margin-properties">
<meta name="assert" content="This test checks the interaction of the flow-relative margin-* longhand properties with the physical ones in different writing modes." />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script src="./resources/test-box-properties.js"></script>
<script>
runTests(createBoxPropertyGroup("margin-*", {type: "length"}));
</script>

View file

@ -0,0 +1,15 @@
<!DOCTYPE html>
<meta charset="utf-8" />
<title>CSS Logical Properties: Flow-Relative Padding</title>
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
<link rel="help" href="https://drafts.csswg.org/css-logical/#padding-properties">
<meta name="assert" content="This test checks the interaction of the flow-relative padding-* longhand properties with the physical ones in different writing modes." />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script src="./resources/test-box-properties.js"></script>
<script>
runTests(createBoxPropertyGroup("padding-*", {type: "length"}));
</script>

View file

@ -0,0 +1,17 @@
<!DOCTYPE html>
<meta charset="utf-8" />
<title>CSS Logical Properties: Flow-Relative Sizing</title>
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
<link rel="help" href="https://drafts.csswg.org/css-logical/#dimension-properties">
<meta name="assert" content="This test checks the interaction of the flow-relative sizing properties with the physical ones in different writing modes." />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script src="./resources/test-box-properties.js"></script>
<script>
runTests(createSizingPropertyGroup(""));
runTests(createSizingPropertyGroup("max-"));
runTests(createSizingPropertyGroup("min-"));
</script>

View file

@ -0,0 +1,252 @@
"use strict";
(function(exports) {
const sheet = document.head.appendChild(document.createElement("style"));
// Specify size for outer <div> to avoid unconstrained-size warnings
// when writing-mode of the inner test <div> is vertical-*
const wrapper = document.body.appendChild(document.createElement("div"));
wrapper.style.cssText = "width:100px; height: 100px;";
const testElement = wrapper.appendChild(document.createElement("div"));
testElement.id = testElement.className = "test";
// Values to use while testing
const testValues = {
"length": ["1px", "2px", "3px", "4px", "5px"],
"color": ["rgb(1, 1, 1)", "rgb(2, 2, 2)", "rgb(3, 3, 3)", "rgb(4, 4, 4)", "rgb(5, 5, 5)"],
"border-style": ["solid", "dashed", "dotted", "double", "groove"],
};
// Six unique overall writing modes for property-mapping purposes.
const writingModes = [
{
styles: [
{"writing-mode": "horizontal-tb", "direction": "ltr"},
],
blockStart: "top", blockEnd: "bottom", inlineStart: "left", inlineEnd: "right",
block: "vertical", inline: "horizontal" },
{
styles: [
{"writing-mode": "horizontal-tb", "direction": "rtl"},
],
blockStart: "top", blockEnd: "bottom", inlineStart: "right", inlineEnd: "left",
block: "vertical", inline: "horizontal" },
{
styles: [
{"writing-mode": "vertical-rl", "direction": "rtl"},
{"writing-mode": "sideways-rl", "direction": "rtl"},
],
blockStart: "right", blockEnd: "left", inlineStart: "bottom", inlineEnd: "top",
block: "horizontal", inline: "vertical" },
{
styles: [
{"writing-mode": "vertical-rl", "direction": "ltr"},
{"writing-mode": "sideways-rl", "direction": "ltr"},
],
blockStart: "right", blockEnd: "left", inlineStart: "top", inlineEnd: "bottom",
block: "horizontal", inline: "vertical" },
{
styles: [
{"writing-mode": "vertical-lr", "direction": "rtl"},
{"writing-mode": "sideways-lr", "direction": "ltr"},
],
blockStart: "left", blockEnd: "right", inlineStart: "bottom", inlineEnd: "top",
block: "horizontal", inline: "vertical" },
{
styles: [
{"writing-mode": "vertical-lr", "direction": "ltr"},
{"writing-mode": "sideways-lr", "direction": "rtl"},
],
blockStart: "left", blockEnd: "right", inlineStart: "top", inlineEnd: "bottom",
block: "horizontal", inline: "vertical" },
];
function testCSSValues(testName, style, expectedValues) {
for (const [property, value] of expectedValues) {
assert_equals(style.getPropertyValue(property), value, `${testName}, ${property}`);
}
}
function testComputedValues(testName, rules, expectedValues) {
sheet.textContent = rules;
const cs = getComputedStyle(testElement);
testCSSValues(testName, cs, expectedValues);
sheet.textContent = "";
}
function makeDeclaration(object = {}, replacement = "*") {
let decl = "";
for (const [property, value] of Object.entries(object)) {
decl += `${property.replace("*", replacement)}: ${value}; `;
}
return decl;
}
/**
* Creates a group of physical and logical box properties, such as
*
* { physical: {
* left: "margin-left", right: "margin-right",
* top: "margin-top", bottom: "margin-bottom",
* }, logical: {
* inlineStart: "margin-inline-start", inlineEnd: "margin-inline-end",
* blockStart: "margin-block-start", blockEnd: "margin-block-end",
* }, type: "length", prerequisites: "...", property: "'margin-*'" }
*
* @param {string} property
* A string representing the property names, like "margin-*".
* @param {Object} descriptor
* @param {string} descriptor.type
* Describes the kind of values accepted by the property, like "length".
* Must be a key from the `testValues` object.
* @param {Object={}} descriptor.prerequisites
* Represents property declarations that are needed by `property` to work.
* For example, border-width properties require a border style.
*/
exports.createBoxPropertyGroup = function(property, descriptor) {
const logical = {};
const physical = {};
for (const logicalSide of ["inline-start", "inline-end", "block-start", "block-end"]) {
const camelCase = logicalSide.replace(/-(.)/g, (match, $1) => $1.toUpperCase());
logical[camelCase] = property.replace("*", logicalSide);
}
const isInset = property === "inset-*";
let prerequisites = "";
for (const physicalSide of ["left", "right", "top", "bottom"]) {
physical[physicalSide] = isInset ? physicalSide : property.replace("*", physicalSide);
prerequisites += makeDeclaration(descriptor.prerequisites, physicalSide);
}
return {name, logical, physical, type: descriptor.type, prerequisites, property};
};
/**
* Creates a group of physical and logical sizing properties.
*
* @param {string} prefix
* One of "", "max-" or "min-".
*/
exports.createSizingPropertyGroup = function(prefix) {
return {
logical: {
inline: `${prefix}inline-size`,
block: `${prefix}block-size`,
},
physical: {
horizontal: `${prefix}width`,
vertical: `${prefix}height`,
},
type: "length",
prerequisites: makeDeclaration({display: "block"}),
property: (prefix ? prefix.slice(0, -1) + " " : "") + "sizing",
};
};
/**
* Tests a grup of logical and physical properties in different writing modes.
*
* @param {Object} group
* An object returned by createBoxPropertyGroup or createSizingPropertyGroup.
*/
exports.runTests = function(group) {
const values = testValues[group.type];
const logicals = Object.values(group.logical);
const physicals = Object.values(group.physical);
test(function() {
const expected = [];
for (const [i, logicalProp] of logicals.entries()) {
testElement.style.setProperty(logicalProp, values[i]);
expected.push([logicalProp, values[i]]);
}
testCSSValues("logical properties in inline style", testElement.style, expected);
testElement.style.cssText = "";
}, `Test that logical ${group.property} properties are supported.`);
for (const writingMode of writingModes) {
for (const style of writingMode.styles) {
const writingModeDecl = makeDeclaration(style);
const associated = {};
for (const [logicalSide, logicalProp] of Object.entries(group.logical)) {
const physicalProp = group.physical[writingMode[logicalSide]];
associated[logicalProp] = physicalProp;
associated[physicalProp] = logicalProp;
}
// Test that logical properties are converted to their physical
// equivalent correctly when all in the group are present on a single
// declaration, with no overwriting of previous properties and
// no physical properties present. We put the writing mode properties
// on a separate declaration to test that the computed values of these
// properties are used, rather than those on the same declaration.
test(function() {
let decl = group.prerequisites;
const expected = [];
for (const [i, logicalProp] of logicals.entries()) {
decl += `${logicalProp}: ${values[i]}; `;
expected.push([logicalProp, values[i]]);
expected.push([associated[logicalProp], values[i]]);
}
testComputedValues("logical properties on one declaration, writing " +
`mode properties on another, '${writingModeDecl}'`,
`.test { ${writingModeDecl} } .test { ${decl} }`,
expected);
}, `Test that logical ${group.property} properties share computed values `
+ `with their physical associates, with '${writingModeDecl}'.`);
// Test that logical and physical properties are cascaded together,
// honoring their relative order on a single declaration
// (a) with a single logical property after the physical ones
// (b) with a single physical property after the logical ones
test(function() {
for (const lastIsLogical of [true, false]) {
const lasts = lastIsLogical ? logicals : physicals;
const others = lastIsLogical ? physicals : logicals;
for (const lastProp of lasts) {
let decl = writingModeDecl + group.prerequisites;
const expected = [];
for (const [i, prop] of others.entries()) {
decl += `${prop}: ${values[i]}; `;
const valueIdx = associated[prop] === lastProp ? others.length : i;
expected.push([prop, values[valueIdx]]);
expected.push([associated[prop], values[valueIdx]]);
}
decl += `${lastProp}: ${values[others.length]}; `;
testComputedValues(`'${lastProp}' last on single declaration, '${writingModeDecl}'`,
`.test { ${decl} }`,
expected);
}
}
}, `Test that ${group.property} properties honor order of appearance when both `
+ `logical and physical associates are declared, with '${writingModeDecl}'.`);
// Test that logical and physical properties are cascaded properly when
// on different declarations
// (a) with a logical property in the high specificity rule
// (b) with a physical property in the high specificity rule
test(function() {
for (const highIsLogical of [true, false]) {
let lowDecl = writingModeDecl + group.prerequisites;
const high = highIsLogical ? logicals : physicals;
const others = highIsLogical ? physicals : logicals;
for (const [i, prop] of others.entries()) {
lowDecl += `${prop}: ${values[i]}; `;
}
for (const highProp of high) {
const highDecl = `${highProp}: ${values[others.length]}; `;
const expected = [];
for (const [i, prop] of others.entries()) {
const valueIdx = associated[prop] === highProp ? others.length : i;
expected.push([prop, values[valueIdx]]);
expected.push([associated[prop], values[valueIdx]]);
}
testComputedValues(`'${highProp}', two declarations, '${writingModeDecl}'`,
`#test { ${highDecl} } .test { ${lowDecl} }`,
expected);
}
}
}, `Test that ${group.property} properties honor selector specificty when both `
+ `logical and physical associates are declared, with '${writingModeDecl}'.`);
}
}
};
})(window);

View file

@ -0,0 +1,26 @@
<!doctype html>
<title>column-count used value when neither column-count nor column-width are auto</title>
<link rel=help href=https://www.w3.org/TR/css-multicol-1/#pseudo-algorithm>
<link rel=match href=../reference/ref-filled-green-100px-square.xht>
<style>
div {
position: absolute;
}
.bg {
background: red;
width: 100px;
height: 100px;
}
.test {
line-height: 50px;
width: 100px;
background: green;
columns: 2 20px;
column-gap: 0;
orphans: 1;
widows: 1;
}
</style>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div class=bg></div>
<div class=test><br><br><br><br></div>

View file

@ -0,0 +1,13 @@
<!DOCTYPE html>
<title>Fixed-size float in autosized htr in vrl</title>
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
<link rel="help" href="https://www.w3.org/TR/css-sizing-3/#intrinsic" title="4. Intrinsic Size Determination">
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div style="width:100px; height:100px; background:red;">
<div style="writing-mode:vertical-rl; background:green;">
<div style="writing-mode:horizontal-tb;">
<div style="float:left; width:100px; height:100px;"></div>
</div>
</div>
</div>