Commit cd356374 authored by Glenn Adams's avatar Glenn Adams

Populate level 4 gif, jpeg, opentype, png, and woff configurations; other minor fixes/updates.

parent b1158d36
......@@ -27,5 +27,5 @@
TOOLS_L1 = fetch extract parse index generate
TOOLS_L2 = fetch generate
TOOLS_L3 = fetch
TOOLS_L4 = fetch
TOOLS_L4 = fetch generate
CVP2TS - CVP-2 Feature Presence Test Suite
Copyright 2014 Skynav, Inc. and Cable Laboratories, Inc.
This product includes the following open source software:
(1) specs/opentype/resources/test.ttf is a copy of NotoSans-Regular.ttf developed by
Google, Inc. under The Apache License, Version 2.0 (see https://www.google.com/get/noto/#/family/noto-sans);
(2) specs/woff/resources/test.woff is a format converted copy of NotoSans-Regular.ttf developed by
Google, Inc. under The Apache License, Version 2.0 (see https://www.google.com/get/noto/#/family/noto-sans);
......@@ -4,6 +4,5 @@
"local": "ac3.txt",
"dontFetch": true,
"dontFetchReason": "specification is final",
"dontExtract": true,
"dontExtractReason": "requires manual property extraction"
"helpers": []
}
......@@ -344,7 +344,7 @@
<p><a href="http://www.w3.org/"><img alt="W3C" height="48" src="http://www.w3.org/Icons/w3c_home" width="72"></a></p>
<h1>HTML Canvas 2D Context</h1>
<p class="no-num no-toc subline">Editor's Draft 17 October 2014</p>
<p class="no-num no-toc subline">Editor's Draft 19 October 2014</p>
</header>
<dl>
<dt>Latest Published Version:</dt>
......
Fri, 17 Oct 2014 06:10:08 GMT
\ No newline at end of file
Sun, 19 Oct 2014 04:00:08 GMT
\ No newline at end of file
......@@ -5,6 +5,5 @@
"local": "rfc6265.txt",
"dontFetch": true,
"dontFetchReason": "specification is final",
"dontExtract": true,
"dontExtractReason": "requires manual property extraction"
"helpers": []
}
......@@ -5,6 +5,5 @@
"local": "cors.html",
"dontFetch": true,
"dontFetchReason": "specification is final",
"dontExtract": true,
"dontExtractReason": "requires manual property extraction"
"helpers": []
}
......@@ -4,5 +4,6 @@
"levels": [ 3 ],
"local": "csp.html",
"dontExtract": true,
"dontExtractReason": "requires manual property extraction"
"dontExtractReason": "requires manual property extraction",
"helpers": []
}
......@@ -5,6 +5,5 @@
"local": "rfc2397.txt",
"dontFetch": true,
"dontFetchReason": "specification is final",
"dontExtract": true,
"dontExtractReason": "requires manual property extraction"
"helpers": []
}
......@@ -4,6 +4,15 @@
"local": "gif.txt",
"dontFetch": true,
"dontFetchReason": "specification is final",
"dontExtract": true,
"dontExtractReason": "requires manual property extraction"
"helpers": [
"ImageGIFFormat"
],
"tests": [
{
"name": "ImageGIFFormat",
"helper": "ImageGIFFormat",
"code": "run(t)",
"async": true
}
]
}
"use strict";
function run(t) {
var defProperties = t.properties.def;
var e = document.createElement('img');
e.src = './resources/test.gif';
e.onload = t.step_func_done(function(evt) {
loadComplete(defProperties, e, evt);
});
e.onerror = e.onload;
document.body.appendChild(e);
}
function loadComplete(defProperties, e, evt) {
var eTarget = evt.target;
test(function() {
assert_equals(eTarget, e, 'onload target must be original image element');
}, defProperties.expandedName + '-target-matches');
test(function() {
assert_true('naturalWidth' in eTarget, 'image element must have naturalWidth property');
assert_equals(eTarget.naturalWidth, 128, 'natural width of loaded image must match');
}, defProperties.expandedName + '-width-matches');
test(function() {
assert_true('naturalHeight' in eTarget, 'image element must have naturalHeight property');
assert_equals(eTarget.naturalHeight, 96, 'natural height of loaded image must match');
}, defProperties.expandedName + '-height-matches');
}
\ No newline at end of file
......@@ -348,7 +348,7 @@
<h1 id="big-title">HTML5</h1>
<p class="no-num no-toc subline">A vocabulary and associated APIs for HTML and XHTML</p>
<p class="no-num no-toc subline">Editor's Draft 17 October 2014</p>
<p class="no-num no-toc subline">Editor's Draft 19 October 2014</p>
</header>
<dl>
<dt>Latest Published Version:</dt>
......@@ -472,7 +472,7 @@
<p>The W3C <a href="http://www.w3.org/html/wg/">HTML Working
Group</a> is the W3C working group responsible for this
specification's progress.
This specification is the 17 October 2014 Editor's Draft.
This specification is the 19 October 2014 Editor's Draft.
This specification is intended to become a W3C Recommendation.
</p>
Fri, 17 Oct 2014 06:12:30 GMT
\ No newline at end of file
Sun, 19 Oct 2014 04:02:28 GMT
\ No newline at end of file
......@@ -5,6 +5,5 @@
"local": "rfc2616.txt",
"dontFetch": true,
"dontFetchReason": "specification is final",
"dontExtract": true,
"dontExtractReason": "requires manual property extraction"
"helpers": []
}
......@@ -5,6 +5,5 @@
"local": "rfc5785.txt",
"dontFetch": true,
"dontFetchReason": "specification is final",
"dontExtract": true,
"dontExtractReason": "requires manual property extraction"
"helpers": []
}
"use strict";
function run(t) {
var defProperties = t.properties.def;
var e = document.createElement('img');
e.src = './resources/test.jpg';
e.onload = t.step_func_done(function(evt) {
loadComplete(defProperties, e, evt);
});
e.onerror = e.onload;
document.body.appendChild(e);
}
function loadComplete(defProperties, e, evt) {
var eTarget = evt.target;
test(function() {
assert_equals(eTarget, e, 'onload target must be original image element');
}, defProperties.expandedName + '-target-matches');
test(function() {
assert_true('naturalWidth' in eTarget, 'image element must have naturalWidth property');
assert_equals(eTarget.naturalWidth, 128, 'natural width of loaded image must match');
}, defProperties.expandedName + '-width-matches');
test(function() {
assert_true('naturalHeight' in eTarget, 'image element must have naturalHeight property');
assert_equals(eTarget.naturalHeight, 96, 'natural height of loaded image must match');
}, defProperties.expandedName + '-height-matches');
}
\ No newline at end of file
......@@ -4,6 +4,15 @@
"local": "jpeg.txt",
"dontFetch": true,
"dontFetchReason": "specification is final",
"dontExtract": true,
"dontExtractReason": "requires manual property extraction"
"helpers": [
"ImageJPEGFormat"
],
"tests": [
{
"name": "ImageJPEGFormat",
"helper": "ImageJPEGFormat",
"code": "run(t)",
"async": true
}
]
}
......@@ -4,6 +4,5 @@
"local": "mpeg2audio.txt",
"dontFetch": true,
"dontFetchReason": "specification is final",
"dontExtract": true,
"dontExtractReason": "requires manual property extraction"
"helpers": []
}
......@@ -4,6 +4,5 @@
"local": "mpeg2ts.txt",
"dontFetch": true,
"dontFetchReason": "specification is final",
"dontExtract": true,
"dontExtractReason": "requires manual property extraction"
"helpers": []
}
......@@ -4,6 +4,5 @@
"local": "mpeg2video.txt",
"dontFetch": true,
"dontFetchReason": "specification is final",
"dontExtract": true,
"dontExtractReason": "requires manual property extraction"
"helpers": []
}
"use strict";
function run(t) {
var defProperties = t.properties.def;
var b = document.body;
var s = document.createElement('style');
s.textContent = '@font-face { font-family: CVP2TSTest; src: url(./resources/test.ttf); } p.test { font-family: serif; font-size: 64px; }';
var x = document.createElement('p');
x.style.fontFamily = 'sans-serif';
x.style.fontSize = '16px';
x.style.fontWeight = 'bold';
x.style.marginTop = '3em';
x.textContent = 'The following paragraph consists of three spans, where the first and third use the "serif" font and the second uses a test font loaded via a @font-face rule. The width and height of the first and third span should differ from the width and height of the second span. If the font load had failed, then all three spans would have the same width and height.';
var p = document.createElement('p');
p.className = 'test';
var t1 = document.createElement('span');
t1.id = 't1';
t1.textContent = 'TEST';
t1.style.border = '2px solid red';
var t2 = document.createElement('span');
t2.id = 't2';
t2.textContent = 'TEST';
t2.style.fontFamily = 'CVP2TSTest';
t2.style.border = '2px solid green';
var t3 = document.createElement('span');
t3.id = 't3';
t3.textContent = 'TEST';
t3.style.border = '2px solid red';
b.onload = t.step_func_done(function(evt) {
loadComplete(defProperties, b, evt);
});
b.appendChild(s);
b.appendChild(x);
p.appendChild(t1);
p.appendChild(t2);
p.appendChild(t3);
b.appendChild(p);
}
function loadComplete(defProperties, e, evt) {
var t1 = document.getElementById('t1');
assert_true(!!t1);
var t1r = t1.getBoundingClientRect(t1);
assert_true(!!t1r);
var t2 = document.getElementById('t2');
assert_true(!!t2);
var t2r = t2.getBoundingClientRect(t2);
assert_true(!!t2r);
var t3 = document.getElementById('t3');
assert_true(!!t3);
var t3r = t3.getBoundingClientRect(t3);
assert_true(!!t3r);
test(function() {
assert_equals(t1r.width, t3r.width, 'span 1 bbox width must equal span3 bbox width');
}, defProperties.expandedName + '-reference-width-matches');
test(function() {
assert_equals(t1r.height, t3r.height, 'span 1 bbox height must equal span3 bbox height');
}, defProperties.expandedName + '-reference-height-matches');
test(function() {
assert_true(t2r.width != t1r.width, 'span 1 bbox width must not equal span2 bbox width');
}, defProperties.expandedName + '-test-width-differs');
test(function() {
assert_true(t2r.height != t1r.height, 'span 1 bbox height must not equal span2 bbox height');
}, defProperties.expandedName + '-test-height-differs');
}
\ No newline at end of file
......@@ -4,6 +4,15 @@
"local": "opentype.txt",
"dontFetch": true,
"dontFetchReason": "specification is final",
"dontExtract": true,
"dontExtractReason": "requires manual property extraction"
"helpers": [
"FontOpenTypeFormat"
],
"tests": [
{
"name": "FontOpenTypeFormat",
"helper": "FontOpenTypeFormat",
"code": "run(t)",
"async": true
}
]
}
......@@ -5,6 +5,5 @@
"local": "rfc6454.txt",
"dontFetch": true,
"dontFetchReason": "specification is final",
"dontExtract": true,
"dontExtractReason": "requires manual property extraction"
"helpers": []
}
"use strict";
function run(t) {
var defProperties = t.properties.def;
var e = document.createElement('img');
e.src = './resources/test.png';
e.onload = t.step_func_done(function(evt) {
loadComplete(defProperties, e, evt);
});
e.onerror = e.onload;
document.body.appendChild(e);
}
function loadComplete(defProperties, e, evt) {
var eTarget = evt.target;
test(function() {
assert_equals(eTarget, e, 'onload target must be original image element');
}, defProperties.expandedName + '-target-matches');
test(function() {
assert_true('naturalWidth' in eTarget, 'image element must have naturalWidth property');
assert_equals(eTarget.naturalWidth, 128, 'natural width of loaded image must match');
}, defProperties.expandedName + '-width-matches');
test(function() {
assert_true('naturalHeight' in eTarget, 'image element must have naturalHeight property');
assert_equals(eTarget.naturalHeight, 96, 'natural height of loaded image must match');
}, defProperties.expandedName + '-height-matches');
}
\ No newline at end of file
......@@ -4,6 +4,15 @@
"local": "png.txt",
"dontFetch": true,
"dontFetchReason": "specification is final",
"dontExtract": true,
"dontExtractReason": "requires manual property extraction"
"helpers": [
"ImagePNGFormat"
],
"tests": [
{
"name": "ImagePNGFormat",
"helper": "ImagePNGFormat",
"code": "run(t)",
"async": true
}
]
}
"use script";
"use strict";
// See http://dev.w3.org/SVG/profiles/1.2T/test/svg/udom-glob-204-t.svg for comparison.
function getAsyncURLStatusAsync(test) {
if (!('getURL' in window))
......
"use script";
"use strict";
function getDocumentAsync(test) {
var e = document.createElement('object');
e.type = 'image/svg+xml';
......
"use script";
"use strict";
function getDocumentViewAsync(test) {
var e = document.createElement('object');
e.type = 'image/svg+xml';
......
"use script";
"use strict";
function getEventAsync(test) {
var e = document.createElement('object');
e.type = 'image/svg+xml';
......
"use script";
"use strict";
function getKeyboardEventAsync(test) {
var e = document.createElement('object');
e.type = 'image/svg+xml';
......
"use script";
"use strict";
function getMouseEventAsync(test) {
var e = document.createElement('object');
e.type = 'image/svg+xml';
......
"use script";
"use strict";
function getMouseWheelEventAsync(test) {
var e = document.createElement('object');
e.type = 'image/svg+xml';
......
"use script";
"use strict";
function getProgressEventAsync(test) {
var e = document.createElement('object');
e.type = 'image/svg+xml';
......
"use script";
"use strict";
function getSVGDocumentAsync(test) {
var e = document.createElement('object');
e.type = 'image/svg+xml';
......
"use script";
"use strict";
function getSVGElementInstanceAsync(test) {
var rct = document.createElementNS('http://www.w3.org/2000/svg','rect');
rct.setAttributeNS(null, 'id', 'rect');
......
"use script";
"use strict";
function getTextEventAsync(test) {
var e = document.createElement('object');
e.type = 'image/svg+xml';
......
"use script";
"use strict";
function getTimeEventAsync(test) {
var e = document.createElement('object');
e.type = 'image/svg+xml';
......
"use script";
"use strict";
function getUIEventAsync(test) {
var e = document.createElement('object');
e.type = 'image/svg+xml';
......
......@@ -5,6 +5,5 @@
"local": "rfc5246.txt",
"dontFetch": true,
"dontFetchReason": "specification is final",
"dontExtract": true,
"dontExtractReason": "requires manual property extraction"
"helpers": []
}
......@@ -9,7 +9,7 @@
<hgroup>
<h1 class="allcaps">URL</h1>
<h2>Living Standard — Last Updated 16 October 2014</h2>
<h2>Living Standard — Last Updated 17 October 2014</h2>
</hgroup>
<dl>
......@@ -2288,13 +2288,17 @@ these steps:
<li><p>Set <a href="#concept-urlutils-input" title="concept-URLUtils-input">input</a> to <var title="">input</var>.
<li><p>Set <a href="#url" tilte="concept-URLUtils-url">url</a> to <var title="">url</var>.
<li><p>Set <a href="#concept-urlutils-url" title="concept-URLUtils-url">url</a> to <var title="">url</var>.
<li><p>Let <var title="">query</var> be the empty string if
<a href="#concept-urlutils-url" title="concept-URLUtils-url">url</a>'s
<a href="#concept-url-query" title="concept-url-query">query</a> is null, and
<a href="#concept-urlutils-url" title="concept-URLUtils-url">url</a>'s
<a href="#concept-url-query" title="concept-url-query">query</a> otherwise.
<li><p>Set <a href="#concept-urlutils-query-object" title="concept-URLUtils-query-object">query object</a>'s
<a href="#concept-urlsearchparams-list" title="concept-URLSearchParams-list">list</a> to the result of
<a href="#concept-urlencoded-string-parser" title="concept-urlencoded-string-parser">parsing</a>
<a href="#url" tilte="concept-URLUtils-url">url</a>'s
<a href="#concept-url-query" title="concept-url-query">query</a>.
<a href="#concept-urlencoded-string-parser" title="concept-urlencoded-string-parser">parsing</a> <var title="">query</var>.
</ol>
<li>
......@@ -2304,7 +2308,7 @@ these steps:
<li><p>Run the <a href="#concept-urlutils-set-the-input" title="concept-URLUtils-set-the-input">set the input</a>
algorithm for <var title="">input</var>.
<li><p>Run the <a href="#pre-update-steps">pre-update steps</a> with the given value.
<li><p>Run the <a href="#pre-update-steps">pre-update steps</a> with the <var title="">input</var>.
</ol>
<div class="example">
......
Thu, 16 Oct 2014 12:53:20 GMT
\ No newline at end of file
Fri, 17 Oct 2014 13:14:04 GMT
\ No newline at end of file
"use script";
"use strict";
function getWorkerGlobalScopeAsync(test) {
var w = new Worker('./resources/workerglobalscope.js');
w.onmessage = test.step_func_done(function(evt) {
......
"use strict";
function run(t) {
var defProperties = t.properties.def;
var b = document.body;
var s = document.createElement('style');
s.textContent = '@font-face { font-family: CVP2TSTest; src: url(./resources/test.woff); } p.test { font-family: serif; font-size: 64px; }';
var x = document.createElement('p');
x.style.fontFamily = 'sans-serif';
x.style.fontSize = '16px';
x.style.fontWeight = 'bold';
x.style.marginTop = '3em';
x.textContent = 'The following paragraph consists of three spans, where the first and third use the "serif" font and the second uses a test font loaded via a @font-face rule. The width and height of the first and third span should differ from the width and height of the second span. If the font load had failed, then all three spans would have the same width and height.';
var p = document.createElement('p');
p.className = 'test';
var t1 = document.createElement('span');
t1.id = 't1';
t1.textContent = 'TEST';
t1.style.border = '2px solid red';
var t2 = document.createElement('span');
t2.id = 't2';
t2.textContent = 'TEST';
t2.style.fontFamily = 'CVP2TSTest';
t2.style.border = '2px solid green';
var t3 = document.createElement('span');
t3.id = 't3';
t3.textContent = 'TEST';
t3.style.border = '2px solid red';
b.onload = t.step_func_done(function(evt) {
loadComplete(defProperties, b, evt);
});
b.appendChild(s);
b.appendChild(x);
p.appendChild(t1);
p.appendChild(t2);
p.appendChild(t3);
b.appendChild(p);
}
function loadComplete(defProperties, e, evt) {
var t1 = document.getElementById('t1');
assert_true(!!t1);
var t1r = t1.getBoundingClientRect(t1);
assert_true(!!t1r);
var t2 = document.getElementById('t2');
assert_true(!!t2);
var t2r = t2.getBoundingClientRect(t2);
assert_true(!!t2r);
var t3 = document.getElementById('t3');
assert_true(!!t3);
var t3r = t3.getBoundingClientRect(t3);
assert_true(!!t3r);
test(function() {
assert_equals(t1r.width, t3r.width, 'span 1 bbox width must equal span3 bbox width');
}, defProperties.expandedName + '-reference-width-matches');
test(function() {
assert_equals(t1r.height, t3r.height, 'span 1 bbox height must equal span3 bbox height');
}, defProperties.expandedName + '-reference-height-matches');
test(function() {
assert_true(t2r.width != t1r.width, 'span 1 bbox width must not equal span2 bbox width');
}, defProperties.expandedName + '-test-width-differs');
test(function() {
assert_true(t2r.height != t1r.height, 'span 1 bbox height must not equal span2 bbox height');
}, defProperties.expandedName + '-test-height-differs');
}
\ No newline at end of file
......@@ -5,6 +5,15 @@
"local": "woff.html",
"dontFetch": true,
"dontFetchReason": "specification is final",
"dontExtract": true,
"dontExtractReason": "requires manual property extraction"
"helpers": [
"FontWOFFFormat"
],
"tests": [
{
"name": "FontWOFFFormat",
"helper": "FontWOFFFormat",
"code": "run(t)",
"async": true
}
]
}
......@@ -5,6 +5,5 @@
"local": "rfc6455.txt",
"dontFetch": true,
"dontFetchReason": "specification is final",
"dontExtract": true,
"dontExtractReason": "requires manual property extraction"
"helpers": []
}
Fri, 17 Oct 2014 06:22:05 GMT
\ No newline at end of file
Sun, 19 Oct 2014 04:12:14 GMT
\ No newline at end of file
<!-- Copyright (C) 2014, Cable Television Laboratories, Inc. & Skynav, Inc. -->
<!-- DO NOT EDIT! This test was generated by $(CVP2TS)/tools/level2/generate/generate.js. -->
<!doctype html>
<meta charset='utf-8'>
<title>Test ImageGIFFormat</title>
<script src='/resources/testharness.js'></script>
<script src='/resources/testharnessreport.js'></script>
<script src='/tools/common/level4.js'></script>
<script src='./helpers/ImageGIFFormat.js'></script>
<script type='text/plain' id='testDef'>
{"name":"ImageGIFFormat","helper":"ImageGIFFormat","code":"run(t)","async":true}
</script>
<h1>Test ImageGIFFormat Support</h1>
<div id='log'></div>
<script>
level4Async('gif', JSON.parse(document.getElementById('testDef').textContent), function(t){return run(t);});
</script>
"use strict";
function run(t) {
var defProperties = t.properties.def;
var e = document.createElement('img');
e.src = './resources/test.gif';
e.onload = t.step_func_done(function(evt) {
loadComplete(defProperties, e, evt);
});
e.onerror = e.onload;
document.body.appendChild(e);
}
function loadComplete(defProperties, e, evt) {
var eTarget = evt.target;
test(function() {
assert_equals(eTarget, e, 'onload target must be original image element');
}, defProperties.expandedName + '-target-matches');
test(function() {
assert_true('naturalWidth' in eTarget, 'image element must have naturalWidth property');
assert_equals(eTarget.naturalWidth, 128, 'natural width of loaded image must match');
}, defProperties.expandedName + '-width-matches');
test(function() {
assert_true('naturalHeight' in eTarget, 'image element must have naturalHeight property');
assert_equals(eTarget.naturalHeight, 96, 'natural height of loaded image must match');
}, defProperties.expandedName + '-height-matches');
}
\ No newline at end of file