Update web-platform-tests to revision a46616a5b18e83587ddbbed756c7b96cbb4b015d

This commit is contained in:
Josh Matthews 2017-06-19 19:07:14 -04:00 committed by Ms2ger
parent 3f07cfec7c
commit 578498ba24
4001 changed files with 159517 additions and 30260 deletions

View file

@ -4,7 +4,7 @@
// are fully correct interpretations of the IDLs
var wp = process.env.JSCOV ? require("../lib-cov/webidl2") : require("../lib/webidl2")
, expect = require("expect.js")
, expect = require("expect")
, pth = require("path")
, fs = require("fs")
;
@ -16,7 +16,7 @@ describe("Parses all of the invalid IDLs to check that they blow up correctly",
.map(function (it) { return pth.join(dir, it); })
, errors = idls.map(function (it) { return pth.join(__dirname, "invalid", "json", pth.basename(it).replace(/\.w?idl/, ".json")); })
;
for (var i = 0, n = idls.length; i < n; i++) {
var idl = idls[i], error = JSON.parse(fs.readFileSync(errors[i], "utf8"));
var func = (function (idl, err) {
@ -30,11 +30,11 @@ describe("Parses all of the invalid IDLs to check that they blow up correctly",
error = e;
}
finally {
expect(error).to.be.ok();
expect(error.message).to.equal(err.message);
expect(error.line).to.equal(err.line);
expect(error).toExist();
expect(error.message).toEqual(err.message);
expect(error.line).toEqual(err.line);
}
};
}(idl, error));
it("should produce the right error for " + idl, func);

View file

@ -0,0 +1,3 @@
interface Foo {
void foo(record<octet, any> param);
};

View file

@ -0,0 +1,4 @@
{
"message": "Record key must be DOMString, USVString, or ByteString",
"line": 2
}

View file

@ -1,6 +1,6 @@
var wp = process.env.JSCOV ? require("../lib-cov/webidl2") : require("../lib/webidl2")
, expect = require("expect.js")
, expect = require("expect")
, pth = require("path")
, fs = require("fs")
, jdp = require("jsondiffpatch")
@ -14,7 +14,7 @@ describe("Parses all of the IDLs to produce the correct ASTs", function () {
.map(function (it) { return pth.join(dir, it); })
, jsons = idls.map(function (it) { return pth.join(__dirname, "syntax/json", pth.basename(it).replace(".widl", ".json")); })
;
for (var i = 0, n = idls.length; i < n; i++) {
var idl = idls[i], json = jsons[i];
@ -28,7 +28,7 @@ describe("Parses all of the IDLs to produce the correct ASTs", function () {
var diff = jdp.diff(JSON.parse(fs.readFileSync(json, "utf8")),
wp.parse(fs.readFileSync(idl, "utf8"), opt));
if (diff && debug) console.log(JSON.stringify(diff, null, 4));
expect(diff).to.be(undefined);
expect(diff).toBe(undefined);
}
catch (e) {
console.log(e.toString());

View file

@ -3,4 +3,9 @@
[Global=(Worker,ServiceWorker), Exposed=ServiceWorker]
interface ServiceWorkerGlobalScope : WorkerGlobalScope {
};
};
// Conformance with ExtendedAttributeList grammar in http://www.w3.org/TR/WebIDL/#idl-extended-attributes
// Section 3.11
[IntAttr=0, FloatAttr=3.14, StringAttr="abc"]
interface IdInterface {};

View file

@ -1,5 +0,0 @@
// Extracted from https://slightlyoff.github.io/ServiceWorker/spec/service_worker/ on 2014-05-06
[MapClass(DOMString, DOMString)]
interface HeaderMap {
};

View file

@ -0,0 +1,10 @@
// Extracted from Web IDL editors draft March 27 2017
namespace VectorUtils {
readonly attribute Vector unit;
double dotProduct(Vector x, Vector y);
Vector crossProduct(Vector x, Vector y);
};
partial namespace SomeNamespace {
/* namespace_members... */
};

View file

@ -0,0 +1,8 @@
[Constructor(record<USVString, USVString> init)]
interface Foo {
void foo(sequence<record<ByteString, any>> param);
record<DOMString, (float or DOMString)?> bar();
// Make sure record can still be registered as a type.
record baz();
};

View file

@ -1,22 +0,0 @@
interface Point {
attribute float x;
attribute float y;
};
interface Rect {
attribute Point topleft;
attribute Point bottomright;
};
interface Widget {
typedef sequence<Point> PointSequence;
readonly attribute Rect bounds;
boolean pointWithinBounds(Point p);
boolean allPointsWithinBounds(PointSequence ps);
};
typedef [Clamp] octet value;

View file

@ -0,0 +1,4 @@
typedef (ImageData or
HTMLImageElement or
HTMLCanvasElement or
HTMLVideoElement) TexImageSource;

View file

@ -1,3 +1,4 @@
interface Union {
attribute (float or (Date or Event) or (Node or DOMString)?) test;
attribute ([EnforceRange] long or Date) test2;
};

View file

@ -26,5 +26,38 @@
}
}
]
},
{
"type": "interface",
"name": "IdInterface",
"partial": false,
"members": [],
"inheritance": null,
"extAttrs": [
{
"name": "IntAttr",
"arguments": null,
"rhs": {
"type": "integer",
"value": "0"
}
},
{
"name": "FloatAttr",
"arguments": null,
"rhs": {
"type": "float",
"value": "3.14"
}
},
{
"name": "StringAttr",
"arguments": null,
"rhs": {
"type": "string",
"value": "\"abc\""
}
}
]
}
]
]

