mirror of
https://github.com/classilla/tenfourfox.git
synced 2026-04-19 22:17:03 +00:00
379 lines
13 KiB
YAML
379 lines
13 KiB
YAML
# Copyright (c) 2010 Philip Taylor
|
|
# Released under the BSD license and W3C Test Suite License: see LICENSE.txt
|
|
|
|
framed: |
|
|
<!DOCTYPE html>
|
|
<title>Canvas test: %(name)s</title>
|
|
<script src="../tests.js"></script>
|
|
<link rel="stylesheet" href="../tests.css">
|
|
%(fonts)s<body class="framed show_output">
|
|
<h1>
|
|
<a href="%(name)s.html" target="_parent">%(name_wrapped)s</a>
|
|
</h1>
|
|
<p><a href="#" id="show_output" onclick="document.body.className += ' show_output'; return false">[show output]</a>
|
|
%(fonthack)s<p class="output">Actual output:</p>
|
|
<canvas id="c" class="output" %(canvas)s>%(fallback)s</canvas>
|
|
%(expected)s
|
|
<ul id="d"></ul>
|
|
<script>
|
|
_addTest(function(canvas, ctx) {
|
|
|
|
%(code)s
|
|
|
|
});
|
|
</script>
|
|
%(images)s
|
|
|
|
standalone: |
|
|
<!DOCTYPE html>
|
|
<title>Canvas test: %(name)s</title>
|
|
<script src="../tests.js"></script>
|
|
<link rel="stylesheet" href="../tests.css">
|
|
<link rel="prev" href="%(prev)s.html" title="%(prev)s">
|
|
<link rel="next" href="%(next)s.html" title="%(next)s">
|
|
%(fonts)s<body class="show_output">
|
|
<p>
|
|
<a href="%(prev)s.html" accesskey="p" title="[p] %(prev)s"><</a>
|
|
<a href="index.html">[index]</a>
|
|
<a href="%(next)s.html" accesskey="n" title="[n] %(next)s">></a>
|
|
<h1>%(backrefs)s</h1>
|
|
<p class="desc">%(desc)s</p>
|
|
<div class="refs">References:
|
|
<ul>
|
|
%(refs)s
|
|
</ul>
|
|
</div>
|
|
%(notes)s
|
|
%(fonthack)s<p class="output">Actual output:</p>
|
|
<canvas id="c" class="output" %(canvas)s>%(fallback)s</canvas>
|
|
%(expected)s
|
|
<ul id="d"></ul>
|
|
<script>
|
|
_addTest(function(canvas, ctx) {
|
|
|
|
%(code)s
|
|
|
|
});
|
|
</script>
|
|
%(images)s
|
|
|
|
minimal: |
|
|
<!DOCTYPE html>
|
|
<html class="minimal">
|
|
<title>Canvas test: %(name)s</title>
|
|
<script src="../tests.js"></script>
|
|
<link rel="stylesheet" href="../tests.css">
|
|
<link rel="prev" href="minimal.%(prev)s.html" title="%(prev)s">
|
|
<link rel="next" href="minimal.%(next)s.html" title="%(next)s">
|
|
%(fonts)s<body>
|
|
<p id="passtext">Pass</p>
|
|
<p id="failtext">Fail</p>
|
|
<!-- TODO: handle "script did not run" case -->
|
|
%(fonthack)s<p class="output">These images should be identical:</p>
|
|
<canvas id="c" class="output" %(canvas)s>%(fallback)s</canvas>
|
|
%(expected)s
|
|
<ul id="d"></ul>
|
|
<script>
|
|
_addTest(function(canvas, ctx) {
|
|
|
|
%(code)s
|
|
|
|
});
|
|
</script>
|
|
%(images)s
|
|
|
|
w3c: |
|
|
<!DOCTYPE html>
|
|
<!-- DO NOT EDIT! This test has been generated by tools/gentest.py. -->
|
|
<title>Canvas test: %(name)s</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">
|
|
%(fonts)s<body class="show_output">
|
|
|
|
<h1>%(name)s</h1>
|
|
<p class="desc">%(desc)s</p>
|
|
|
|
%(notes)s
|
|
%(fonthack)s<p class="output">Actual output:</p>
|
|
<canvas id="c" class="output" %(canvas)s>%(fallback)s</canvas>
|
|
%(expected)s
|
|
<ul id="d"></ul>
|
|
<script>
|
|
var t = async_test("%(escaped_desc)s");
|
|
_addTest(function(canvas, ctx) {
|
|
|
|
%(code)s
|
|
|
|
});
|
|
</script>
|
|
%(images)s
|
|
|
|
mochitest: |
|
|
<!DOCTYPE HTML>
|
|
<title>%(mochi_name_fn)s</title>
|
|
%(mochi_desc)s<script src="/MochiKit/MochiKit.js"></script>
|
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" href="/tests/SimpleTest/test.css">
|
|
%(fonts)s<body><!-- [[[ test_%(mochi_name)s.html ]]] -->
|
|
|
|
<p>Canvas test: %(mochi_name)s</p>
|
|
%(mochi_desc)s%(fonthack)s<canvas id="c" %(canvas)s>%(fallback)s</canvas>
|
|
<script>
|
|
|
|
function %(mochi_name_fn)s() {
|
|
|
|
var canvas = document.getElementById('c');
|
|
var ctx = canvas.getContext('2d');
|
|
|
|
%(mochi_code)s
|
|
|
|
}
|
|
</script>
|
|
%(mochi_images)s
|
|
|
|
mochitest.isPixel: |
|
|
function isPixel(ctx, x,y, r,g,b,a, pos, colour, d) {
|
|
var pixel = ctx.getImageData(x, y, 1, 1);
|
|
var pr = pixel.data[0],
|
|
pg = pixel.data[1],
|
|
pb = pixel.data[2],
|
|
pa = pixel.data[3];
|
|
ok(r-d <= pr && pr <= r+d &&
|
|
g-d <= pg && pg <= g+d &&
|
|
b-d <= pb && pb <= b+d &&
|
|
a-d <= pa && pa <= a+d,
|
|
"pixel "+pos+" is "+pr+","+pg+","+pb+","+pa+"; expected "+colour+" +/- "+d);
|
|
}
|
|
|
|
mochitest.todo_isPixel: |
|
|
function todo_isPixel(ctx, x,y, r,g,b,a, pos, colour, d) {
|
|
var pixel = ctx.getImageData(x, y, 1, 1);
|
|
var pr = pixel.data[0],
|
|
pg = pixel.data[1],
|
|
pb = pixel.data[2],
|
|
pa = pixel.data[3];
|
|
todo(r-d <= pr && pr <= r+d &&
|
|
g-d <= pg && pg <= g+d &&
|
|
b-d <= pb && pb <= b+d &&
|
|
a-d <= pa && pa <= a+d,
|
|
"pixel "+pos+" is "+pr+","+pg+","+pb+","+pa+"; expected "+colour+" +/- "+d);
|
|
}
|
|
|
|
mochitest.deferTest: |
|
|
function deferTest() {
|
|
_deferred = true;
|
|
}
|
|
|
|
mochitest.wrapFunction: |
|
|
function wrapFunction(f) {
|
|
return function () {
|
|
f.apply(null, arguments);
|
|
SimpleTest.finish();
|
|
}
|
|
}
|
|
|
|
mochitest.exception: |
|
|
var _thrown_outer = false;
|
|
try {
|
|
|
|
%s
|
|
} catch (e) {
|
|
_thrown_outer = true;
|
|
}
|
|
todo(!_thrown_outer, 'should not throw exception');
|
|
|
|
mochitest.Makefile: |
|
|
#
|
|
# ***** BEGIN LICENSE BLOCK *****
|
|
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
#
|
|
# The contents of this file are subject to the Mozilla Public License Version
|
|
# 1.1 (the "License"); you may not use this file except in compliance with
|
|
# the License. You may obtain a copy of the License at
|
|
# http://www.mozilla.org/MPL/
|
|
#
|
|
# Software distributed under the License is distributed on an "AS IS" basis,
|
|
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
# for the specific language governing rights and limitations under the
|
|
# License.
|
|
#
|
|
# The Original Code is mozilla.org code.
|
|
#
|
|
# The Initial Developer of the Original Code is
|
|
# Mozilla Corporation.
|
|
# Portions created by the Initial Developer are Copyright (C) 2007
|
|
# the Initial Developer. All Rights Reserved.
|
|
#
|
|
# Contributor(s):
|
|
# Philip Taylor <philip.taylor@cl.cam.ac.uk>
|
|
#
|
|
# Alternatively, the contents of this file may be used under the terms of
|
|
# either of the GNU General Public License Version 2 or later (the "GPL"),
|
|
# or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
# in which case the provisions of the GPL or the LGPL are applicable instead
|
|
# of those above. If you wish to allow use of your version of this file only
|
|
# under the terms of either the GPL or the LGPL, and not to allow others to
|
|
# use your version of this file under the terms of the MPL, indicate your
|
|
# decision by deleting the provisions above and replace them with the notice
|
|
# and other provisions required by the GPL or the LGPL. If you do not delete
|
|
# the provisions above, a recipient may use your version of this file under
|
|
# the terms of any one of the MPL, the GPL or the LGPL.
|
|
#
|
|
# ***** END LICENSE BLOCK *****
|
|
|
|
DEPTH = ../../..
|
|
topsrcdir = @top_srcdir@
|
|
srcdir = @srcdir@
|
|
VPATH = @srcdir@
|
|
relativesrcdir = content/canvas/test
|
|
|
|
include $(DEPTH)/config/autoconf.mk
|
|
include $(topsrcdir)/config/rules.mk
|
|
|
|
|
|
index.frame: |
|
|
<!DOCTYPE html>
|
|
<title>Canvas tests - %(category)s.*</title>
|
|
<link rel="stylesheet" href="../frame.css">
|
|
<p><a href="index.html">[index]</a>
|
|
<h1>%(backrefs)s.*</h1>
|
|
<p>
|
|
|
|
# FF trunk doesn't do onload in object, so use iframe instead
|
|
#index.frame.item: |-
|
|
# <object width="200" height="220" data="framed.%s.html">(object fallback)</object><!--
|
|
# -->
|
|
index.frame.item: |-
|
|
<iframe width="200" height="220" src="framed.%s.html">(iframe fallback)</iframe><!--
|
|
-->
|
|
|
|
index.w3c.frame: |
|
|
<!DOCTYPE html>
|
|
<title>Canvas tests - %(category)s.*</title>
|
|
<link rel="stylesheet" href="/common/canvas-frame.css">
|
|
<p><a href="index.html">[index]</a>
|
|
<h1>%(backrefs)s.*</h1>
|
|
<p>
|
|
|
|
index.w3c.frame.item: |-
|
|
<iframe width="320" height="240" src="%s.html">(iframe fallback)</iframe><!--
|
|
-->
|
|
|
|
index: |
|
|
<!DOCTYPE html>
|
|
<title>Canvas tests - index</title>
|
|
<link rel="stylesheet" href="../index.css">
|
|
<script>
|
|
function expand(obj) {
|
|
obj.parentNode.className = obj.parentNode.className ? "" : "expand";
|
|
return false;
|
|
}
|
|
</script>
|
|
|
|
<h1><code><canvas></code> tests</h1>
|
|
|
|
<p>Developed by <a href="mailto:excors@gmail.com">Philip Taylor</a>.
|
|
Last updated %(updated)s.
|
|
|
|
<p>Based on the <a
|
|
href="http://www.whatwg.org/specs/web-apps/current-work/#the-canvas">HTML</a>
|
|
Draft Standard — 22 February 2010. See also the <a
|
|
href="spec.html">annotated specification</a>.
|
|
|
|
<p>See <a href="results.html">test results</a> for some browsers.
|
|
(Generated semi-automatically via the <a
|
|
href="../reportgenentry.html">report generator</a>.)
|
|
|
|
<p>You may want to <a href="../source.tar.bz2">download the source
|
|
code/data</a> (e.g. to create an offline copy of the tests).
|
|
|
|
<h2>Test cases</h2>
|
|
|
|
<p>For each test, a green background indicates success, red indicates
|
|
failure, blue indicates a need to manually confirm the output is as
|
|
expected.
|
|
|
|
<p>The versions in the report generator are the most visually minimalist.
|
|
The category links below show the actual and expected renderings, and any
|
|
error messages. The individual test pages have links to relevant parts of
|
|
the specification and extra notes.
|
|
|
|
<p>There may be many inaccuracies: tests that do not notice when part of
|
|
the output is incorrect; tests that are too intolerant of acceptable
|
|
renderings differences, or make other unreasonable assumptions; tests that
|
|
were written for an outdated version of the specification, and tests that
|
|
are just wrong. Also a number of features are not tested, most notably text
|
|
rendering. Please contact me (<a
|
|
href="mailto:excors@gmail.com">email</a>, <a
|
|
href="http://wiki.whatwg.org/wiki/IRC">IRC</a>, etc) if you find any
|
|
problems.
|
|
|
|
index.w3c: |
|
|
<!DOCTYPE html>
|
|
<title>Canvas tests - index</title>
|
|
<link rel="stylesheet" href="/common/canvas-index.css">
|
|
|
|
<h1><code><canvas></code> tests</h1>
|
|
|
|
index.category.item: |
|
|
<li><h3><a href="index.%s.html">%s.*</a></h3><p>%d test%s <a href="#" onclick="return expand(this)">expand</a></p>
|
|
|
|
index.w3c.category.item: |
|
|
<li><h3><a href="index.%s.html">%s.*</a></h3><p>%d test%s</p>
|
|
|
|
reportgen: |
|
|
<!DOCTYPE html>
|
|
<title>Canvas tests - report generator</title>
|
|
<link rel="stylesheet" href="../reportgen.css">
|
|
<script src="../reportgen.js"></script>
|
|
<p>This is mainly for my own use, so it is not designed to be user-friendly.
|
|
If anyone else wants to use it for some reason, just wait
|
|
until "tests not yet loaded" and "tests not yet completed" get down to zero, then click the
|
|
pass/fail button for any test it shows where it cannot work out the answer (or use the
|
|
<kbd>y</kbd>/<kbd>n</kbd> keys to choose for the magenta-highlighted case), then use the
|
|
buttons at the bottom to collect all the results.
|
|
<form id="f">
|
|
<p><label for="loading">Tests not yet loaded:</label> <input id="loading" value="0" readonly>
|
|
<p><label for="waiting">Tests not yet completed:</label> <input id="waiting" value="0" readonly>
|
|
<p><button type="button" onclick="showUnfinished()">Show uncompleted tests</button>
|
|
<button type="button" onclick="showAll()">Show all tests</button>
|
|
<button type="button" onclick="reloadAll()">Reload test cases serially</button>
|
|
<!--<button type="button" onclick="avoidFrameLimit()">HACK: work around frame limit</button>
|
|
<button type="button" onclick="makeObjects()">HACK: s/iframe/object/</button>-->
|
|
<hr>
|
|
<p><label for="passed">Detected passes:</label> <input id="passed" value="0" readonly>
|
|
<p><label for="failed">Detected fails:</label> <input id="failed" value="0" readonly>
|
|
<hr>
|
|
<table>
|
|
<tr>
|
|
<th>Test name
|
|
<th>Test case
|
|
<th>Pass?
|
|
<th>Fail?
|
|
<th>Notes
|
|
<script>
|
|
createTable( [
|
|
%(items)s
|
|
] );
|
|
</script>
|
|
</table>
|
|
</form>
|
|
<hr>
|
|
<form method="post" action="../submitresults.cgi">
|
|
<button type="button" onclick="document.getElementById('report').value = genreport()">Generate test report</button><br>
|
|
<textarea name="report" id="report" cols="100" rows="10"></textarea><br>
|
|
<input type="submit" value="Submit results"> (Submissions will tend to be ignored unless there
|
|
is a good reason why they won't be, so don't use this form unless there is such a reason.)
|
|
</form>
|
|
|
|
results: |
|
|
<!DOCTYPE html>
|
|
<title>Canvas tests - results</title>
|
|
<link rel="stylesheet" href="../results.css">
|
|
<table>
|
|
<col id="col1">
|
|
<tr>
|
|
<th>Test
|