Update web-platform-tests to revision 7ed49cff4d031720f829c01df837ed7a09ad5c60

This commit is contained in:
Ms2ger 2016-02-24 09:25:47 +01:00
parent 33f0040496
commit 62a9bebeef
220 changed files with 8623 additions and 559 deletions

View file

@ -0,0 +1,24 @@
# Presentation API Tests
This test suite is currently tracking the [Editor Draft][editor-draft] of the Presentation API. The Presentation API describes the [conformance criteria for two classes of user agents][conformance-classes] ([controlling user agent][dfn-controlling-user-agent] and [receiving user agent][dfn-receiving-user-agent]). Each of the two subfolders [controlling-ua](./controlling-ua) and [receiving-ua](./receiving-ua) contains the Presentation API tests for each class of user agents.
## IDL Tests
Each of the [controlling-ua](./controlling-ua) and [receiving-ua](./receiving-ua) subfolders contains a file `idlharness.html` that defines IDL tests of the Presentation API for controlling and receiving user agents. The WebIDL of the Presentation API spec is extracted from the [Editor Draft][editor-draft] by running the following JavaScript code in the Dev. console of the Browser.
```javascript
(function(){
var s = "";
[].forEach.call(document.getElementsByClassName("idl"), function(idl) {
if (!idl.classList.contains("extract"))
s += idl.textContent + "\n\n";
});
document.body.innerHTML = '<pre></pre>';
document.body.firstChild.textContent = s;
})();
```
[editor-draft]: http://w3c.github.io/presentation-api/
[conformance-classes]: http://w3c.github.io/presentation-api/#conformance-classes
[dfn-controlling-user-agent]: http://w3c.github.io/presentation-api/#dfn-controlling-user-agent
[dfn-receiving-user-agent]: http://w3c.github.io/presentation-api/#dfn-receiving-user-agent

View file

@ -0,0 +1,121 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Presentation API IDL tests for Controlling User Agent</title>
<link rel="author" title="Louay Bassbouss" href="http://www.fokus.fraunhofer.de">
<link rel="help" href="http://w3c.github.io/presentation-api/#dfn-controlling-user-agent">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/WebIDLParser.js"></script>
<script src="/resources/idlharness.js"></script>
<script id="untested_idl" type="text/plain">
interface Navigator {
};
interface EventTarget {
};
interface EventHandler {
};
interface Event {
};
dictionary EventInit {
};
</script>
<script id='idl' type="text/plain">
partial interface Navigator {
[SameObject]
readonly attribute Presentation? presentation;
};
interface Presentation {
};
partial interface Presentation {
attribute PresentationRequest? defaultRequest;
};
[Constructor(DOMString url)]
interface PresentationRequest : EventTarget {
Promise<PresentationConnection> start();
Promise<PresentationConnection> reconnect(DOMString presentationId);
Promise<PresentationAvailability> getAvailability();
attribute EventHandler onconnectionavailable;
};
interface PresentationAvailability : EventTarget {
readonly attribute boolean value;
attribute EventHandler onchange;
};
[Constructor(DOMString type, PresentationConnectionAvailableEventInit eventInitDict)]
interface PresentationConnectionAvailableEvent : Event {
[SameObject]
readonly attribute PresentationConnection connection;
};
dictionary PresentationConnectionAvailableEventInit : EventInit {
required PresentationConnection connection;
};
enum PresentationConnectionState {
"connecting",
"connected",
"closed",
"terminated"
};
enum BinaryType {
"blob",
"arraybuffer"
};
interface PresentationConnection : EventTarget {
readonly attribute DOMString? id;
readonly attribute PresentationConnectionState state;
void close();
void terminate();
attribute EventHandler onconnect;
attribute EventHandler onclose;
attribute EventHandler onterminate;
// Communication
attribute BinaryType binaryType;
attribute EventHandler onmessage;
void send(DOMString message);
void send(Blob data);
void send(ArrayBuffer data);
void send(ArrayBufferView data);
};
enum PresentationConnectionClosedReason {
"error",
"closed",
"wentaway"
};
[Constructor(DOMString type, PresentationConnectionClosedEventInit eventInitDict)]
interface PresentationConnectionClosedEvent : Event {
readonly attribute PresentationConnectionClosedReason reason;
readonly attribute DOMString message;
};
dictionary PresentationConnectionClosedEventInit : EventInit {
required PresentationConnectionClosedReason reason;
DOMString message;
};
</script>
<script>
(function() {
"use strict";
var idl_array = new IdlArray();
var idls = document.getElementById('idl').textContent;
idl_array.add_untested_idls(document.getElementById('untested_idl').textContent);
idl_array.add_idls(idls);
idl_array.add_objects({
Presentation: ['navigator.presentation'],
PresentationRequest: ['navigator.presentation.defaultRequest', 'new PresentationRequest("/presentation-api/receiving-ua/idlharness.html")']
});
idl_array.test();
})();
</script>

