Update web-platform-tests to revision 50d6ee076e94273080d9f3b69be0bf4eeae156d3

This commit is contained in:
WPT Sync Bot 2018-08-22 21:45:47 -04:00
parent 3b9055510a
commit 280c87822d
331 changed files with 4209 additions and 866 deletions

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<title>The fieldset element: block formatting context</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<style>
* {
margin: 0;
padding: 0;
}
fieldset { border: none; }
.float {
float: left;
width: 50px;
height: 50px;
background-color: orange;
}
</style>
<div class=float></div>
<fieldset><div class=float></div></fieldset>
<script>
test(() => {
const fieldset = document.querySelector('fieldset');
assert_equals(fieldset.offsetTop, 0, 'fieldset.offsetTop');
assert_equals(fieldset.offsetLeft, 50, 'fieldset.offsetLeft');
assert_equals(fieldset.clientHeight, 50, 'fieldset.clientHeight');
});
</script>

View file

@ -0,0 +1,61 @@
<!doctype html>
<title>fieldset default style</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<style>
#ref {
display: block;
margin-left: 2px;
margin-right: 2px;
/* TODO replace above declarations with these when they are widely supported.
margin-inline-start: 2px;
margin-inline-end: 2px;
*/
border: groove 2px ThreeDFace;
padding: 0.35em 0.75em 0.625em 0.75em;
/* TODO replace above declarations with these when they are widely supported.
padding-block-start: 0.35em;
padding-inline-end: 0.75em;
padding-block-end: 0.625em;
padding-inline-start: 0.75em;
*/
min-width: min-content;
/* TODO change the above to min-inline-size when it's widely supported. */
}
</style>
<fieldset id=test></fieldset>
<div id=ref></div>
<script>
const testElm = document.querySelector('#test');
const refElm = document.querySelector('#ref');
const props = ['display',
'margin-top',
'margin-right',
'margin-bottom',
'margin-left',
'border-top-style',
'border-right-style',
'border-bottom-style',
'border-left-style',
'border-top-width',
'border-right-width',
'border-bottom-width',
'border-left-width',
'border-top-color',
'border-right-color',
'border-bottom-color',
'border-left-color',
'padding-top',
'padding-right',
'padding-bottom',
'padding-left',
'min-width',
];
const testStyle = getComputedStyle(testElm);
const refStyle = getComputedStyle(refElm);
props.forEach(prop => {
test(() => {
assert_equals(testStyle[prop], refStyle[prop]);
}, `${prop}`);
});
</script>

View file

@ -0,0 +1,41 @@
<!doctype html>
<title>fieldset and CSS display</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<style>
#inline-ref { display: inline-block; }
</style>
<fieldset id="block-ref">x</fieldset>
<fieldset id="inline-ref">x</fieldset>
<fieldset id="test">x</fieldset>
<script>
const blockWidth = getComputedStyle(document.querySelector('#block-ref')).width;
const inlineWidth = getComputedStyle(document.querySelector('#inline-ref')).width;
const testElm = document.querySelector('#test');
const blocks = ['block', 'table', 'table-row-group', 'table-header-group', 'table-footer-group', 'table-row', 'table-cell',
'table-column-group', 'table-column', 'table-caption', 'list-item', 'flow', 'flow-root','run-in'];
const inlines = ['inline', 'inline-block', 'inline-table', 'ruby', 'ruby-base', 'ruby-text', 'ruby-base-container', 'ruby-text-container'];
function test_display(val, expectedWidth) {
test(() => {
testElm.style.removeProperty('display');
testElm.style.display = val;
const computed = getComputedStyle(testElm);
// Note that computed value is different from the used value.
// E.g., if ruby is not supported, the following assertion will
// fail as the computed value of display will be block.
// If ruby is supported, computed.display will return "ruby",
// but the used value is supposed to be "inline".
assert_equals(computed.display, val, `display: ${val} is not supported`);
assert_equals(computed.width, expectedWidth);
}, `fieldset with display: ${val}`);
}
for (const val of blocks) {
test_display(val, blockWidth);
}
for (const val of inlines) {
test_display(val, inlineWidth);
}
</script>

