Update web-platform-tests to revision 4333a1d2f109795547fc5e22ebfc8481fa649de7

This commit is contained in:
WPT Sync Bot 2018-06-22 21:05:34 -04:00
parent 728ebcc932
commit 8c46b67f8e
456 changed files with 10561 additions and 5108 deletions

View file

@ -0,0 +1,4 @@
#target {
--reg-alt-non-inherited-url: url(foo.jpg);
--reg-alt-non-inherited-func: url("foo.jpg");
}

View file

@ -0,0 +1,11 @@
function reg_url(name, inherits) {
CSS.registerProperty({
name: name,
syntax: '<url> | none',
inherits: inherits,
initialValue: 'none'
});
}
reg_url('--reg-alt-non-inherited-url', false);
reg_url('--reg-alt-non-inherited-func', false);

View file

@ -0,0 +1,22 @@
#target {
--unreg-url: url(foo.jpg);
--unreg-func: url("foo.jpg");
--reg-inherited-url: url(foo.jpg);
--reg-non-inherited-url: url(foo.jpg);
--reg-inherited-func: url("foo.jpg");
--reg-non-inherited-func: url("foo.jpg");
--reg-ref-to-unreg-url: var(--unreg-url);
--reg-ref-to-unreg-func: var(--unreg-func);
--reg-ref-to-reg-url: var(--reg-alt-non-inherited-url);
--reg-ref-to-reg-func: var(--reg-alt-non-inherited-func);
--unreg-ref-to-reg-url: var(--reg-alt-non-inherited-url);
--unreg-ref-to-reg-func: var(--reg-alt-non-inherited-func);
--unreg-multi-ref-to-reg-urls: var(--reg-non-inherited-url), var(--reg-alt-non-inherited-url);
--unreg-multi-ref-to-reg-funcs: var(--reg-non-inherited-func), var(--reg-alt-non-inherited-func);
}

View file

@ -0,0 +1,25 @@
function reg_url(name, inherits) {
CSS.registerProperty({
name: name,
syntax: '<url> | none',
inherits: inherits,
initialValue: 'none'
});
}
reg_url('--reg-non-inherited-url', false);
reg_url('--reg-non-inherited-func', false);
reg_url('--reg-inherited-url', true);
reg_url('--reg-inherited-func', true);
reg_url('--reg-ref-to-unreg-url', false);
reg_url('--reg-ref-to-unreg-func', false);
reg_url('--reg-ref-to-reg-url', false);
reg_url('--reg-ref-to-reg-func', false);
reg_url('--reg-merged-func', false);
reg_url('--reg-utf16be-url', false);
reg_url('--reg-utf16be-func', false);

View file

