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]
|
[font-size intermediate]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
[border-top-width end]
|
[bottom intermediate]
|
||||||
expected: FAIL
|
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"]
|
[XHTML img usemap="http://example.org/#garbage-before-hash-id"]
|
||||||
expected: FAIL
|
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]
|
[picture: source (max-width:500px) broken image, img broken image, onload, narrow]
|
||||||
expected: FAIL
|
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]
|
[picture: source (max-width:500px) broken image, img valid image, onload, narrow]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -28,9 +25,6 @@
|
||||||
[picture: source (max-width:500px) valid image, img broken image, onload, narrow]
|
[picture: source (max-width:500px) valid image, img broken image, onload, narrow]
|
||||||
expected: FAIL
|
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]
|
[picture: source (max-width:500px) valid image, img valid image, onload, narrow]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -55,15 +49,9 @@
|
||||||
[picture: source (max-width:500px) broken image, img broken image, onload, wide]
|
[picture: source (max-width:500px) broken image, img broken image, onload, wide]
|
||||||
expected: FAIL
|
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]
|
[picture: source (max-width:500px) broken image, img valid image, onload, wide]
|
||||||
expected: FAIL
|
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]
|
[picture: source (max-width:500px) valid image, img broken image, onload, wide]
|
||||||
expected: FAIL
|
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]
|
[request.formData() with input: a&b&c]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[request.formData() with input: a=b&c=d&]
|
[request.formData() with input: &&&a=b&&&&c=d&]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[request.formData() with input: a=b&c=d]
|
[response.formData() with input: &&&a=b&&&&c=d&]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[response.formData() with input: a=b&c=d&]
|
[response.formData() with input: a=b&c=d]
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[response.formData() with input: _charset_=windows-1252&test=%C2x]
|
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
||||||
|
@ -25,15 +22,15 @@
|
||||||
[request.formData() with input: a&b&c]
|
[request.formData() with input: a&b&c]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[request.formData() with input: _charset_=windows-1252&test=%C2x]
|
[response.formData() with input: a=b&c=d&]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[response.formData() with input: _charset_=windows-1252&test=%C2x]
|
[request.formData() with input: a=b&c=d]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[request.formData() with input: &&&a=b&&&&c=d&]
|
[response.formData() with input: a=b&c=d]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[response.formData() with input: &&&a=b&&&&c=d&]
|
[request.formData() with input: a=b&c=d&]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
[sharedworker-in-worker.html]
|
[sharedworker-in-worker.html]
|
||||||
|
expected: ERROR
|
||||||
[Base URL in workers: new SharedWorker()]
|
[Base URL in workers: new SharedWorker()]
|
||||||
expected: FAIL
|
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
|
@assert ctx.measureText('AB ').width === 100; @moz-todo
|
||||||
}), 500);
|
}), 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
|
# TODO: shadows, alpha, composite, clip
|
||||||
|
|
|
@ -73,12 +73,18 @@ backgroundFetchTest(async (test, backgroundFetch) => {
|
||||||
assert_equals(registration.uploadTotal, 0);
|
assert_equals(registration.uploadTotal, 0);
|
||||||
assert_equals(registration.uploaded, 0);
|
assert_equals(registration.uploaded, 0);
|
||||||
assert_equals(registration.downloadTotal, 0);
|
assert_equals(registration.downloadTotal, 0);
|
||||||
|
assert_equals(registration.state, "pending");
|
||||||
|
assert_equals(registration.failureReason, "");
|
||||||
// Skip `downloaded`, as the transfer may have started already.
|
// 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('backgroundfetchsuccess', type);
|
||||||
assert_equals(results.length, 1);
|
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_true(results[0].url.includes('resources/feature-name.txt'));
|
||||||
assert_equals(results[0].status, 200);
|
assert_equals(results[0].status, 200);
|
||||||
assert_equals(results[0].text, 'Background Fetch');
|
assert_equals(results[0].text, 'Background Fetch');
|
||||||
|
|
|
@ -41,6 +41,8 @@ backgroundFetchTest(async (test, backgroundFetch) => {
|
||||||
assert_equals(registration.uploadTotal, 0);
|
assert_equals(registration.uploadTotal, 0);
|
||||||
assert_equals(registration.uploaded, 0);
|
assert_equals(registration.uploaded, 0);
|
||||||
assert_equals(registration.downloadTotal, 1234);
|
assert_equals(registration.downloadTotal, 1234);
|
||||||
|
assert_equals(registration.state, "pending");
|
||||||
|
assert_equals(registration.failureReason, "");
|
||||||
// Skip `downloaded`, as the transfer may have started already.
|
// Skip `downloaded`, as the transfer may have started already.
|
||||||
|
|
||||||
const secondRegistration = await backgroundFetch.get(registrationId);
|
const secondRegistration = await backgroundFetch.get(registrationId);
|
||||||
|
|
|
@ -5,6 +5,25 @@ function sendMessageToDocument(msg) {
|
||||||
source.postMessage(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.
|
// Notify the document that the SW is registered and ready.
|
||||||
self.addEventListener('message', event => {
|
self.addEventListener('message', event => {
|
||||||
source = event.source;
|
source = event.source;
|
||||||
|
|
|
@ -1,20 +1,24 @@
|
||||||
|
|
||||||
importScripts('sw-helpers.js');
|
importScripts('sw-helpers.js');
|
||||||
|
|
||||||
async function getFetchResult(settledFetch) {
|
async function getFetchResult(record) {
|
||||||
if (!settledFetch.response)
|
response = await record.responseReady;
|
||||||
|
if (!response)
|
||||||
return Promise.resolve(null);
|
return Promise.resolve(null);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
url: settledFetch.response.url,
|
url: response.url,
|
||||||
status: settledFetch.response.status,
|
status: response.status,
|
||||||
text: await settledFetch.response.text(),
|
text: await response.text(),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
self.addEventListener('backgroundfetchsuccess', event => {
|
self.addEventListener('backgroundfetchsuccess', event => {
|
||||||
event.waitUntil(
|
event.waitUntil(
|
||||||
event.fetches.values()
|
event.registration.matchAll()
|
||||||
.then(fetches => Promise.all(fetches.map(fetch => getFetchResult(fetch))))
|
.then(records => Promise.all(records.map(record => getFetchResult(record))))
|
||||||
.then(results => sendMessageToDocument({ type: event.type, results })));
|
.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
|
||||||
dist_last
|
/dist_last
|
||||||
build-temp
|
/build-temp
|
||||||
tools/cache
|
/tools/cache
|
||||||
tools/_virtualenv
|
/tools/_virtualenv
|
||||||
*.xcodeproj
|
*.xcodeproj
|
||||||
*.DS_Store
|
*.DS_Store
|
||||||
*.pyc
|
*.pyc
|
||||||
|
@ -11,5 +11,5 @@ tools/_virtualenv
|
||||||
*~
|
*~
|
||||||
*.orig
|
*.orig
|
||||||
*Thumbs.db
|
*Thumbs.db
|
||||||
_certs
|
/_certs
|
||||||
config.json
|
/config.json
|
||||||
|
|
|
@ -3,4 +3,4 @@
|
||||||
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
|
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
|
||||||
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
|
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
|
||||||
<title>CSS Test Reference</title>
|
<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;
|
var viewport = document.scrollingElement;
|
||||||
[
|
[
|
||||||
[{left: 800}, 1000, 0],
|
[{left: 800}, 1000, 0],
|
||||||
[{top: 1200}, 0, 1000],
|
[{top: 900}, 0, 1000],
|
||||||
[{left: 1200, top: 800}, 1000, 1000]
|
[{left: 900, top: 800}, 1000, 1000]
|
||||||
].forEach(([input, expectedX, expectedY]) => {
|
].forEach(([input, expectedX, expectedY]) => {
|
||||||
test(() => {
|
test(() => {
|
||||||
divScroller.scrollTo(0, 0);
|
divScroller.scrollTo(0, 0);
|
||||||
|
|
|
@ -36,10 +36,10 @@
|
||||||
var frameTest = document.getElementById('frameTest');
|
var frameTest = document.getElementById('frameTest');
|
||||||
|
|
||||||
// let's resize the iframe vertically only, showing that the vh sizes is not updated.
|
// 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.width = height++ + "px";
|
||||||
frameTest.style.height = height++ + "px";
|
frameTest.style.height = ++height + "px";
|
||||||
|
|
||||||
setTimeout(resizeReference, 10);
|
setTimeout(resizeReference, 10);
|
||||||
|
|
||||||
|
|
|
@ -78,8 +78,12 @@
|
||||||
|
|
||||||
setTimeout(animate, 20);
|
setTimeout(animate, 20);
|
||||||
|
|
||||||
addEventListener('transitionend', function() {
|
addEventListener('transitionend', event => {
|
||||||
parent.postMessage('testBoxWithTransition', '*');
|
if (event.propertyName == 'width') {
|
||||||
|
// Stop any further transitons.
|
||||||
|
testBoxWithTransition.style.transitionProperty = 'none';
|
||||||
|
parent.postMessage('testBoxWithTransition', '*');
|
||||||
|
}
|
||||||
}, false);
|
}, false);
|
||||||
var transitionedTestBoxStyle = document.getElementById('testBoxWithTransition').style;
|
var transitionedTestBoxStyle = document.getElementById('testBoxWithTransition').style;
|
||||||
transitionedTestBoxStyle.height = "60px";
|
transitionedTestBoxStyle.height = "60px";
|
||||||
|
|
|
@ -39,10 +39,10 @@
|
||||||
var frameTest = document.getElementById('frameTest');
|
var frameTest = document.getElementById('frameTest');
|
||||||
|
|
||||||
// let's resize the iframe vertically only, showing that the vh sizes is not updated.
|
// 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.width = height++ + "px";
|
||||||
frameTest.style.height = height++ + "px";
|
frameTest.style.height = ++height + "px";
|
||||||
|
|
||||||
setTimeout(resizeReference, 10);
|
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>
|
|