View file

@ -1,7 +1,6 @@
[
{
"type": "typedef",
"typeExtAttrs": [],
"idlType": {
"sequence": false,
"generic": null,
@ -214,4 +213,4 @@
"inheritance": null,
"extAttrs": []
}
]
]

View file

@ -1,29 +0,0 @@
[
{
"type": "interface",
"name": "HeaderMap",
"partial": false,
"members": [],
"inheritance": null,
"extAttrs": [{
"name": "MapClass",
"arguments": null,
"typePair": [{
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "DOMString"
},
{
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "DOMString"
}]
}]
}
]

View file

@ -0,0 +1,134 @@
[
{
"type": "namespace",
"name": "VectorUtils",
"partial": false,
"members": [
{
"type": "attribute",
"static": false,
"stringifier": false,
"inherit": false,
"readonly": true,
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "Vector"
},
"name": "unit",
"extAttrs": []
},
{
"type": "operation",
"getter": false,
"setter": false,
"creator": false,
"deleter": false,
"legacycaller": false,
"static": false,
"stringifier": false,
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "double"
},
"name": "dotProduct",
"arguments": [
{
"optional": false,
"variadic": false,
"extAttrs": [],
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "Vector"
},
"name": "x"
},
{
"optional": false,
"variadic": false,
"extAttrs": [],
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "Vector"
},
"name": "y"
}
],
"extAttrs": []
},
{
"type": "operation",
"getter": false,
"setter": false,
"creator": false,
"deleter": false,
"legacycaller": false,
"static": false,
"stringifier": false,
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "Vector"
},
"name": "crossProduct",
"arguments": [
{
"optional": false,
"variadic": false,
"extAttrs": [],
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "Vector"
},
"name": "x"
},
{
"optional": false,
"variadic": false,
"extAttrs": [],
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "Vector"
},
"name": "y"
}
],
"extAttrs": []
}
],
"extAttrs": []
},
{
"type": "namespace",
"name": "SomeNamespace",
"partial": true,
"members": [],
"extAttrs": []
}
]

View file

@ -0,0 +1,184 @@
[
{
"type": "interface",
"name": "Foo",
"partial": false,
"members": [
{
"type": "operation",
"getter": false,
"setter": false,
"creator": false,
"deleter": false,
"legacycaller": false,
"static": false,
"stringifier": false,
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "void"
},
"name": "foo",
"arguments": [
{
"optional": false,
"variadic": false,
"extAttrs": [],
"idlType": {
"sequence": true,
"generic": "sequence",
"nullable": false,
"array": false,
"union": false,
"idlType": {
"sequence": false,
"generic": "record",
"nullable": false,
"array": false,
"union": false,
"idlType": [
{
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "ByteString"
},
{
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "any"
}
]
}
},
"name": "param"
}
],
"extAttrs": []
},
{
"type": "operation",
"getter": false,
"setter": false,
"creator": false,
"deleter": false,
"legacycaller": false,
"static": false,
"stringifier": false,
"idlType": {
"sequence": false,
"generic": "record",
"nullable": false,
"array": false,
"union": false,
"idlType": [
{
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "DOMString"
},
{
"sequence": false,
"generic": null,
"nullable": true,
"array": false,
"union": true,
"idlType": [
{
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "float"
},
{
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "DOMString"
}
]
}
]
},
"name": "bar",
"arguments": [],
"extAttrs": []
},
{
"type": "operation",
"getter": false,
"setter": false,
"creator": false,
"deleter": false,
"legacycaller": false,
"static": false,
"stringifier": false,
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "record"
},
"name": "baz",
"arguments": [],
"extAttrs": []
}
],
"inheritance": null,
"extAttrs": [
{
"name": "Constructor",
"arguments": [
{
"optional": false,
"variadic": false,
"extAttrs": [],
"idlType": {
"sequence": false,
"generic": "record",
"nullable": false,
"array": false,
"union": false,
"idlType": [
{
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "USVString"
},
{
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "USVString"
}
]
},
"name": "init"
}
]
}
]
}
]