@ -0,0 +1,139 @@
<!DOCTYPE html>
<link rel="author" title="Anders Hartvoll Ruud" href="andruud@chromium.org">
<!-- TODO(andruud): Replace help link when spec is updated. -->
<link rel="help" href="https://github.com/w3c/css-houdini-drafts/issues/393#issuecomment-294706386" />
<meta name="assert" content="This test verifies that relative URLs in registered properties resolve correctly" />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/main/main.js"></script>
<script src="support/alt/alt.js"></script>
<link id="main" rel="stylesheet" type="text/css" href="support/main/main.css" />
<link id="main_utf16be" rel="stylesheet" type="text/css" href="support/main/main.utf16be.css" />
<link id="alt" rel="stylesheet" type="text/css" href="support/alt/alt.css" />
<div id=target>
<div id=inner></div>
</div>
<script>
function parse_url(urlstr) {
urlstr = urlstr.trim();
if (!urlstr.startsWith('url("') || !urlstr.endsWith('")'))
throw 'Unknown url format: ' + urlstr;
return urlstr.slice(5, -2);
}
function get_bg_url(element) {
return parse_url(getComputedStyle(element)['background-image']);
}
function get_bg_urls(element) {
return getComputedStyle(element)['background-image']
.split(',')
.map(x => x.trim())
.map(x => parse_url(x));
}
function assert_base_path_equal(actual, expected) {
let actual_base = new URL(actual).pathname.split('/').slice(0, -1);
let expected_base = new URL(expected).pathname.split('/').slice(0, -1);
assert_equals(actual_base.join('/'), expected_base.join('/'));
}
function assert_base_paths_equal(actual, expected) {
assert_equals(actual.length, expected.length);
for (let i = 0; i < actual.length; i++) {
assert_base_path_equal(actual[i], expected[i]);
}
}
test(function() {
target.style = 'background-image: var(--unreg-url);';
assert_base_path_equal(get_bg_url(target), document.baseURI);
}, 'Unregistered property resolves against document (URL token)');
test(function() {
target.style = 'background-image: var(--unreg-func);';
assert_base_path_equal(get_bg_url(target), document.baseURI);
}, 'Unregistered property resolves against document (URL function)');
test(function() {
target.style = 'background-image: var(--reg-non-inherited-url);';
assert_base_path_equal(get_bg_url(target), main.sheet.href);
}, 'Registered non-inherited <url> resolves against sheet (URL token)');
test(function() {
target.style = 'background-image: var(--reg-non-inherited-func);';
assert_base_path_equal(get_bg_url(target), main.sheet.href);
}, 'Registered non-inherited <url> resolves against sheet (URL function)');
test(function() {
target.style = 'background-image: var(--reg-inherited-url);';
assert_base_path_equal(get_bg_url(target), main.sheet.href);
}, 'Registered inherited <url> resolves against sheet (URL token)');
test(function() {
target.style = 'background-image: var(--reg-inherited-func);';
assert_base_path_equal(get_bg_url(target), main.sheet.href);
}, 'Registered inherited <url> resolves against sheet (URL function)');
test(function() {
inner.style = 'background-image: var(--reg-inherited-url);';
assert_base_path_equal(get_bg_url(inner), main.sheet.href);
}, 'Registered inherited <url> resolves against sheet (Child node, URL token)');
test(function() {
inner.style = 'background-image: var(--reg-inherited-func);';
assert_base_path_equal(get_bg_url(inner), main.sheet.href);
}, 'Registered inherited <url> resolves against sheet (Child node, URL function)');
test(function() {
target.style = 'background-image: var(--reg-ref-to-unreg-url);';
assert_base_path_equal(get_bg_url(target), main.sheet.href);
}, 'Registered property with unregistered var reference resolves against sheet (URL token)');
test(function() {
target.style = 'background-image: var(--reg-ref-to-unreg-func);';
assert_base_path_equal(get_bg_url(target), main.sheet.href);
}, 'Registered property with unregistered var reference resolves against sheet. (URL function)');
test(function() {
target.style = 'background-image: var(--reg-ref-to-reg-url);';
assert_base_path_equal(get_bg_url(target), alt.sheet.href);
}, 'Registered property with registered var reference resolves against sheet of referenced property (URL token)');
test(function() {
target.style = 'background-image: var(--reg-ref-to-reg-func);';
assert_base_path_equal(get_bg_url(target), alt.sheet.href);
}, 'Registered property with registered var reference resolves against sheet of referenced property (URL function)');
test(function() {
target.style = 'background-image: var(--unreg-ref-to-reg-url);';
assert_base_path_equal(get_bg_url(target), alt.sheet.href);
}, 'Unregistered property with registered var reference resolves against sheet of referenced property (URL token)');
test(function() {
target.style = 'background-image: var(--unreg-ref-to-reg-func);';
assert_base_path_equal(get_bg_url(target), alt.sheet.href);
}, 'Unregistered property with registered var reference resolves against sheet of referenced property (URL function)');
test(function() {
target.style = 'background-image: var(--unreg-multi-ref-to-reg-urls);';
assert_base_paths_equal(get_bg_urls(target), [main.sheet.href, alt.sheet.href]);
}, 'Multiple (registered) var reference resolve against respective sheets (URL token)');
test(function() {
target.style = 'background-image: var(--unreg-multi-ref-to-reg-funcs);';
assert_base_paths_equal(get_bg_urls(target), [main.sheet.href, alt.sheet.href]);
}, 'Multiple (registered) var reference resolve against respective sheets (URL function)');
test(function() {
target.style = 'background-image: var(--reg-utf16be-url);';
assert_base_path_equal(get_bg_url(target), main_utf16be.sheet.href);
}, 'Registered UTF16BE-encoded var reference resolve against sheet (URL token)');
test(function() {
target.style = 'background-image: var(--reg-utf16be-func);';
assert_base_path_equal(get_bg_url(target), main_utf16be.sheet.href);
}, 'Registered UTF16BE-encoded var reference resolve against sheet (URL function)');
</script>