Update web-platform-tests to revision ab64b78a8f6777a1d95d8d1d4bba9ccdbecf94ea
|
@ -0,0 +1,4 @@
|
|||
[2d.text.measure.actualBoundingBox.html]
|
||||
[Testing actualBoundingBox]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[2d.text.measure.advances.html]
|
||||
[Testing width advances]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[2d.text.measure.baselines.html]
|
||||
[Testing baselines]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[2d.text.measure.emHeights.html]
|
||||
[Testing emHeights]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[2d.text.measure.fontBoundingBox.html]
|
||||
[Testing fontBoundingBox]
|
||||
expected: FAIL
|
||||
|
|
@ -213,6 +213,6 @@
|
|||
[font-size intermediate]
|
||||
expected: NOTRUN
|
||||
|
||||
[border-top-width end]
|
||||
[bottom intermediate]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
[vh_not_refreshing_on_chrome.html]
|
||||
expected: TIMEOUT
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-101.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-102.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-103.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-105.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-106.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-108.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-109.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-110.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-125.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-125b.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-126.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-126b.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-127.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-127b.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-128.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-128b.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-129.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-129b.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-134.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-134b.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-135.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-135b.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-136.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-136b.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-168.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-168a.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-169.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-169a.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-173a.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-83.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[css3-modsel-99.xml]
|
||||
expected: FAIL
|
|
@ -0,0 +1,47 @@
|
|||
[request-init-stream.any.worker.html]
|
||||
[Constructing a Request with a Request on which read() and releaseLock() are called]
|
||||
expected: FAIL
|
||||
|
||||
[Constructing a Request with a stream on which read() and releaseLock() are called]
|
||||
expected: FAIL
|
||||
|
||||
[Constructing a Request with a stream on which getReader() is called]
|
||||
expected: FAIL
|
||||
|
||||
[Constructing a Request with a Request on which body.getReader() is called]
|
||||
expected: FAIL
|
||||
|
||||
[Constructing a Request with a stream on which read() is called]
|
||||
expected: FAIL
|
||||
|
||||
[Constructing a Request with a Request on which body.getReader().read() is called]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[request-init-stream.any.sharedworker.html]
|
||||
[request-init-stream]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[request-init-stream.any.html]
|
||||
[Constructing a Request with a Request on which read() and releaseLock() are called]
|
||||
expected: FAIL
|
||||
|
||||
[Constructing a Request with a stream on which read() and releaseLock() are called]
|
||||
expected: FAIL
|
||||
|
||||
[Constructing a Request with a stream on which getReader() is called]
|
||||
expected: FAIL
|
||||
|
||||
[Constructing a Request with a Request on which body.getReader() is called]
|
||||
expected: FAIL
|
||||
|
||||
[Constructing a Request with a stream on which read() is called]
|
||||
expected: FAIL
|
||||
|
||||
[Constructing a Request with a Request on which body.getReader().read() is called]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[request-init-stream.any.serviceworker.html]
|
||||
expected: TIMEOUT
|
|
@ -0,0 +1,29 @@
|
|||
[response-from-stream.any.sharedworker.html]
|
||||
[response-from-stream]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[response-from-stream.any.html]
|
||||
[Constructing a Response with a stream on which getReader() is called]
|
||||
expected: FAIL
|
||||
|
||||
[Constructing a Response with a stream on which read() and releaseLock() are called]
|
||||
expected: FAIL
|
||||
|
||||
[Constructing a Response with a stream on which read() is called]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[response-from-stream.any.serviceworker.html]
|
||||
expected: TIMEOUT
|
||||
|
||||
[response-from-stream.any.worker.html]
|
||||
[Constructing a Response with a stream on which getReader() is called]
|
||||
expected: FAIL
|
||||
|
||||
[Constructing a Response with a stream on which read() and releaseLock() are called]
|
||||
expected: FAIL
|
||||
|
||||
[Constructing a Response with a stream on which read() is called]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[traverse_the_history_5.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[fieldset-transform-translatez.html]
|
||||
expected: FAIL
|
|
@ -172,63 +172,3 @@
|
|||
[XHTML img usemap="http://example.org/#garbage-before-hash-id"]
|
||||
expected: FAIL
|
||||
|
||||
[XHTML img usemap="#percent-escape-id-%41"]
|
||||
expected: FAIL
|
||||
|
||||
[XHTML img usemap="#different-CASE-id"]
|
||||
expected: FAIL
|
||||
|
||||
[HTML (quirks) IMG usemap="#"]
|
||||
expected: FAIL
|
||||
|
||||
[XHTML img usemap="hash-last#"]
|
||||
expected: FAIL
|
||||
|
||||
[HTML (quirks) IMG usemap="no-hash-id"]
|
||||
expected: FAIL
|
||||
|
||||
[HTML (quirks) IMG usemap="no-hash-name"]
|
||||
expected: FAIL
|
||||
|
||||
[HTML (quirks) IMG usemap="#no-such-map"]
|
||||
expected: FAIL
|
||||
|
||||
[HTML (quirks) IMG usemap="hash-last#"]
|
||||
expected: FAIL
|
||||
|
||||
[XHTML img usemap="no-hash-id"]
|
||||
expected: FAIL
|
||||
|
||||
[HTML (quirks) IMG usemap="#different-CASE-name"]
|
||||
expected: FAIL
|
||||
|
||||
[XHTML img usemap="#no-such-map"]
|
||||
expected: FAIL
|
||||
|
||||
[XHTML img usemap="#percent-escape-name-%41"]
|
||||
expected: FAIL
|
||||
|
||||
[XHTML img usemap="#"]
|
||||
expected: FAIL
|
||||
|
||||
[HTML (quirks) IMG usemap="#different-CASE-id"]
|
||||
expected: FAIL
|
||||
|
||||
[XHTML img usemap="#different-CASE-name"]
|
||||
expected: FAIL
|
||||
|
||||
[XHTML img usemap=""]
|
||||
expected: FAIL
|
||||
|
||||
[HTML (quirks) IMG usemap=""]
|
||||
expected: FAIL
|
||||
|
||||
[HTML (quirks) IMG usemap="#percent-escape-name-%41"]
|
||||
expected: FAIL
|
||||
|
||||
[HTML (quirks) IMG usemap="#percent-escape-id-%41"]
|
||||
expected: FAIL
|
||||
|
||||
[XHTML img usemap="no-hash-name"]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -16,9 +16,6 @@
|
|||
[picture: source (max-width:500px) broken image, img broken image, onload, narrow]
|
||||
expected: FAIL
|
||||
|
||||
[picture: source (max-width:500px) broken image, img broken image, resize to wide]
|
||||
expected: TIMEOUT
|
||||
|
||||
[picture: source (max-width:500px) broken image, img valid image, onload, narrow]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -28,9 +25,6 @@
|
|||
[picture: source (max-width:500px) valid image, img broken image, onload, narrow]
|
||||
expected: FAIL
|
||||
|
||||
[picture: source (max-width:500px) valid image, img broken image, resize to wide]
|
||||
expected: TIMEOUT
|
||||
|
||||
[picture: source (max-width:500px) valid image, img valid image, onload, narrow]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -55,15 +49,9 @@
|
|||
[picture: source (max-width:500px) broken image, img broken image, onload, wide]
|
||||
expected: FAIL
|
||||
|
||||
[picture: source (max-width:500px) broken image, img broken image, resize to narrow]
|
||||
expected: TIMEOUT
|
||||
|
||||
[picture: source (max-width:500px) broken image, img valid image, onload, wide]
|
||||
expected: FAIL
|
||||
|
||||
[picture: source (max-width:500px) broken image, img valid image, resize to narrow]
|
||||
expected: TIMEOUT
|
||||
|
||||
[picture: source (max-width:500px) valid image, img broken image, onload, wide]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
[script-onerror-insertion-point-2.html]
|
||||
expected: TIMEOUT
|
|
@ -0,0 +1,4 @@
|
|||
[aborted-parser.window.html]
|
||||
[document.open() after parser is aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -5,16 +5,13 @@
|
|||
[request.formData() with input: a&b&c]
|
||||
expected: FAIL
|
||||
|
||||
[request.formData() with input: a=b&c=d&]
|
||||
[request.formData() with input: &&&a=b&&&&c=d&]
|
||||
expected: FAIL
|
||||
|
||||
[request.formData() with input: a=b&c=d]
|
||||
[response.formData() with input: &&&a=b&&&&c=d&]
|
||||
expected: FAIL
|
||||
|
||||
[response.formData() with input: a=b&c=d&]
|
||||
expected: FAIL
|
||||
|
||||
[response.formData() with input: _charset_=windows-1252&test=%C2x]
|
||||
[response.formData() with input: a=b&c=d]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
|
@ -25,15 +22,15 @@
|
|||
[request.formData() with input: a&b&c]
|
||||
expected: FAIL
|
||||
|
||||
[request.formData() with input: _charset_=windows-1252&test=%C2x]
|
||||
[response.formData() with input: a=b&c=d&]
|
||||
expected: FAIL
|
||||
|
||||
[response.formData() with input: _charset_=windows-1252&test=%C2x]
|
||||
[request.formData() with input: a=b&c=d]
|
||||
expected: FAIL
|
||||
|
||||
[request.formData() with input: &&&a=b&&&&c=d&]
|
||||
[response.formData() with input: a=b&c=d]
|
||||
expected: FAIL
|
||||
|
||||
[response.formData() with input: &&&a=b&&&&c=d&]
|
||||
[request.formData() with input: a=b&c=d&]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
[sharedworker-in-worker.html]
|
||||
expected: ERROR
|
||||
[Base URL in workers: new SharedWorker()]
|
||||
expected: FAIL
|
||||
|
||||
|
|
26
tests/wpt/metadata/xhr/send-data-readablestream.any.js.ini
Normal file
|
@ -0,0 +1,26 @@
|
|||
[send-data-readablestream.any.html]
|
||||
[XMLHttpRequest: send() with a stream on which read() is called]
|
||||
expected: FAIL
|
||||
|
||||
[XMLHttpRequest: send() with a stream on which read() and releaseLock() are called]
|
||||
expected: FAIL
|
||||
|
||||
[XMLHttpRequest: send() with a stream on which getReader() is called]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[send-data-readablestream.any.worker.html]
|
||||
[XMLHttpRequest: send() with a stream on which read() is called]
|
||||
expected: FAIL
|
||||
|
||||
[XMLHttpRequest: send() with a stream on which read() and releaseLock() are called]
|
||||
expected: FAIL
|
||||
|
||||
[XMLHttpRequest: send() with a stream on which getReader() is called]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[send-data-readablestream.any.sharedworker.html]
|
||||
[send-data-readablestream]
|
||||
expected: FAIL
|
||||
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 2 KiB After Width: | Height: | Size: 1.6 KiB |
|
@ -0,0 +1,51 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! This test has been generated by tools/gentest.py. -->
|
||||
<title>Canvas test: 2d.text.measure.actualBoundingBox</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/common/canvas-tests.js"></script>
|
||||
<link rel="stylesheet" href="/common/canvas-tests.css">
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: CanvasTest;
|
||||
src: url("/fonts/CanvasTest.ttf");
|
||||
}
|
||||
</style>
|
||||
<body class="show_output">
|
||||
|
||||
<h1>2d.text.measure.actualBoundingBox</h1>
|
||||
<p class="desc">Testing actualBoundingBox</p>
|
||||
|
||||
|
||||
<span style="font-family: CanvasTest; position: absolute; visibility: hidden">A</span>
|
||||
<p class="output">Actual output:</p>
|
||||
<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
|
||||
|
||||
<ul id="d"></ul>
|
||||
<script>
|
||||
var t = async_test("Testing actualBoundingBox");
|
||||
_addTest(function(canvas, ctx) {
|
||||
|
||||
deferTest();
|
||||
step_timeout(t.step_func_done(function () {
|
||||
ctx.font = '50px CanvasTest';
|
||||
ctx.direction = 'ltr';
|
||||
ctx.align = 'left'
|
||||
ctx.baseline = 'alphabetic'
|
||||
// Some platforms may return '-0'.
|
||||
_assertSame(Math.abs(ctx.measureText('A').actualBoundingBoxLeft), 0, "Math.abs(ctx.measureText('A').actualBoundingBoxLeft)", "0");
|
||||
// Different platforms may render text slightly different.
|
||||
_assert(ctx.measureText('A').actualBoundingBoxRight >= 50, "ctx.measureText('A').actualBoundingBoxRight >= 50");
|
||||
_assert(ctx.measureText('A').actualBoundingBoxAscent >= 35, "ctx.measureText('A').actualBoundingBoxAscent >= 35");
|
||||
_assertSame(Math.abs(ctx.measureText('A').actualBoundingBoxDescent), 0, "Math.abs(ctx.measureText('A').actualBoundingBoxDescent)", "0");
|
||||
|
||||
_assertSame(Math.abs(ctx.measureText('ABCD').actualBoundingBoxLeft), 0, "Math.abs(ctx.measureText('ABCD').actualBoundingBoxLeft)", "0");
|
||||
_assert(ctx.measureText('ABCD').actualBoundingBoxRight >= 200, "ctx.measureText('ABCD').actualBoundingBoxRight >= 200");
|
||||
_assert(ctx.measureText('ABCD').actualBoundingBoxAscent >= 85, "ctx.measureText('ABCD').actualBoundingBoxAscent >= 85");
|
||||
_assert(ctx.measureText('ABCD').actualBoundingBoxDescent >= 37, "ctx.measureText('ABCD').actualBoundingBoxDescent >= 37");
|
||||
}), 500);
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! This test has been generated by tools/gentest.py. -->
|
||||
<title>Canvas test: 2d.text.measure.advances</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/common/canvas-tests.js"></script>
|
||||
<link rel="stylesheet" href="/common/canvas-tests.css">
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: CanvasTest;
|
||||
src: url("/fonts/CanvasTest.ttf");
|
||||
}
|
||||
</style>
|
||||
<body class="show_output">
|
||||
|
||||
<h1>2d.text.measure.advances</h1>
|
||||
<p class="desc">Testing width advances</p>
|
||||
|
||||
|
||||
<span style="font-family: CanvasTest; position: absolute; visibility: hidden">A</span>
|
||||
<p class="output">Actual output:</p>
|
||||
<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
|
||||
|
||||
<ul id="d"></ul>
|
||||
<script>
|
||||
var t = async_test("Testing width advances");
|
||||
_addTest(function(canvas, ctx) {
|
||||
|
||||
deferTest();
|
||||
step_timeout(t.step_func_done(function () {
|
||||
ctx.font = '50px CanvasTest';
|
||||
ctx.direction = 'ltr';
|
||||
ctx.align = 'left'
|
||||
// Some platforms may return '-0'.
|
||||
_assertSame(Math.abs(ctx.measureText('Hello').advances[0]), 0, "Math.abs(ctx.measureText('Hello').advances[\""+(0)+"\"])", "0");
|
||||
// Different platforms may render text slightly different.
|
||||
_assert(ctx.measureText('Hello').advances[1] >= 36, "ctx.measureText('Hello').advances[\""+(1)+"\"] >= 36");
|
||||
_assert(ctx.measureText('Hello').advances[2] >= 58, "ctx.measureText('Hello').advances[\""+(2)+"\"] >= 58");
|
||||
_assert(ctx.measureText('Hello').advances[3] >= 70, "ctx.measureText('Hello').advances[\""+(3)+"\"] >= 70");
|
||||
_assert(ctx.measureText('Hello').advances[4] >= 80, "ctx.measureText('Hello').advances[\""+(4)+"\"] >= 80");
|
||||
}), 500);
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! This test has been generated by tools/gentest.py. -->
|
||||
<title>Canvas test: 2d.text.measure.baselines</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/common/canvas-tests.js"></script>
|
||||
<link rel="stylesheet" href="/common/canvas-tests.css">
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: CanvasTest;
|
||||
src: url("/fonts/CanvasTest.ttf");
|
||||
}
|
||||
</style>
|
||||
<body class="show_output">
|
||||
|
||||
<h1>2d.text.measure.baselines</h1>
|
||||
<p class="desc">Testing baselines</p>
|
||||
|
||||
|
||||
<span style="font-family: CanvasTest; position: absolute; visibility: hidden">A</span>
|
||||
<p class="output">Actual output:</p>
|
||||
<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
|
||||
|
||||
<ul id="d"></ul>
|
||||
<script>
|
||||
var t = async_test("Testing baselines");
|
||||
_addTest(function(canvas, ctx) {
|
||||
|
||||
deferTest();
|
||||
step_timeout(t.step_func_done(function () {
|
||||
ctx.font = '50px CanvasTest';
|
||||
ctx.direction = 'ltr';
|
||||
ctx.align = 'left'
|
||||
_assertSame(Math.abs(ctx.measureText('A').getBaselines().alphabetic), 0, "Math.abs(ctx.measureText('A').getBaselines().alphabetic)", "0");
|
||||
_assertSame(ctx.measureText('A').getBaselines().ideographic, -39, "ctx.measureText('A').getBaselines().ideographic", "-39");
|
||||
_assertSame(ctx.measureText('A').getBaselines().hanging, 68, "ctx.measureText('A').getBaselines().hanging", "68");
|
||||
|
||||
_assertSame(Math.abs(ctx.measureText('ABCD').getBaselines().alphabetic), 0, "Math.abs(ctx.measureText('ABCD').getBaselines().alphabetic)", "0");
|
||||
_assertSame(ctx.measureText('ABCD').getBaselines().ideographic, -39, "ctx.measureText('ABCD').getBaselines().ideographic", "-39");
|
||||
_assertSame(ctx.measureText('ABCD').getBaselines().hanging, 68, "ctx.measureText('ABCD').getBaselines().hanging", "68");
|
||||
}), 500);
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! This test has been generated by tools/gentest.py. -->
|
||||
<title>Canvas test: 2d.text.measure.emHeights</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/common/canvas-tests.js"></script>
|
||||
<link rel="stylesheet" href="/common/canvas-tests.css">
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: CanvasTest;
|
||||
src: url("/fonts/CanvasTest.ttf");
|
||||
}
|
||||
</style>
|
||||
<body class="show_output">
|
||||
|
||||
<h1>2d.text.measure.emHeights</h1>
|
||||
<p class="desc">Testing emHeights</p>
|
||||
|
||||
|
||||
<span style="font-family: CanvasTest; position: absolute; visibility: hidden">A</span>
|
||||
<p class="output">Actual output:</p>
|
||||
<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
|
||||
|
||||
<ul id="d"></ul>
|
||||
<script>
|
||||
var t = async_test("Testing emHeights");
|
||||
_addTest(function(canvas, ctx) {
|
||||
|
||||
deferTest();
|
||||
step_timeout(t.step_func_done(function () {
|
||||
ctx.font = '50px CanvasTest';
|
||||
ctx.direction = 'ltr';
|
||||
ctx.align = 'left'
|
||||
_assertSame(ctx.measureText('A').emHeightAscent, 124, "ctx.measureText('A').emHeightAscent", "124");
|
||||
_assertSame(Math.abs(ctx.measureText('A').emHeightDescent), 0, "Math.abs(ctx.measureText('A').emHeightDescent)", "0");
|
||||
|
||||
_assertSame(ctx.measureText('ABCD').emHeightAscent, 124, "ctx.measureText('ABCD').emHeightAscent", "124");
|
||||
_assertSame(Math.abs(ctx.measureText('ABCD').emHeightDescent), 0, "Math.abs(ctx.measureText('ABCD').emHeightDescent)", "0");
|
||||
}), 500);
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! This test has been generated by tools/gentest.py. -->
|
||||
<title>Canvas test: 2d.text.measure.fontBoundingBox</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/common/canvas-tests.js"></script>
|
||||
<link rel="stylesheet" href="/common/canvas-tests.css">
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: CanvasTest;
|
||||
src: url("/fonts/CanvasTest.ttf");
|
||||
}
|
||||
</style>
|
||||
<body class="show_output">
|
||||
|
||||
<h1>2d.text.measure.fontBoundingBox</h1>
|
||||
<p class="desc">Testing fontBoundingBox</p>
|
||||
|
||||
|
||||
<span style="font-family: CanvasTest; position: absolute; visibility: hidden">A</span>
|
||||
<p class="output">Actual output:</p>
|
||||
<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
|
||||
|
||||
<ul id="d"></ul>
|
||||
<script>
|
||||
var t = async_test("Testing fontBoundingBox");
|
||||
_addTest(function(canvas, ctx) {
|
||||
|
||||
deferTest();
|
||||
step_timeout(t.step_func_done(function () {
|
||||
ctx.font = '50px CanvasTest';
|
||||
ctx.direction = 'ltr';
|
||||
ctx.align = 'left'
|
||||
_assertSame(ctx.measureText('A').fontBoundingBoxAscent, 85, "ctx.measureText('A').fontBoundingBoxAscent", "85");
|
||||
_assertSame(ctx.measureText('A').fontBoundingBoxDescent, 39, "ctx.measureText('A').fontBoundingBoxDescent", "39");
|
||||
|
||||
_assertSame(ctx.measureText('ABCD').fontBoundingBoxAscent, 85, "ctx.measureText('ABCD').fontBoundingBoxAscent", "85");
|
||||
_assertSame(ctx.measureText('ABCD').fontBoundingBoxDescent, 39, "ctx.measureText('ABCD').fontBoundingBoxDescent", "39");
|
||||
}), 500);
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
|
|
@ -1018,4 +1018,110 @@
|
|||
@assert ctx.measureText('AB ').width === 100; @moz-todo
|
||||
}), 500);
|
||||
|
||||
- name: 2d.text.measure.advances
|
||||
desc: Testing width advances
|
||||
testing:
|
||||
- 2d.text.measure.advances
|
||||
fonts:
|
||||
- CanvasTest
|
||||
code: |
|
||||
deferTest();
|
||||
step_timeout(t.step_func_done(function () {
|
||||
ctx.font = '50px CanvasTest';
|
||||
ctx.direction = 'ltr';
|
||||
ctx.align = 'left'
|
||||
// Some platforms may return '-0'.
|
||||
@assert Math.abs(ctx.measureText('Hello').advances[0]) === 0;
|
||||
// Different platforms may render text slightly different.
|
||||
@assert ctx.measureText('Hello').advances[1] >= 36;
|
||||
@assert ctx.measureText('Hello').advances[2] >= 58;
|
||||
@assert ctx.measureText('Hello').advances[3] >= 70;
|
||||
@assert ctx.measureText('Hello').advances[4] >= 80;
|
||||
}), 500);
|
||||
|
||||
- name: 2d.text.measure.actualBoundingBox
|
||||
desc: Testing actualBoundingBox
|
||||
testing:
|
||||
- 2d.text.measure.actualBoundingBox
|
||||
fonts:
|
||||
- CanvasTest
|
||||
code: |
|
||||
deferTest();
|
||||
step_timeout(t.step_func_done(function () {
|
||||
ctx.font = '50px CanvasTest';
|
||||
ctx.direction = 'ltr';
|
||||
ctx.align = 'left'
|
||||
ctx.baseline = 'alphabetic'
|
||||
// Some platforms may return '-0'.
|
||||
@assert Math.abs(ctx.measureText('A').actualBoundingBoxLeft) === 0;
|
||||
// Different platforms may render text slightly different.
|
||||
@assert ctx.measureText('A').actualBoundingBoxRight >= 50;
|
||||
@assert ctx.measureText('A').actualBoundingBoxAscent >= 35;
|
||||
@assert Math.abs(ctx.measureText('A').actualBoundingBoxDescent) === 0;
|
||||
|
||||
@assert Math.abs(ctx.measureText('ABCD').actualBoundingBoxLeft) === 0;
|
||||
@assert ctx.measureText('ABCD').actualBoundingBoxRight >= 200;
|
||||
@assert ctx.measureText('ABCD').actualBoundingBoxAscent >= 85;
|
||||
@assert ctx.measureText('ABCD').actualBoundingBoxDescent >= 37;
|
||||
}), 500);
|
||||
|
||||
- name: 2d.text.measure.fontBoundingBox
|
||||
desc: Testing fontBoundingBox
|
||||
testing:
|
||||
- 2d.text.measure.fontBoundingBox
|
||||
fonts:
|
||||
- CanvasTest
|
||||
code: |
|
||||
deferTest();
|
||||
step_timeout(t.step_func_done(function () {
|
||||
ctx.font = '50px CanvasTest';
|
||||
ctx.direction = 'ltr';
|
||||
ctx.align = 'left'
|
||||
@assert ctx.measureText('A').fontBoundingBoxAscent === 85;
|
||||
@assert ctx.measureText('A').fontBoundingBoxDescent === 39;
|
||||
|
||||
@assert ctx.measureText('ABCD').fontBoundingBoxAscent === 85;
|
||||
@assert ctx.measureText('ABCD').fontBoundingBoxDescent === 39;
|
||||
}), 500);
|
||||
|
||||
- name: 2d.text.measure.emHeights
|
||||
desc: Testing emHeights
|
||||
testing:
|
||||
- 2d.text.measure.emHeights
|
||||
fonts:
|
||||
- CanvasTest
|
||||
code: |
|
||||
deferTest();
|
||||
step_timeout(t.step_func_done(function () {
|
||||
ctx.font = '50px CanvasTest';
|
||||
ctx.direction = 'ltr';
|
||||
ctx.align = 'left'
|
||||
@assert ctx.measureText('A').emHeightAscent === 124;
|
||||
@assert Math.abs(ctx.measureText('A').emHeightDescent) === 0;
|
||||
|
||||
@assert ctx.measureText('ABCD').emHeightAscent === 124;
|
||||
@assert Math.abs(ctx.measureText('ABCD').emHeightDescent) === 0;
|
||||
}), 500);
|
||||
|
||||
- name: 2d.text.measure.baselines
|
||||
desc: Testing baselines
|
||||
testing:
|
||||
- 2d.text.measure.baselines
|
||||
fonts:
|
||||
- CanvasTest
|
||||
code: |
|
||||
deferTest();
|
||||
step_timeout(t.step_func_done(function () {
|
||||
ctx.font = '50px CanvasTest';
|
||||
ctx.direction = 'ltr';
|
||||
ctx.align = 'left'
|
||||
@assert Math.abs(ctx.measureText('A').getBaselines().alphabetic) === 0;
|
||||
@assert ctx.measureText('A').getBaselines().ideographic === -39;
|
||||
@assert ctx.measureText('A').getBaselines().hanging === 68;
|
||||
|
||||
@assert Math.abs(ctx.measureText('ABCD').getBaselines().alphabetic) === 0;
|
||||
@assert ctx.measureText('ABCD').getBaselines().ideographic === -39;
|
||||
@assert ctx.measureText('ABCD').getBaselines().hanging === 68;
|
||||
}), 500);
|
||||
|
||||
# TODO: shadows, alpha, composite, clip
|
||||
|
|
|
@ -73,12 +73,18 @@ backgroundFetchTest(async (test, backgroundFetch) => {
|
|||
assert_equals(registration.uploadTotal, 0);
|
||||
assert_equals(registration.uploaded, 0);
|
||||
assert_equals(registration.downloadTotal, 0);
|
||||
assert_equals(registration.state, "pending");
|
||||
assert_equals(registration.failureReason, "");
|
||||
// Skip `downloaded`, as the transfer may have started already.
|
||||
|
||||
const {type, results} = await getMessageFromServiceWorker();
|
||||
const {type, eventRegistration, results} = await getMessageFromServiceWorker();
|
||||
assert_equals('backgroundfetchsuccess', type);
|
||||
assert_equals(results.length, 1);
|
||||
|
||||
assert_equals(eventRegistration.id, registration.id);
|
||||
assert_equals(eventRegistration.state, "success");
|
||||
assert_equals(eventRegistration.failureReason, "");
|
||||
|
||||
assert_true(results[0].url.includes('resources/feature-name.txt'));
|
||||
assert_equals(results[0].status, 200);
|
||||
assert_equals(results[0].text, 'Background Fetch');
|
||||
|
|
|
@ -41,6 +41,8 @@ backgroundFetchTest(async (test, backgroundFetch) => {
|
|||
assert_equals(registration.uploadTotal, 0);
|
||||
assert_equals(registration.uploaded, 0);
|
||||
assert_equals(registration.downloadTotal, 1234);
|
||||
assert_equals(registration.state, "pending");
|
||||
assert_equals(registration.failureReason, "");
|
||||
// Skip `downloaded`, as the transfer may have started already.
|
||||
|
||||
const secondRegistration = await backgroundFetch.get(registrationId);
|
||||
|
|
|
@ -5,6 +5,25 @@ function sendMessageToDocument(msg) {
|
|||
source.postMessage(msg);
|
||||
}
|
||||
|
||||
// This is needed to create a local javascript object identical to the
|
||||
// one returned by a BackgroundFetchEvent, so that it can be serialized
|
||||
// and transmitted from the service worker context to the document.
|
||||
function cloneRegistration(registration) {
|
||||
function deepCopy(src) {
|
||||
if (typeof src !== 'object' || src === null)
|
||||
return src;
|
||||
var dst = Array.isArray(src) ? [] : {};
|
||||
for (var property in src) {
|
||||
if (typeof src[property] === 'function')
|
||||
continue;
|
||||
dst[property] = deepCopy(src[property]);
|
||||
}
|
||||
return dst;
|
||||
}
|
||||
|
||||
return deepCopy(registration);
|
||||
}
|
||||
|
||||
// Notify the document that the SW is registered and ready.
|
||||
self.addEventListener('message', event => {
|
||||
source = event.source;
|
||||
|
|
|
@ -1,20 +1,24 @@
|
|||
|
||||
importScripts('sw-helpers.js');
|
||||
|
||||
async function getFetchResult(settledFetch) {
|
||||
if (!settledFetch.response)
|
||||
async function getFetchResult(record) {
|
||||
response = await record.responseReady;
|
||||
if (!response)
|
||||
return Promise.resolve(null);
|
||||
|
||||
return {
|
||||
url: settledFetch.response.url,
|
||||
status: settledFetch.response.status,
|
||||
text: await settledFetch.response.text(),
|
||||
url: response.url,
|
||||
status: response.status,
|
||||
text: await response.text(),
|
||||
};
|
||||
}
|
||||
|
||||
self.addEventListener('backgroundfetchsuccess', event => {
|
||||
event.waitUntil(
|
||||
event.fetches.values()
|
||||
.then(fetches => Promise.all(fetches.map(fetch => getFetchResult(fetch))))
|
||||
.then(results => sendMessageToDocument({ type: event.type, results })));
|
||||
event.registration.matchAll()
|
||||
.then(records => Promise.all(records.map(record => getFetchResult(record))))
|
||||
.then(results => {
|
||||
const registrationCopy = cloneRegistration(event.registration);
|
||||
sendMessageToDocument({ type: event.type, eventRegistration: registrationCopy, results })
|
||||
}));
|
||||
});
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
test(() => {
|
||||
assert_throws(new TypeError(), () => navigator.sendBeacon("...", new ReadableStream()));
|
||||
}, "sendBeacon() with a stream does not work due to the keepalive flag being set");
|
|
@ -0,0 +1,47 @@
|
|||
<!DOCTYPE html>
|
||||
<title>WebKit-prefixed pseudo-elements</title>
|
||||
<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
|
||||
<link rel="author" title="Mozilla" href="https://www.mozilla.org">
|
||||
<link rel="help" href="https://compat.spec.whatwg.org/#css-webkit-pseudo-elements">
|
||||
<meta name="assert" content="WebKit-prefixed pseudo-elements should always be valid">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<style id="style">
|
||||
#test {
|
||||
color: rgb(255, 0, 0);
|
||||
}
|
||||
span::-webkit-something-invalid, #test, ::-WeBkIt-sOmEtHiNg-NoNeXiSt123 {
|
||||
color: rgb(0, 255, 0);
|
||||
}
|
||||
::-webkitfoo, #test {
|
||||
color: rgb(255, 0, 0);
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<div id="test"></div>
|
||||
<script>
|
||||
test(() => {
|
||||
let elem = document.getElementById("test");
|
||||
assert_equals(getComputedStyle(elem).color, "rgb(0, 255, 0)");
|
||||
}, "rules include webkit-prefixed pseudo-element should be cascaded");
|
||||
|
||||
test(() => {
|
||||
let sheet = document.getElementById("style").sheet;
|
||||
assert_equals(sheet.cssRules[1].selectorText,
|
||||
"span::-webkit-something-invalid, " +
|
||||
"#test, ::-webkit-something-nonexist123");
|
||||
}, "webkit-prefixed pseudo-element selectors should be accessible from CSSOM");
|
||||
|
||||
test(() => {
|
||||
document.querySelector("span::-webkit-something-invalid");
|
||||
document.querySelectorAll("span::-webkit-something-invalid");
|
||||
}, "qS and qSA shouldn't throw exception");
|
||||
|
||||
test(() => {
|
||||
let sheet = document.getElementById("style").sheet;
|
||||
assert_equals(sheet.cssRules.length, 2);
|
||||
assert_throws("SyntaxError", () => document.querySelector("span::-webkitfoo"));
|
||||
assert_throws("SyntaxError", () => document.querySelectorAll("span::-webkitfoo"));
|
||||
}, "webkit-prefix without dash is invalid");
|
||||
</script>
|
||||
</body>
|
14
tests/wpt/web-platform-tests/css/.gitignore
vendored
|
@ -1,8 +1,8 @@
|
|||
dist
|
||||
dist_last
|
||||
build-temp
|
||||
tools/cache
|
||||
tools/_virtualenv
|
||||
/dist
|
||||
/dist_last
|
||||
/build-temp
|
||||
/tools/cache
|
||||
/tools/_virtualenv
|
||||
*.xcodeproj
|
||||
*.DS_Store
|
||||
*.pyc
|
||||
|
@ -11,5 +11,5 @@ tools/_virtualenv
|
|||
*~
|
||||
*.orig
|
||||
*Thumbs.db
|
||||
_certs
|
||||
config.json
|
||||
/_certs
|
||||
/config.json
|
||||
|
|
|
@ -3,4 +3,4 @@
|
|||
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
|
||||
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
|
||||
<title>CSS Test Reference</title>
|
||||
<fieldset style="color: green">P<legend style="padding: 0">legend</legend>ASS</fieldset>
|
||||
<fieldset style="color: green">P<legend>legend</legend>ASS</fieldset>
|
||||
|
|
|
@ -73,8 +73,8 @@ var divScroller = document.getElementById("inner-scroller");
|
|||
var viewport = document.scrollingElement;
|
||||
[
|
||||
[{left: 800}, 1000, 0],
|
||||
[{top: 1200}, 0, 1000],
|
||||
[{left: 1200, top: 800}, 1000, 1000]
|
||||
[{top: 900}, 0, 1000],
|
||||
[{left: 900, top: 800}, 1000, 1000]
|
||||
].forEach(([input, expectedX, expectedY]) => {
|
||||
test(() => {
|
||||
divScroller.scrollTo(0, 0);
|
||||
|
|
|
@ -36,10 +36,10 @@
|
|||
var frameTest = document.getElementById('frameTest');
|
||||
|
||||
// let's resize the iframe vertically only, showing that the vh sizes is not updated.
|
||||
if (height <= 300) {
|
||||
if (height < 300) {
|
||||
|
||||
//frameTest.style.width = height++ + "px";
|
||||
frameTest.style.height = height++ + "px";
|
||||
frameTest.style.height = ++height + "px";
|
||||
|
||||
setTimeout(resizeReference, 10);
|
||||
|
||||
|
|
|
@ -78,8 +78,12 @@
|
|||
|
||||
setTimeout(animate, 20);
|
||||
|
||||
addEventListener('transitionend', function() {
|
||||
parent.postMessage('testBoxWithTransition', '*');
|
||||
addEventListener('transitionend', event => {
|
||||
if (event.propertyName == 'width') {
|
||||
// Stop any further transitons.
|
||||
testBoxWithTransition.style.transitionProperty = 'none';
|
||||
parent.postMessage('testBoxWithTransition', '*');
|
||||
}
|
||||
}, false);
|
||||
var transitionedTestBoxStyle = document.getElementById('testBoxWithTransition').style;
|
||||
transitionedTestBoxStyle.height = "60px";
|
||||
|
|
|
@ -39,10 +39,10 @@
|
|||
var frameTest = document.getElementById('frameTest');
|
||||
|
||||
// let's resize the iframe vertically only, showing that the vh sizes is not updated.
|
||||
if (height <= 300) {
|
||||
if (height < 300) {
|
||||
|
||||
//frameTest.style.width = height++ + "px";
|
||||
frameTest.style.height = height++ + "px";
|
||||
frameTest.style.height = ++height + "px";
|
||||
|
||||
setTimeout(resizeReference, 10);
|
||||
|
||||
|
|
|
@ -1,241 +0,0 @@
|
|||
Since the 3 June 2009 release, the following tests have changed:
|
||||
|
||||
Removed tests:
|
||||
css3-modsel-d5 - :indeterminate
|
||||
css3-modsel-d5a - :indeterminate and :checked
|
||||
css3-modsel-d5b - NEGATED :indeterminate and :checked
|
||||
css3-modsel-d5c - :indeterminate and :checked
|
||||
css3-modsel-d5d - :indeterminate with :checked
|
||||
css3-modsel-d5e - NEGATED :indeterminate with :checked
|
||||
:indeterminate is not part of Selectors Level 3
|
||||
|
||||
------------------------------------------------------------------------
|
||||
Since the 7 March 2006 release, the following tests have changed:
|
||||
|
||||
New tests:
|
||||
css3-modsel-184a - Ends-wth attribute selector with empty value
|
||||
css3-modsel-184b - Starts-with attribute selector with empty value
|
||||
css3-modsel-184c - Contains attribute selector with empty value
|
||||
css3-modsel-184d - NEGATED ends-with attribute selector with empty value
|
||||
css3-modsel-184e - NEGATED starts-with attribute selector with empty value
|
||||
css3-modsel-184f - NEGATED contains attribute selector with empty value
|
||||
Tests to verify that attribute selectors with empty values don't match
|
||||
|
||||
Removed tests:
|
||||
css3-modsel-40 - ::selection pseudo-element
|
||||
css3-modsel-162 - Contextual ::selection
|
||||
css3-modsel-164 - :focus with ::selection
|
||||
css3-modsel-165 - :hover with ::selection
|
||||
::selection has been removed from Selectors Level 3
|
||||
|
||||
------------------------------------------------------------------------
|
||||
Since the 19 October 2005 release, the following tests have changed:
|
||||
|
||||
Modified tests:
|
||||
css3-modsel-6 - Attribute value selector
|
||||
Removed confusing prose and made it a simple pass criteria.
|
||||
|
||||
css3-modsel-18 - :hover pseudo-class
|
||||
Removed test of border-spacing.
|
||||
|
||||
css3-modsel-39a - ::first-letter pseudo-element with ::before pseudo-element
|
||||
css3-modsel-39c - ::first-letter pseudo-element with ::before pseudo-element
|
||||
Changed from background-color to color.
|
||||
|
||||
css3-modsel-161 - Syntax and parsing of unknown pseudo-classes and pseudo-elements
|
||||
Added the metadata making this test an interactive test.
|
||||
|
||||
css3-modsel-d5 - :indeterminate
|
||||
css3-modsel-d5a - :indeterminate and :checked
|
||||
css3-modsel-d5d - :indeterminate with :checked
|
||||
css3-modsel-d5e - NEGATED :indeterminate with :checked
|
||||
Changed so that UAs that do not support styling of form controls
|
||||
can still pass these tests if they support combinators (mark II).
|
||||
|
||||
css3-modsel-d1b - Dynamic handling of :empty
|
||||
Updated to test what the spec actually says (oops).
|
||||
|
||||
Removed tests:
|
||||
css3-modsel-180 - ::first-letter on inlines
|
||||
We changed the spec so that first-letter doesn't apply to
|
||||
inlines, but we don't want to just reverse the test since we want
|
||||
to allow :first-letter to apply to inlines in future.
|
||||
|
||||
|
||||
------------------------------------------------------------------------
|
||||
Since the 3 October 2005 release, the following tests have changed:
|
||||
|
||||
New tests:
|
||||
css3-modsel-27a - Impossible rules (:root:firstchild, etc)
|
||||
css3-modsel-27b - Impossible rules (* html, * :root)
|
||||
A test to verify there are no elements above the root element.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
Since the 16 December 2004 release, the following tests have changed:
|
||||
|
||||
Modified tests:
|
||||
css3-modsel-15c - Multiple IDs
|
||||
css3-modsel-d3 - Dynamic handling of attribute selectors
|
||||
Fixed typos in script.
|
||||
|
||||
css3-modsel-70 - NEGATED :checked pseudo-class
|
||||
css3-modsel-d5b - NEGATED :indeterminate and :checked
|
||||
css3-modsel-d5c - :indeterminate and :checked
|
||||
css3-modsel-d5e - NEGATED :indeterminate with :checked
|
||||
Changed so that UAs that do not support styling of form controls
|
||||
can still pass these tests if they support combinators.
|
||||
|
||||
css3-modsel-66 - NEGATED :target pseudo-class
|
||||
Changed colours so it is less misleading on non-supporting UAs.
|
||||
|
||||
css3-modsel-39b - ::first-letter pseudo-element
|
||||
css3-modsel-39 - ::first-letter pseudo-element
|
||||
css3-modsel-39a - ::first-letter pseudo-element with ::before pseudo-element
|
||||
css3-modsel-39c - ::first-letter pseudo-element with ::before pseudo-element
|
||||
Made their "very long paragraphs" actually be long.
|
||||
|
||||
css3-modsel-84 - :contains() pseudo-class
|
||||
css3-modsel-85 - NEGATED :contains() pseudo-class
|
||||
Made text less misleading about the pass condition.
|
||||
|
||||
Removed tests:
|
||||
css3-modsel-19a - :active pseudo-class on blocks
|
||||
This test tested something that the spec did not specify.
|
||||
|
||||
css3-modsel-84 - :contains() pseudo-class
|
||||
css3-modsel-84b - :contains() pseudo-class
|
||||
css3-modsel-85 - NEGATED :contains() pseudo-class
|
||||
css3-modsel-163 - Contextual :contains
|
||||
Removed since :contains() was removed.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
Since the 10 May 2004 release, the following tests have changed:
|
||||
|
||||
New tests:
|
||||
css3-modsel-15c - Multiple IDs
|
||||
A test that checks if UAs support multiple IDs on the same
|
||||
element. Requires two or more of XHTML, xml:id, and DOM3 Core
|
||||
support. See also the comment in the test itself.
|
||||
|
||||
Modified tests:
|
||||
css3-modsel-90 - Simple combination of direct and indirect adjacent combinators
|
||||
css3-modsel-d3 - Dynamic handling of attribute selectors
|
||||
css3-modsel-15b - Multiple ID selectors
|
||||
Changed to remove false-negative results in some of the test
|
||||
harnesses.
|
||||
|
||||
css3-modsel-25 - :checked pseudo-class
|
||||
Changed so that UAs that do not support styling of form controls
|
||||
can still pass this test if they support combinators.
|
||||
|
||||
css3-modsel-162 - Contextual ::selection
|
||||
Made the pass condition slightly clearer.
|
||||
Fixed the control test to disable styling of all text in that section.
|
||||
|
||||
All tests involving namespace attributes
|
||||
Fixed the generating script so that the tests involving
|
||||
attributes once again have their namespace prefixes declared.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
Since the 21 April 2004 release, the following tests have changed:
|
||||
|
||||
New tests:
|
||||
css3-modsel-183 - Syntax and parsing of class selectors
|
||||
Some more detailed tests for error handling issues known to be
|
||||
broken in some UAs.
|
||||
|
||||
Modified tests:
|
||||
css3-modsel-14b - More than one class selector
|
||||
Expanded the test to catch a few more potential bugs.
|
||||
|
||||
css3-modsel-153 - :empty pseudo-class and CDATA
|
||||
css3-modsel-150 - :empty pseudo-class and XML/SGML constructs
|
||||
Updating :empty tests to match agreed (if as yet unpublished)
|
||||
errata.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
Since the 2 March 2004 release, the following tests have changed:
|
||||
|
||||
New tests:
|
||||
css3-modsel-42a - :after pseudo-element
|
||||
css3-modsel-41a - :before pseudo-element
|
||||
|
||||
Removed tests:
|
||||
css3-modsel-12 - Default attribute value
|
||||
css3-modsel-58 - Default attribute value and negation pseudo-class
|
||||
These tests no longer apply since UAs are now allowed to assume
|
||||
attribute defaulting or to ignore it, basically at will.
|
||||
|
||||
Modified tests:
|
||||
css3-modsel-23 - :enabled pseudo-class
|
||||
css3-modsel-24 - :disabled pseudo-class
|
||||
css3-modsel-28 - :nth-child() pseudo-class
|
||||
css3-modsel-28b - :nth-child() pseudo-class
|
||||
css3-modsel-29 - :nth-last-child() pseudo-class
|
||||
css3-modsel-29b - :nth-last-child() pseudo-class
|
||||
css3-modsel-32 - :first-child pseudo-class
|
||||
css3-modsel-33 - :last-child pseudo-class
|
||||
css3-modsel-68 - NEGATED :enabled pseudo-class
|
||||
css3-modsel-69 - NEGATED :disabled pseudo-class
|
||||
css3-modsel-73 - NEGATED :nth-child() pseudo-class
|
||||
css3-modsel-73b - NEGATED :nth-child() pseudo-class
|
||||
css3-modsel-74 - NEGATED :nth-last-child() pseudo-class
|
||||
css3-modsel-74b - NEGATED :nth-last-child() pseudo-class
|
||||
css3-modsel-77 - NEGATED :first-child pseudo-class
|
||||
css3-modsel-77b - NEGATED :first-child pseudo-class
|
||||
css3-modsel-78 - NEGATED :last-child pseudo-class
|
||||
css3-modsel-78b - NEGATED :last-child pseudo-class
|
||||
css3-modsel-87 - Nondeterministic matching of direct and indirect adjacent combinators
|
||||
css3-modsel-87b - Nondeterministic matching of direct and indirect adjacent combinators
|
||||
css3-modsel-88 - Nondeterministic matching of descendant and direct adjacent combinators
|
||||
css3-modsel-88b - Nondeterministic matching of descendant and direct adjacent combinators
|
||||
css3-modsel-90 - Simple combination of direct and indirect adjacent combinators
|
||||
css3-modsel-90b - Simple combination of direct and indirect adjacent combinators
|
||||
css3-modsel-d1 - NEGATED Dynamic handling of :empty
|
||||
css3-modsel-d1b - NEGATED Dynamic handling of :empty
|
||||
css3-modsel-d2 - Dynamic handling of combinators
|
||||
css3-modsel-d3 - Dynamic handling of attribute selectors
|
||||
css3-modsel-d4 - Dynamic updating of :first-child and :last-child
|
||||
css3-modsel-d5 - :indeterminate
|
||||
css3-modsel-d5a - :indeterminate and :checked
|
||||
css3-modsel-d5b - NEGATED :indeterminate and :checked
|
||||
css3-modsel-d5c - :indeterminate and :checked
|
||||
css3-modsel-d5d - :indeterminate with :checked
|
||||
css3-modsel-d5e - NEGATED :indeterminate with :checked
|
||||
(and some others depending on the test format)
|
||||
Fixed minor standards compliance issues.
|
||||
|
||||
All the non-namespaced XHTML tests
|
||||
Removed some extraneous namespace declarations that made the
|
||||
tests invalid.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
Since the 15 September 2003 release, the following tests have changed:
|
||||
|
||||
New tests:
|
||||
css3-modsel-3a - Universal selector (no namespaces)
|
||||
css3-modsel-18a - :hover pseudo-class on links
|
||||
css3-modsel-18c - :hover pseudo-class on links
|
||||
css3-modsel-19a - :active pseudo-class on blocks
|
||||
css3-modsel-19b - :active pseudo-class on controls
|
||||
css3-modsel-179 - ::first-line on inlines
|
||||
css3-modsel-179a - ::first-line after <br>
|
||||
css3-modsel-180 - ::first-letter on inlines
|
||||
css3-modsel-180a - ::first-letter after <br>
|
||||
css3-modsel-181 - Case sensitivity
|
||||
css3-modsel-182 - Namespaces and \: in selectors
|
||||
|
||||
Modified tests:
|
||||
css3-modsel-21c - :target pseudo-class
|
||||
Fixed to match spec errata.
|
||||
|
||||
css3-modsel-98 - Attribute value selector with declared namespace
|
||||
Added a test to make sure the attribute selectors work without quotes.
|
||||
|
||||
css3-modsel-161 - Syntax and parsing of unknown pseudo-classes and pseudo-elements
|
||||
Added more tests and split up the existing test to catch more possible errors.
|
||||
|
||||
css3-modsel-44 - Child combinator
|
||||
Stylesheet used the wrong property name.
|
||||
|
||||
------------------------------------------------------------------------
|
|
@ -1,52 +0,0 @@
|
|||
##############################################################################
|
||||
# W3C Test Suite Generator #
|
||||
##############################################################################
|
||||
|
||||
## Variables
|
||||
|
||||
DESTINATION_TYPES=$(shell perl generate.pl -v DESTINATION_TYPES)
|
||||
SHELL_TYPES=$(shell perl generate.pl -v SHELL_TYPES)
|
||||
TEST_TYPES=$(shell perl generate.pl -v TEST_TYPES)
|
||||
SOURCE=$(shell ls *.xml)
|
||||
STYLESHEETS=dist/style/tng.css $(shell perl -e 'foreach $$a (qw($(DESTINATION_TYPES))) { print "dist/style/$$a-full.css\ndist/style/$$a-shell.css\n"; }')
|
||||
|
||||
|
||||
## Main Targets
|
||||
|
||||
all: directories cache $(STYLESHEETS) dist/.htaccess dist/CHANGES
|
||||
|
||||
directories: Makefile generate.pl utils/*
|
||||
-rm -rf dist/
|
||||
-rm cache
|
||||
perl -e 'foreach $$a (qw($(DESTINATION_TYPES))) { print `mkdir -p dist/$$a/tests\n`; foreach $$b (qw($(TEST_TYPES))) { print `mkdir -p dist/$$a/$$b/flat\n`; foreach $$c (qw($(SHELL_TYPES))) { print `mkdir -p dist/$$a/$$b/$$c\n`; } } }'
|
||||
mkdir -p dist/style
|
||||
touch directories
|
||||
|
||||
cache: $(SOURCE)
|
||||
perl generate.pl $?
|
||||
|
||||
|
||||
## Support Files
|
||||
|
||||
# (not mentioned in 'all' as there is no README)
|
||||
dist/README: README.dist
|
||||
cp README.dist dist/README
|
||||
|
||||
dist/CHANGES: CHANGES
|
||||
cp CHANGES dist/CHANGES
|
||||
|
||||
dist/style/%.css: %.css
|
||||
cp $< $@
|
||||
|
||||
dist/.htaccess: htaccess
|
||||
cp htaccess dist/.htaccess
|
||||
|
||||
## Phony Targets
|
||||
|
||||
.PHONY: all clean
|
||||
clean:
|
||||
-rm -rf dist/
|
||||
-rm directories
|
||||
-rm cache
|
||||
|
||||
##############################################################################
|
|
@ -1,27 +0,0 @@
|
|||
The format is:
|
||||
|
||||
<csstest xmlns="http://www.example.org/css3tests"
|
||||
def="<put the title of the test here>"
|
||||
module="W3C Selectors"
|
||||
modulename="css3-modsel"
|
||||
number="<put your initials here>-<give each test a unique number>"
|
||||
rev="1.0"
|
||||
date="1-january-1979 <edit the date keeping the format>">
|
||||
<author><!-- Put your name here --></author>
|
||||
<cssrules>
|
||||
/* put the rules here */
|
||||
</cssrules>
|
||||
<code>
|
||||
<p xmlns="http://www.w3.org/1999/xhtml"> Put the test here. </p>
|
||||
</code>
|
||||
</csstest>
|
||||
|
||||
|
||||
You can also use a special <restrict> element in elements in the <code>
|
||||
element, as in:
|
||||
|
||||
<test:restrict xmlns:test="http://www.example.org/css3tests" for="xml xhtml">
|
||||
...
|
||||
</test:restrict>
|
||||
|
||||
See test -d2 for an example.
|
|
@ -1,13 +0,0 @@
|
|||
Some things that need testing:
|
||||
:nth-child(2n+3)
|
||||
:nth-child(2n-2)
|
||||
:nth-child(2n-3)
|
||||
:nth-child(-2n+1)
|
||||
:nth-child(-1n+6)
|
||||
:nth-child(-2)
|
||||
:nth-child(-2n-2)
|
||||
:nth-child(-n-2)
|
||||
summary file
|
||||
|
||||
See also:
|
||||
http://www.w3.org/mid/40B8E7FA.3040409@mit.edu
|
|
@ -1,14 +0,0 @@
|
|||
<csstest def="Groups of selectors" module="W3C Selectors" modulename="css3-modsel" number="1" rev="1.0" date="11-july-2001" xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<cssrules>li,p { background-color : lime }</cssrules>
|
||||
|
||||
<code>
|
||||
<ul xmlns="http://www.w3.org/1999/xhtml">
|
||||
<li>The background of this list item should be green</li>
|
||||
<li>The background of this second list item should be also green</li>
|
||||
</ul>
|
||||
<p xmlns="http://www.w3.org/1999/xhtml">The background of this paragraph should be green.</p>
|
||||
</code>
|
||||
|
||||
</csstest>
|
|
@ -1,14 +0,0 @@
|
|||
<csstest def="Substring matching attribute selector (end)" module="W3C Selectors" modulename="css3-modsel" number="10" rev="1.1" date="12-november-2001" xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b" xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>p { background-color : red }
|
||||
p[title$="bar"] { background-color : lime }</cssrules>
|
||||
|
||||
<code>
|
||||
<p title="foobar" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background because
|
||||
its title attribute ends with "bar"</p>
|
||||
</code>
|
||||
|
||||
</csstest>
|
|
@ -1,20 +0,0 @@
|
|||
<csstest def="Attribute dash-separated value selector with declared namespace" module="W3C Selectors" modulename="css3-modsel" number="100" rev="1.1" date="13-november-2001" xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>@namespace a url(http://www.example.org/a);
|
||||
@namespace b url(http://www.example.org/b);
|
||||
@namespace html url(http://www.w3.org/1999/xhtml);
|
||||
*|p, *|q, *|r, *|s { display : block ; margin-bottom : 1em }
|
||||
*|p, *|r { background-color : red }
|
||||
*|*[a|foo|="bar"], *|*[html|lang|="en"] { background-color : lime }
|
||||
</cssrules>
|
||||
|
||||
<code>
|
||||
<p html:lang="en-us" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background.</p>
|
||||
<q a:foo="bargain-trash" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<r a:foo="bar-drink-glass" xmlns="http://www.example.org/a">This paragraph should have a green background</r>
|
||||
<s b:foo="bar-drink-glass" xmlns="http://www.example.org/b">This paragraph should be unstyled.</s>
|
||||
</code>
|
||||
</csstest>
|
|
@ -1,20 +0,0 @@
|
|||
<csstest def="Attribute dash-separated value selector with declared namespace" module="W3C Selectors" modulename="css3-modsel" number="100b" rev="1.1" date="13-november-2001" xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>@namespace a url(http://www.example.org/a);
|
||||
@namespace b url(http://www.example.org/b);
|
||||
@namespace html url(http://www.w3.org/1999/xhtml);
|
||||
*|p, *|q, *|r, *|s { display : block ; margin-bottom : 1em }
|
||||
*|p, *|r { background-color : lime ! important }
|
||||
*|*[a|foo|="bar"], *|*[html|lang|="en"] { background-color : red }
|
||||
</cssrules>
|
||||
|
||||
<code>
|
||||
<p html:lang="en-us" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background.</p>
|
||||
<q a:foo="bargain-trash" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<r a:foo="bar-drink-glass" xmlns="http://www.example.org/a">This paragraph should have a green background</r>
|
||||
<s b:foo="bar-drink-glass" xmlns="http://www.example.org/b">This paragraph should be unstyled.</s>
|
||||
</code>
|
||||
</csstest>
|
|
@ -1,20 +0,0 @@
|
|||
<csstest def="Substring matching attribute value selector on beginning with declared namespace" module="W3C Selectors" modulename="css3-modsel" number="101" rev="1.1" date="13-november-2001" xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>@namespace a url(http://www.example.org/a);
|
||||
@namespace b url(http://www.example.org/b);
|
||||
@namespace html url(http://www.w3.org/1999/xhtml);
|
||||
*|p, *|q, *|r, *|s { display : block ; margin-bottom : 1em }
|
||||
*|p, *|r { background-color : red }
|
||||
*|*[a|title^="si on"], *|*[title^="si on"] { background-color : lime }
|
||||
</cssrules>
|
||||
|
||||
<code>
|
||||
<p title="si on chantait" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background.</p>
|
||||
<q a:title="et si on chantait" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<r a:title="si on chantait" xmlns="http://www.example.org/a">This paragraph should have a green background.</r>
|
||||
<s b:title="si on chantait" xmlns="http://www.example.org/b">This paragraph should be unstyled.</s>
|
||||
</code>
|
||||
</csstest>
|
|
@ -1,20 +0,0 @@
|
|||
<csstest def="Substring matching attribute value selector on beginning with declared namespace" module="W3C Selectors" modulename="css3-modsel" number="101b" rev="1.1" date="13-november-2001" xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>@namespace a url(http://www.example.org/a);
|
||||
@namespace b url(http://www.example.org/b);
|
||||
@namespace html url(http://www.w3.org/1999/xhtml);
|
||||
*|p, *|q, *|r, *|s { display : block ; margin-bottom : 1em }
|
||||
*|p, *|r { background-color : lime ! important }
|
||||
*|*[a|title^="si on"], *|*[title^="si on"] { background-color : red }
|
||||
</cssrules>
|
||||
|
||||
<code>
|
||||
<p title="si on chantait" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background.</p>
|
||||
<q a:title="et si on chantait" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<r a:title="si on chantait" xmlns="http://www.example.org/a">This paragraph should have a green background.</r>
|
||||
<s b:title="si on chantait" xmlns="http://www.example.org/b">This paragraph should be unstyled.</s>
|
||||
</code>
|
||||
</csstest>
|
|
@ -1,23 +0,0 @@
|
|||
<csstest def="Substring matching attribute value selector on end with declared namespace"
|
||||
module="W3C Selectors" modulename="css3-modsel" number="102" rev="1.1" date="13-november-2001"
|
||||
xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>@namespace a url(http://www.example.org/a);
|
||||
@namespace b url(http://www.example.org/b);
|
||||
@namespace html url(http://www.w3.org/1999/xhtml);
|
||||
*|p, *|q, *|r, *|s { display : block ; margin-bottom : 1em }
|
||||
*|p, *|r { background-color : red }
|
||||
*|*[a|title$="tait"], p[|title$="tait"] { background-color : lime }
|
||||
*|*[|title$="tait"], *|*[html|title$="tait"] { background-color : red }
|
||||
</cssrules>
|
||||
|
||||
<code>
|
||||
<p title="si on chantait" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background.</p>
|
||||
<q xmlns:a="http://www.example.org/a" a:title="si nous chantions" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<r a:title="si on chantait" xmlns="http://www.example.org/a" xmlns:a="http://www.example.org/a">This paragraph should have a green background.</r>
|
||||
<s b:title="si on chantait" xmlns="http://www.example.org/b" xmlns:b="http://www.example.org/b">This paragraph should be unstyled.</s>
|
||||
</code>
|
||||
</csstest>
|
|
@ -1,22 +0,0 @@
|
|||
<csstest def="Substring matching attribute value selector on end with declared namespace"
|
||||
module="W3C Selectors" modulename="css3-modsel" number="102b" rev="1.1" date="13-november-2001"
|
||||
xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>@namespace a url(http://www.example.org/a);
|
||||
@namespace b url(http://www.example.org/b);
|
||||
@namespace html url(http://www.w3.org/1999/xhtml);
|
||||
*|p, *|q, *|r, *|s { display : block ; margin-bottom : 1em }
|
||||
*|p, *|r { background-color : lime ! important }
|
||||
*|*[a|title$="tait"], *|*[html|title$="tait"] { background-color : red }
|
||||
</cssrules>
|
||||
|
||||
<code>
|
||||
<p title="si on chantait" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background</p>
|
||||
<q xmlns:a="http://www.example.org/a" a:title="si nous chantions" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<r a:title="si on chantait" xmlns="http://www.example.org/a" xmlns:a="http://www.example.org/a">This paragraph should have a green background.</r>
|
||||
<s b:title="si on chantait" xmlns="http://www.example.org/b" xmlns:b="http://www.example.org/b">This paragraph should be unstyled.</s>
|
||||
</code>
|
||||
</csstest>
|
|
@ -1,21 +0,0 @@
|
|||
<csstest def="Substring matching attribute value selector on middle with declared namespace" module="W3C Selectors" modulename="css3-modsel" number="103" rev="1.1" date="13-november-2001" xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>@namespace a url(http://www.example.org/a);
|
||||
@namespace b url(http://www.example.org/b);
|
||||
@namespace html url(http://www.w3.org/1999/xhtml);
|
||||
*|p, *|q, *|r, *|s { display : block ; margin-bottom : 1em }
|
||||
*|p, *|r { background-color : red }
|
||||
*|*[a|title*="hanta"], p[|title*="hanta"] { background-color : lime }
|
||||
*|*[|title*="hanta"], *|*[html|title*="hanta"] { background-color : red }
|
||||
</cssrules>
|
||||
|
||||
<code>
|
||||
<p title="si on chantait" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background.</p>
|
||||
<q a:title="si nous chantions" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<r a:title="si on chantait" xmlns="http://www.example.org/a">This paragraph should have a green background.</r>
|
||||
<s b:title="si on chantait" xmlns="http://www.example.org/b">This paragraph should be unstyled.</s>
|
||||
</code>
|
||||
</csstest>
|
|
@ -1,20 +0,0 @@
|
|||
<csstest def="Substring matching attribute value selector on middle with declared namespace" module="W3C Selectors" modulename="css3-modsel" number="103b" rev="1.1" date="13-november-2001" xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>@namespace a url(http://www.example.org/a);
|
||||
@namespace b url(http://www.example.org/b);
|
||||
@namespace html url(http://www.w3.org/1999/xhtml);
|
||||
*|p, *|q, *|r, *|s { display : block ; margin-bottom : 1em }
|
||||
*|p, *|r { background-color : lime ! important }
|
||||
*|*[a|title*="hanta"], *|*[html|title*="hanta"] { background-color : red }
|
||||
</cssrules>
|
||||
|
||||
<code>
|
||||
<p title="si on chantait" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background.</p>
|
||||
<q a:title="si nous chantions" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<r a:title="si on chantait" xmlns="http://www.example.org/a">This paragraph should have a green background.</r>
|
||||
<s b:title="si on chantait" xmlns="http://www.example.org/b">This paragraph should be unstyled.</s>
|
||||
</code>
|
||||
</csstest>
|
|
@ -1,20 +0,0 @@
|
|||
<csstest def="Attribute existence selector with universal namespace" module="W3C Selectors" modulename="css3-modsel" number="104" rev="1.1" date="13-november-2001" xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>@namespace a url(http://www.example.org/a);
|
||||
@namespace b url(http://www.example.org/b);
|
||||
@namespace html url(http://www.w3.org/1999/xhtml);
|
||||
*|p, *|q, *|r, *|s { display : block ; margin-bottom : 1em }
|
||||
*|p, *|r, *|s { background-color : red }
|
||||
*|*[*|title] { background-color : lime }
|
||||
</cssrules>
|
||||
|
||||
<code>
|
||||
<p title="si on chantait" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background</p>
|
||||
<q a:foo="si on chantait" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<r a:title="si on chantait" xmlns="http://www.example.org/a">This paragraph should have a green background</r>
|
||||
<s b:title="si on chantait" xmlns="http://www.example.org/b">This paragraph should have a green background</s>
|
||||
</code>
|
||||
</csstest>
|
|
@ -1,20 +0,0 @@
|
|||
<csstest def="Attribute existence selector with universal namespace" module="W3C Selectors" modulename="css3-modsel" number="104b" rev="1.1" date="13-november-2001" xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>@namespace a url(http://www.example.org/a);
|
||||
@namespace b url(http://www.example.org/b);
|
||||
@namespace html url(http://www.w3.org/1999/xhtml);
|
||||
*|p, *|q, *|r, *|s { display : block ; margin-bottom : 1em }
|
||||
*|p, *|r, *|s { background-color : lime ! important }
|
||||
*|*[*|title] { background-color : red }
|
||||
</cssrules>
|
||||
|
||||
<code>
|
||||
<p title="si on chantait" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background</p>
|
||||
<q a:foo="si on chantait" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<r a:title="si on chantait" xmlns="http://www.example.org/a">This paragraph should have a green background</r>
|
||||
<s b:title="si on chantait" xmlns="http://www.example.org/b">This paragraph should have a green background</s>
|
||||
</code>
|
||||
</csstest>
|
|
@ -1,21 +0,0 @@
|
|||
<csstest def="Attribute value selector with universal namespace" module="W3C Selectors" modulename="css3-modsel" number="105" rev="1.1" date="13-november-2001" xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>@namespace a url(http://www.example.org/a);
|
||||
@namespace b url(http://www.example.org/b);
|
||||
@namespace html url(http://www.w3.org/1999/xhtml);
|
||||
*|p, *|q, *|r, *|s { display : block ; margin-bottom : 1em }
|
||||
*|p, *|r, *|s { background-color : red }
|
||||
*|*[*|title="si on chantait"] { background-color : lime }
|
||||
</cssrules>
|
||||
|
||||
<code>
|
||||
<p title="si on chantait" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background.</p>
|
||||
<q a:foo="si on chantait" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<q a:title="si nous chantions" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<r a:title="si on chantait" xmlns="http://www.example.org/a">This paragraph should have a green background.</r>
|
||||
<s b:title="si on chantait" xmlns="http://www.example.org/b">This paragraph should have a green background.</s>
|
||||
</code>
|
||||
</csstest>
|
|
@ -1,21 +0,0 @@
|
|||
<csstest def="Attribute value selector with universal namespace" module="W3C Selectors" modulename="css3-modsel" number="105b" rev="1.1" date="13-november-2001" xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>@namespace a url(http://www.example.org/a);
|
||||
@namespace b url(http://www.example.org/b);
|
||||
@namespace html url(http://www.w3.org/1999/xhtml);
|
||||
*|p, *|q, *|r, *|s { display : block ; margin-bottom : 1em }
|
||||
*|p, *|r, *|s { background-color : lime ! important }
|
||||
*|*[*|title="si on chantait"] { background-color : red }
|
||||
</cssrules>
|
||||
|
||||
<code>
|
||||
<p title="si on chantait" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background.</p>
|
||||
<q a:foo="si on chantait" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<q a:title="si nous chantions" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<r a:title="si on chantait" xmlns="http://www.example.org/a">This paragraph should have a green background.</r>
|
||||
<s b:title="si on chantait" xmlns="http://www.example.org/b">This paragraph should have a green background.</s>
|
||||
</code>
|
||||
</csstest>
|
|
@ -1,21 +0,0 @@
|
|||
<csstest def="Attribute space-separated value selector with universal namespace" module="W3C Selectors" modulename="css3-modsel" number="106" rev="1.1" date="13-november-2001" xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>@namespace a url(http://www.example.org/a);
|
||||
@namespace b url(http://www.example.org/b);
|
||||
@namespace html url(http://www.w3.org/1999/xhtml);
|
||||
*|p, *|q, *|r, *|s { display : block ; margin-bottom : 1em }
|
||||
*|p, *|r, *|s { background-color : red }
|
||||
*|*[*|class~="deux"], *|*[*|foo~="deux"] { background-color : lime }
|
||||
</cssrules>
|
||||
|
||||
<code>
|
||||
<p class="un deux trois" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background.</p>
|
||||
<q a:bar="un deux trois" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<q a:foo="un second deuxieme trois" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<r a:foo="un deux trois" xmlns="http://www.example.org/a">This paragraph should have a green background.</r>
|
||||
<s b:foo="un deux trois" xmlns="http://www.example.org/b">This paragraph should have a green background.</s>
|
||||
</code>
|
||||
</csstest>
|
|
@ -1,21 +0,0 @@
|
|||
<csstest def="Attribute space-separated value selector with universal namespace" module="W3C Selectors" modulename="css3-modsel" number="106b" rev="1.1" date="13-november-2001" xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>@namespace a url(http://www.example.org/a);
|
||||
@namespace b url(http://www.example.org/b);
|
||||
@namespace html url(http://www.w3.org/1999/xhtml);
|
||||
*|p, *|q, *|r, *|s { display : block ; margin-bottom : 1em }
|
||||
*|p, *|r, *|s { background-color : lime ! important }
|
||||
*|*[*|class~="deux"], *|*[*|foo~="deux"] { background-color : red }
|
||||
</cssrules>
|
||||
|
||||
<code>
|
||||
<p class="un deux trois" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background.</p>
|
||||
<q a:bar="un deux trois" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<q a:foo="un second deuxieme trois" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<r a:foo="un deux trois" xmlns="http://www.example.org/a">This paragraph should have a green background.</r>
|
||||
<s b:foo="un deux trois" xmlns="http://www.example.org/b">This paragraph should have a green background.</s>
|
||||
</code>
|
||||
</csstest>
|
|
@ -1,21 +0,0 @@
|
|||
<csstest def="Attribute dash-separated value selector with universal namespace" module="W3C Selectors" modulename="css3-modsel" number="107" rev="1.1" date="13-november-2001" xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>@namespace a url(http://www.example.org/a);
|
||||
@namespace b url(http://www.example.org/b);
|
||||
@namespace html url(http://www.w3.org/1999/xhtml);
|
||||
*|p, *|q, *|r, *|s { display : block ; margin-bottom : 1em }
|
||||
*|p, *|r { background-color : red }
|
||||
*|*[*|lang|="en"], *|*[a|foo|="un-d"] { background-color : lime }
|
||||
</cssrules>
|
||||
|
||||
<code>
|
||||
<p lang="en-us" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background</p>
|
||||
<q a:foo="un-deux-trois" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<q a:foo="un-second-deuxieme-trois" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<r a:foo="un-d-trois" xmlns="http://www.example.org/a">This paragraph should have a green background.</r>
|
||||
<s b:foo="un-d-trois" xmlns="http://www.example.org/b">This paragraph should be unstyled.</s>
|
||||
</code>
|
||||
</csstest>
|
|
@ -1,21 +0,0 @@
|
|||
<csstest def="Attribute dash-separated value selector with universal namespace" module="W3C Selectors" modulename="css3-modsel" number="107b" rev="1.1" date="13-november-2001" xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>@namespace a url(http://www.example.org/a);
|
||||
@namespace b url(http://www.example.org/b);
|
||||
@namespace html url(http://www.w3.org/1999/xhtml);
|
||||
*|p, *|q, *|r, *|s { display : block ; margin-bottom : 1em }
|
||||
*|p, *|r { background-color : lime ! important }
|
||||
*|*[*|lang|="en"], *|*[a|foo|="un-d"] { background-color : red }
|
||||
</cssrules>
|
||||
|
||||
<code>
|
||||
<p lang="en-us" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background</p>
|
||||
<q a:foo="un-deux-trois" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<q a:foo="un-second-deuxieme-trois" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<r a:foo="un-d-trois" xmlns="http://www.example.org/a">This paragraph should have a green background.</r>
|
||||
<s b:foo="un-d-trois" xmlns="http://www.example.org/b">This paragraph should be unstyled.</s>
|
||||
</code>
|
||||
</csstest>
|
|
@ -1,20 +0,0 @@
|
|||
<csstest def="Substring matching attribute selector on beginning with universal namespace" module="W3C Selectors" modulename="css3-modsel" number="108" rev="1.1" date="13-november-2001" xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>@namespace a url(http://www.example.org/a);
|
||||
@namespace b url(http://www.example.org/b);
|
||||
@namespace html url(http://www.w3.org/1999/xhtml);
|
||||
*|p, *|q, *|r, *|s, *|t{ display : block ; margin-bottom : 1em }
|
||||
*|p, *|r, *|s { background-color : red }
|
||||
*|*[*|title^="si on"] { background-color : lime }</cssrules>
|
||||
|
||||
<code>
|
||||
<p title="si on chantait" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background.</p>
|
||||
<q a:title="si nous chantions" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<r a:title="si on chantait" xmlns="http://www.example.org/a">This paragraph should have a green background.</r>
|
||||
<s b:title="si on chantait" xmlns="http://www.example.org/b">This paragraph should have a green background.</s>
|
||||
<t b:ti="si on chantait" xmlns="http://www.example.org/b">This paragraph should be unstyled.</t>
|
||||
</code>
|
||||
</csstest>
|
|
@ -1,20 +0,0 @@
|
|||
<csstest def="Substring matching attribute selector on beginning with universal namespace" module="W3C Selectors" modulename="css3-modsel" number="108b" rev="1.1" date="13-november-2001" xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>@namespace a url(http://www.example.org/a);
|
||||
@namespace b url(http://www.example.org/b);
|
||||
@namespace html url(http://www.w3.org/1999/xhtml);
|
||||
*|p, *|q, *|r, *|s, *|t{ display : block ; margin-bottom : 1em }
|
||||
*|p, *|r, *|s { background-color : lime ! important }
|
||||
*|*[*|title^="si on"] { background-color : red }</cssrules>
|
||||
|
||||
<code>
|
||||
<p title="si on chantait" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background.</p>
|
||||
<q a:title="si nous chantions" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<r a:title="si on chantait" xmlns="http://www.example.org/a">This paragraph should have a green background.</r>
|
||||
<s b:title="si on chantait" xmlns="http://www.example.org/b">This paragraph should have a green background.</s>
|
||||
<t b:ti="si on chantait" xmlns="http://www.example.org/b">This paragraph should be unstyled.</t>
|
||||
</code>
|
||||
</csstest>
|
|
@ -1,20 +0,0 @@
|
|||
<csstest def="Substring matching attribute selector on end with universal namespace" module="W3C Selectors" modulename="css3-modsel" number="109" rev="1.1" date="13-november-2001" xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>@namespace a url(http://www.example.org/a);
|
||||
@namespace b url(http://www.example.org/b);
|
||||
@namespace html url(http://www.w3.org/1999/xhtml);
|
||||
*|p, *|q, *|r, *|s, *|t{ display : block ; margin-bottom : 1em }
|
||||
*|p, *|r, *|s { background-color : red }
|
||||
*|*[*|title$="tait"] { background-color : lime }</cssrules>
|
||||
|
||||
<code>
|
||||
<p title="si on chantait" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background.</p>
|
||||
<q a:title="si nous chantions" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<r a:title="si on chantait" xmlns="http://www.example.org/a">This paragraph should have a green background.</r>
|
||||
<s b:title="si on chantait" xmlns="http://www.example.org/b">This paragraph should have a green background.</s>
|
||||
<t b:ti="si on chantait" xmlns="http://www.example.org/b">This paragraph should be unstyled.</t>
|
||||
</code>
|
||||
</csstest>
|
|
@ -1,20 +0,0 @@
|
|||
<csstest def="Substring matching attribute selector on end with universal namespace" module="W3C Selectors" modulename="css3-modsel" number="109b" rev="1.1" date="13-november-2001" xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>@namespace a url(http://www.example.org/a);
|
||||
@namespace b url(http://www.example.org/b);
|
||||
@namespace html url(http://www.w3.org/1999/xhtml);
|
||||
*|p, *|q, *|r, *|s, *|t{ display : block ; margin-bottom : 1em }
|
||||
*|p, *|r, *|s { background-color : lime ! important }
|
||||
*|*[*|title$="tait"] { background-color : red }</cssrules>
|
||||
|
||||
<code>
|
||||
<p title="si on chantait" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background.</p>
|
||||
<q a:title="si nous chantions" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<r a:title="si on chantait" xmlns="http://www.example.org/a">This paragraph should have a green background.</r>
|
||||
<s b:title="si on chantait" xmlns="http://www.example.org/b">This paragraph should have a green background.</s>
|
||||
<t b:ti="si on chantait" xmlns="http://www.example.org/b">This paragraph should be unstyled.</t>
|
||||
</code>
|
||||
</csstest>
|
|
@ -1,14 +0,0 @@
|
|||
<csstest def="Substring matching attribute selector (contains)" module="W3C Selectors" modulename="css3-modsel" number="11" rev="1.1" date="12-november-2001" xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b" xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>p { background-color : red }
|
||||
p[title*="bar"] { background-color : lime }</cssrules>
|
||||
|
||||
<code>
|
||||
<p title="foobarufoo" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background because
|
||||
its title attribute contains "bar"</p>
|
||||
</code>
|
||||
|
||||
</csstest>
|
|
@ -1,20 +0,0 @@
|
|||
<csstest def="Substring matching attribute selector on middle with universal namespace" module="W3C Selectors" modulename="css3-modsel" number="110" rev="1.1" date="13-november-2001" xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.example.org/css3tests">
|
||||
|
||||
<author>Daniel Glazman</author>
|
||||
<author>Ian Hickson</author>
|
||||
|
||||
<cssrules>@namespace a url(http://www.example.org/a);
|
||||
@namespace b url(http://www.example.org/b);
|
||||
@namespace html url(http://www.w3.org/1999/xhtml);
|
||||
*|p, *|q, *|r, *|s, *|t{ display : block ; margin-bottom : 1em }
|
||||
*|p, *|r, *|s { background-color : red }
|
||||
*|*[*|title*="on ch"] { background-color : lime }</cssrules>
|
||||
|
||||
<code>
|
||||
<p title="si on chantait" xmlns="http://www.w3.org/1999/xhtml">This paragraph should have a green background.</p>
|
||||
<q a:title="si nous chantions" xmlns="http://www.example.org/a">This paragraph should be unstyled.</q>
|
||||
<r a:title="si on chantait" xmlns="http://www.example.org/a">This paragraph should have a green background.</r>
|
||||
<s b:title="si on chantait" xmlns="http://www.example.org/b">This paragraph should have a green background.</s>
|
||||
<t b:ti="si on chantait" xmlns="http://www.example.org/b">This paragraph should be unstyled.</t>
|
||||
</code>
|
||||
</csstest>
|