View file

@ -1,226 +0,0 @@
[
{
"type": "interface",
"name": "Point",
"partial": false,
"members": [
{
"type": "attribute",
"static": false,
"stringifier": false,
"inherit": false,
"readonly": false,
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "float"
},
"name": "x",
"extAttrs": []
},
{
"type": "attribute",
"static": false,
"stringifier": false,
"inherit": false,
"readonly": false,
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "float"
},
"name": "y",
"extAttrs": []
}
],
"inheritance": null,
"extAttrs": []
},
{
"type": "interface",
"name": "Rect",
"partial": false,
"members": [
{
"type": "attribute",
"static": false,
"stringifier": false,
"inherit": false,
"readonly": false,
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "Point"
},
"name": "topleft",
"extAttrs": []
},
{
"type": "attribute",
"static": false,
"stringifier": false,
"inherit": false,
"readonly": false,
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "Point"
},
"name": "bottomright",
"extAttrs": []
}
],
"inheritance": null,
"extAttrs": []
},
{
"type": "interface",
"name": "Widget",
"partial": false,
"members": [
{
"type": "typedef",
"typeExtAttrs": [],
"idlType": {
"sequence": true,
"generic": "sequence",
"nullable": false,
"array": false,
"union": false,
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "Point"
}
},
"name": "PointSequence",
"extAttrs": []
},
{
"type": "attribute",
"static": false,
"stringifier": false,
"inherit": false,
"readonly": true,
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "Rect"
},
"name": "bounds",
"extAttrs": []
},
{
"type": "operation",
"getter": false,
"setter": false,
"creator": false,
"deleter": false,
"legacycaller": false,
"static": false,
"stringifier": false,
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "boolean"
},
"name": "pointWithinBounds",
"arguments": [
{
"optional": false,
"variadic": false,
"extAttrs": [],
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "Point"
},
"name": "p"
}
],
"extAttrs": []
},
{
"type": "operation",
"getter": false,
"setter": false,
"creator": false,
"deleter": false,
"legacycaller": false,
"static": false,
"stringifier": false,
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "boolean"
},
"name": "allPointsWithinBounds",
"arguments": [
{
"optional": false,
"variadic": false,
"extAttrs": [],
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "PointSequence"
},
"name": "ps"
}
],
"extAttrs": []
}
],
"inheritance": null,
"extAttrs": []
},
{
"type": "typedef",
"typeExtAttrs": [
{
"name": "Clamp",
"arguments": null
}
],
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "octet"
},
"name": "value",
"extAttrs": []
}
]

View file

@ -0,0 +1,49 @@
[
{
"type" : "typedef",
"idlType" : {
"nullable" : false,
"generic" : null,
"union" : true,
"idlType" : [
{
"union" : false,
"generic" : null,
"nullable" : false,
"array" : false,
"sequence" : false,
"idlType" : "ImageData"
},
{
"generic" : null,
"union" : false,
"nullable" : false,
"array" : false,
"idlType" : "HTMLImageElement",
"sequence" : false
},
{
"array" : false,
"sequence" : false,
"idlType" : "HTMLCanvasElement",
"generic" : null,
"union" : false,
"nullable" : false
},
{
"union" : false,
"generic" : null,
"nullable" : false,
"array" : false,
"sequence" : false,
"idlType" : "HTMLVideoElement"
}
],
"sequence" : false,
"array" : false
},
"name" : "TexImageSource",
"extAttrs" : [],
"typeExtAttrs" : []
}
]

View file

@ -44,7 +44,6 @@
},
{
"type": "typedef",
"typeExtAttrs": [],
"idlType": {
"sequence": true,
"generic": "sequence",
@ -206,21 +205,21 @@
},
{
"type": "typedef",
"typeExtAttrs": [
{
"name": "Clamp",
"arguments": null
}
],
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "octet"
"idlType": "octet",
"extAttrs": [
{
"name": "Clamp",
"arguments": null
}
]
},
"name": "value",
"extAttrs": []
}
]
]