View file

@ -0,0 +1,119 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Presentation API IDL tests for Receiving User Agent</title>
<link rel="author" title="Louay Bassbouss" href="http://www.fokus.fraunhofer.de">
<link rel="help" href="http://w3c.github.io/presentation-api/#dfn-receiving-user-agent">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/WebIDLParser.js"></script>
<script src="/resources/idlharness.js"></script>
<script id="untested_idl" type="text/plain">
interface Navigator {
};
interface EventTarget {
};
interface EventHandler {
};
interface Event {
};
dictionary EventInit {
};
</script>
<script id='idl' type="text/plain">
partial interface Navigator {
[SameObject]
readonly attribute Presentation? presentation;
};
interface Presentation {
};
partial interface Presentation {
[SameObject]
readonly attribute PresentationReceiver? receiver;
};
[Constructor(DOMString type, PresentationConnectionAvailableEventInit eventInitDict)]
interface PresentationConnectionAvailableEvent : Event {
[SameObject]
readonly attribute PresentationConnection connection;
};
dictionary PresentationConnectionAvailableEventInit : EventInit {
required PresentationConnection connection;
};
enum PresentationConnectionState {
"connecting",
"connected",
"closed",
"terminated"
};
enum BinaryType {
"blob",
"arraybuffer"
};
interface PresentationConnection : EventTarget {
readonly attribute DOMString? id;
readonly attribute PresentationConnectionState state;
void close();
void terminate();
attribute EventHandler onconnect;
attribute EventHandler onclose;
attribute EventHandler onterminate;
// Communication
attribute BinaryType binaryType;
attribute EventHandler onmessage;
void send(DOMString message);
void send(Blob data);
void send(ArrayBuffer data);
void send(ArrayBufferView data);
};
enum PresentationConnectionClosedReason {
"error",
"closed",
"wentaway"
};
[Constructor(DOMString type, PresentationConnectionClosedEventInit eventInitDict)]
interface PresentationConnectionClosedEvent : Event {
readonly attribute PresentationConnectionClosedReason reason;
readonly attribute DOMString message;
};
dictionary PresentationConnectionClosedEventInit : EventInit {
required PresentationConnectionClosedReason reason;
DOMString message;
};
interface PresentationReceiver {
[SameObject]
readonly attribute Promise<PresentationConnectionList> connectionList;
};
interface PresentationConnectionList : EventTarget {
readonly attribute FrozenArray<PresentationConnection> connections;
attribute EventHandler onconnectionavailable;
};
</script>
<script>
(function() {
"use strict";
var idl_array = new IdlArray();
var idls = document.getElementById('idl').textContent;
idl_array.add_untested_idls(document.getElementById('untested_idl').textContent);
idl_array.add_idls(idls);
idl_array.add_objects({
Presentation: ['navigator.presentation'],
PresentationReceiver: ['navigator.presentation.receiver']
});
idl_array.test();
})();
</script>