View file

@ -0,0 +1,71 @@
<!DOCTYPE html>
<title>fieldset and CSS Flexbox</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<style>
#test, #ref, #test-inline, #ref-inline {
display: flex;
justify-content: space-around;
margin: 0;
padding: 0;
border: none
}
#test-inline, #ref-inline { display: inline-flex }
</style>
<fieldset id=test>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</fieldset>
<hr>
<div id=ref>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
<hr>
<fieldset id=test-inline>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</fieldset>
<div id=ref-inline>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
<script>
test(() => {
assert_equals(getComputedStyle(document.getElementById('test')).height,
getComputedStyle(document.getElementById('ref')).height);
}, "Flex");
test(() => {
assert_equals(getComputedStyle(document.getElementById('test-inline')).height,
getComputedStyle(document.getElementById('ref-inline')).height);
}, "Inline flex");
</script>

View file

@ -0,0 +1,72 @@
<!DOCTYPE html>
<title>fieldset and CSS Grid</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<style>
#test, #ref, #test-inline, #ref-inline {
display: grid;
grid-template-columns: auto 50px auto;
grid-template-rows: auto 50px auto;
margin: 0;
padding: 0;
border: none
}
#test-inline, #ref-inline { display: inline-grid }
</style>
<fieldset id=test>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</fieldset>
<hr>
<div id=ref>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
<hr>
<fieldset id=test-inline>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</fieldset>
<div id=ref-inline>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
<script>
test(() => {
assert_equals(getComputedStyle(document.getElementById('test')).height,
getComputedStyle(document.getElementById('ref')).height);
}, "Grid");
test(() => {
assert_equals(getComputedStyle(document.getElementById('test-inline')).height,
getComputedStyle(document.getElementById('ref-inline')).height);
}, "Inline grid");
</script>

View file

@ -0,0 +1,29 @@
<!doctype html>
<title>fieldset multicol</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<style>
#test { margin: 0; padding: 0; border: none }
#test, #ref { columns: 5 }
p { margin: 0 }
</style>
<fieldset id=test>
<p>1
<p>2
<p>3
<p>4
<p>5
</fieldset>
<div id=ref>
<p>1
<p>2
<p>3
<p>4
<p>5
</div>
<script>
test(() => {
assert_equals(getComputedStyle(document.getElementById('test')).height,
getComputedStyle(document.getElementById('ref')).height);
});
</script>

View file

@ -0,0 +1,4 @@
<!DOCTYPE html>
<title>Reference for fieldset and overflow</title>
<p>It should say PASS below.</p>
PASS

View file

@ -0,0 +1,11 @@
<!DOCTYPE html>
<title>fieldset and overflow</title>
<link rel=match href=fieldset-overflow-hidden-ref.html>
<style>
fieldset { margin:0; padding: 0; overflow: hidden; border: none; border-top: 1em solid transparent; }
legend { padding: 0; }
</style>
<p>It should say PASS below.</p>
<fieldset>
<legend>PASS</legend>
</fieldset>

View file

@ -0,0 +1,10 @@
<!doctype html>
<title>Reference for fieldset painting order</title>
<style>
div { width: 200px; height: 200px; }
#a { background: green; }
#b { background: lime; position: relative; top: -100px; left: 100px; }
</style>
<p>There should be no red.</p>
<div id=a></div>
<div id=b></div>

View file