View file

@ -1,87 +1,127 @@
[
{
"type": "interface",
"name": "Union",
"partial": false,
"members": [
{
"type": "attribute",
"static": false,
"stringifier": false,
"inherit": false,
"readonly": false,
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": true,
"idlType": [
{
"partial": false,
"members": [
{
"idlType": {
"idlType": [
{
"array": false,
"union": false,
"sequence": false,
"generic": null,
"idlType": "float",
"nullable": false
},
{
"idlType": [
{
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "float"
"nullable": false,
"idlType": "Date",
"sequence": false,
"generic": null,
"union": false,
"array": false
},
{
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": true,
"idlType": [
{
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "Date"
},
{
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "Event"
}
]
},
{
"sequence": false,
"generic": null,
"nullable": true,
"array": false,
"union": true,
"idlType": [
{
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "Node"
},
{
"sequence": false,
"generic": null,
"nullable": false,
"array": false,
"union": false,
"idlType": "DOMString"
}
]
"nullable": false,
"idlType": "Event",
"generic": null,
"sequence": false,
"array": false,
"union": false
}
]
},
"name": "test",
"extAttrs": []
}
],
"inheritance": null,
"extAttrs": []
}
]
],
"nullable": false,
"sequence": false,
"generic": null,
"array": false,
"union": true
},
{
"generic": null,
"sequence": false,
"idlType": [
{
"array": false,
"union": false,
"sequence": false,
"generic": null,
"nullable": false,
"idlType": "Node"
},
{
"nullable": false,
"idlType": "DOMString",
"sequence": false,
"generic": null,
"array": false,
"union": false
}
],
"nullable": true,
"union": true,
"array": false
}
],
"nullable": false,
"generic": null,
"sequence": false,
"union": true,
"array": false
},
"name": "test",
"inherit": false,
"type": "attribute",
"extAttrs": [],
"readonly": false,
"stringifier": false,
"static": false
},
{
"readonly": false,
"extAttrs": [],
"stringifier": false,
"static": false,
"name": "test2",
"idlType": {
"nullable": false,
"idlType": [
{
"extAttrs": [
{
"name": "EnforceRange",
"arguments": null
}
],
"nullable": false,
"idlType": "long",
"generic": null,
"sequence": false,
"array": false,
"union": false
},
{
"array": false,
"union": false,
"sequence": false,
"generic": null,
"idlType": "Date",
"nullable": false
}
],
"generic": null,
"sequence": false,
"union": true,
"array": false
},
"inherit": false,
"type": "attribute"
}
],
"inheritance": null,
"name": "Union",
"extAttrs": [],
"type": "interface"
}
]

View file

@ -36,9 +36,10 @@ var pth = require("path")
, " </head>"
, " <body><div id='mocha'></div>"
, " <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'></script>"
, " <script src='../../node_modules/expect.js/expect.js'></script>"
, " <script src='../../node_modules/expect/umd/expect.min.js'></script>"
, " <script src='../../node_modules/expect.js/index.js'></script>"
, " <script src='../../node_modules/mocha/mocha.js'></script>"
, " <script src='../../node_modules/jsondiffpatch/jsondiffpatch.min.js'></script>"
, " <script src='../../node_modules/jsondiffpatch/public/build/jsondiffpatch.min.js'></script>"
, " <script src='../../lib/webidl2.js'></script>"
, " <script>mocha.setup('bdd');</script>"
, " <script src='run-tests.js'></script>"

View file

@ -10,7 +10,7 @@ describe("Parses all of the IDLs to produce the correct ASTs", function () {
// so we compare based on that
var diff = jsondiffpatch.diff(json, WebIDL2.parse(idl));
if (diff && debug) console.log(JSON.stringify(diff, null, 4));
expect(diff).to.be(undefined);
expect(diff).toBe(undefined);
}
catch (e) {
console.log(e.toString());
@ -36,11 +36,11 @@ describe("Parses all of the invalid IDLs to check that they blow up correctly",
error = e;
}
finally {
expect(error).to.be.ok();
expect(error.message).to.equal(err.message);
expect(error.line).to.equal(err.line);
expect(error).toExist();
expect(error.message).toEqual(err.message);
expect(error.line).toEqual(err.line);
}
};
}(idl, error));
it("should produce the right error for " + i, func);