@ -0,0 +1,17 @@
<!doctype html>
<title>fieldset painting order</title>
<link rel=match href=fieldset-painting-order-ref.html>
<style>
fieldset, legend { margin: 0; padding: 0; }
fieldset {
border: 100px solid red;
width: 0;
min-width: 0;
height: 0;
}
legend { width: 200px; height: 200px; margin-left: -100px; background: green; }
legend > span { float: right; margin-top: 100px; width: 100px; height: 100px; background: red; }
fieldset > div { margin-top: -100px; background: lime; width: 200px; height: 200px; }
</style>
<p>There should be no red.</p>
<fieldset><legend><span></span></legend><div></div></fieldset>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<title>Reference for Fieldset and transform: translateZ(0)</title>
<style>
fieldset { background: #eee; }
</style>
<p>It should say PASS below without anything obscuring the text.</p>
<fieldset>
<legend>PASS</legend>
</fieldset>

View file

@ -0,0 +1,16 @@
<!DOCTYPE html>
<title>Fieldset and transform: translateZ(0)</title>
<link rel=match href=fieldset-transform-translatez-ref.html>
<style>
#outer { transform: translateZ(0); }
fieldset { background: #eee; overflow: hidden; margin: 0 0 10px; }
#inner { position: relative; }
</style>
<p>It should say PASS below without anything obscuring the text.</p>
<div id=outer>
<fieldset>
<legend>
<div id="inner">PASS</div>
</legend>
</fieldset>
</div>

View file

@ -0,0 +1,7 @@
<!doctype html>
<title>Reference for floated legend should not disappear</title>
<style>
div { width: 100px; height: 100px; background: lime; }
</style>
<p>There should be no red.</p>
<div></div>

View file

@ -0,0 +1,12 @@
<!doctype html>
<title>floated legend should not disappear</title>
<link rel=match href=legend-float-ref.html>
<style>
fieldset { margin: 0; padding: 0; border: none; width: 100px; height: 50px; background: red; }
legend { width: 100px; height: 50px; background: lime; padding: 0; }
.left { float: left; }
.right { float: right; }
</style>
<p>There should be no red.</p>
<fieldset><legend class=left></legend></fieldset>
<fieldset><legend class=right></legend></fieldset>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<title>Reference for legend position: relative</title>
<style>
div { display: inline-block; background: lime; }
.a { width: 100px; height: 200px; }
.b { width: 100px; height: 100px; }
.c { width: 200px; height: 200px; }
</style>
<p>There should be no red.</p>
<div class=a></div><div class=b></div><div class=c></div>

View file

@ -0,0 +1,11 @@
<!DOCTYPE html>
<title>legend position: relative</title>
<link rel=match href=legend-position-relative-ref.html>
<style>
fieldset { border: 100px solid lime; width: 200px; padding: 0; margin: 0 }
legend { position: relative; left: 100px; width: 100px; padding: 0 }
.behind { position: absolute; left: 208px; width: 100px; height: 100px; background: red; z-index: -1 }
</style>
<p>There should be no red.</p>
<div class=behind></div>
<fieldset><legend></legend></fieldset>

View file

@ -0,0 +1,68 @@
<!doctype html>
<title>legend sans fieldset and CSS display</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<style>
* { margin: 0; padding: 0; }
.table, table { display: table; width: 200px; border-collapse: collapse; }
.tbody { display: table-row-group; }
.tr { display: table-row; }
.td, td { display: table-cell; }
.col { display: table-column; }
.caption { display: table-caption; }
.li { display: list-item; }
.inline { display: inline; }
.inline-block { display: inline-block; }
.inline-table { display: inline-table; }
.ruby { display: ruby; }
.rt { display: ruby-text; }
rt { font-size: inherit; }
</style>
<legend class=table>
<legend class=caption>caption</legend>
<legend class=col></legend><legend class=col></legend>
<legend class=tbody>
<legend class=tr>
<legend class=td>td</legend><legend class=td>td</legend>
</legend>
</legend>
</legend>
<table>
<caption>caption</caption>
<col><col>
<tbody>
<tr>
<td>td<td>td
</table>
<ul>
<legend class=li>li</legend>
<li>li</li>
</ul>
<p>foo <legend class=inline>inline</legend> <span>inline</span>
<p>foo <legend class=inline-block>inline-block</legend> <span class=inline-block>inline-block</span>
<p><legend class=ruby>ruby<legend class=rt>rt</legend></legend> <ruby>ruby<rt>rt</ruby>
<script>
function test_display(testSelector, refSelector) {
test(() => {
const testElm = document.querySelector(testSelector);
const refElm = document.querySelector(refSelector);
const testStyle = getComputedStyle(testElm);
const refStyle = getComputedStyle(refElm);
assert_equals(testStyle.display, refStyle.display, testSelector + ' display');
assert_equals(testStyle.width, refStyle.width, testSelector + ' width');
assert_equals(testStyle.height, refStyle.height, testSelector + ' height');
}, testSelector);
}
test_display('.table', 'table');
test_display('.caption', 'caption');
test_display('.col', 'col');
test_display('.tbody', 'tbody');
test_display('.tr', 'tr');
test_display('.td', 'td');
test_display('.li', 'li');
test_display('.inline', 'span');
test_display('.inline-block', 'span.inline-block');
test_display('.ruby', 'ruby');
test_display('.rt', 'rt');
</script>

View file

@ -0,0 +1,39 @@
<!doctype html>
<title>fieldset min-inline-size</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<style>
fieldset { width: 0; height: 0 }
fieldset > div { width: 100px; height: 100px }
#vertical-lr { writing-mode: vertical-lr }
#vertical-rl { writing-mode: vertical-rl }
.override { min-inline-size: 5px }
</style>
<fieldset id=horizontal-tb><div></div></fieldset>
<fieldset id=vertical-lr><div></div></fieldset>
<fieldset id=vertical-rl><div></div></fieldset>
<script>
for (const className of ['', 'override']) {
const expected = className === '' ? '100px' : '5px';
test(() => {
const fieldset = document.getElementById('horizontal-tb');
fieldset.className = className;
assert_equals(getComputedStyle(fieldset).width, expected, 'width');
assert_equals(getComputedStyle(fieldset).height, '0px', 'height');
}, `horizontal-tb ${className}`);
test(() => {
const fieldset = document.getElementById('vertical-lr');
fieldset.className = className;
assert_equals(getComputedStyle(fieldset).width, '0px', 'width');
assert_equals(getComputedStyle(fieldset).height, expected, 'height');
}, `vertical-lr ${className}`);
test(() => {
const fieldset = document.getElementById('vertical-rl');
fieldset.className = className;
assert_equals(getComputedStyle(fieldset).width, '0px', 'width');
assert_equals(getComputedStyle(fieldset).height, expected, 'height');
}, `vertical-rl ${className}`);
}
</script>

View file

@ -1,54 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Rendering requirements test (suggested default rendering): fieldset min-width is overridable</title>
<link rel="author" title="Chris Rebert" href="http://chrisrebert.com">
<link rel="help" href="https://html.spec.whatwg.org/multipage/rendering.html#the-fieldset-and-legend-elements">
<link rel="help" href="http://drafts.csswg.org/css2/visudet.html#min-max-widths">
<link rel="help" href="http://drafts.csswg.org/css-sizing/#width-height-keywords">
<link rel="match" href="ref.html">
<meta name="flags" content="">
<meta name="assert" content="fieldset's default min-width should be overridable since it's not !important and not spec'd to be non-overridable">
<style>
body {
margin: 10px;
}
#cover {
background-color: green;
position: absolute;
left: 10px;
top: 10px;
height: 100px;
width: 100px;
z-index: 2;
}
fieldset {
min-width: 0;/* property under test */
/* zero these out so it renders more like a div element */
border: none;
margin: 0;
padding: 0;
}
.outer {
width: 100px;
}
.inner {
background-color: red;
color: red;
height: 100px;
overflow: scroll;
white-space: nowrap;
}
</style>
</head>
<body>
<div class="outer">
<fieldset>
<div class="inner">a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a</div>
</fieldset>
</div>
<p>Test passes if there is a <strong>filled green square</strong> and <strong>no red</strong>.</p>
<div id="cover"></div>
</body>
</html>

View file

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Rendering requirements Reftest Reference</title>
<style>
body {
margin: 10px;
}
div {
background-color: green;
height: 100px;
width: 100px;
}
</style>
</head>
<body>
<div></div>
<p>Test passes if there is a <strong>filled green square</strong> and <strong>no red</strong>.</p>
</body>
</html>