mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Update web-platform-tests to revision d7afcb8708eac08a614d161d5622a48172daf7e3
This commit is contained in:
parent
6f8bb4dd40
commit
edff458e23
791 changed files with 17647 additions and 10322 deletions
76
tests/wpt/web-platform-tests/sms/sms_provider.js
Normal file
76
tests/wpt/web-platform-tests/sms/sms_provider.js
Normal file
|
@ -0,0 +1,76 @@
|
|||
let interceptor = (async function() {
|
||||
let load = Promise.resolve();
|
||||
[
|
||||
'/gen/layout_test_data/mojo/public/js/mojo_bindings_lite.js',
|
||||
'/gen/mojo/public/mojom/base/big_buffer.mojom-lite.js',
|
||||
'/gen/mojo/public/mojom/base/string16.mojom-lite.js',
|
||||
'/gen/mojo/public/mojom/base/time.mojom-lite.js',
|
||||
'/gen/third_party/blink/public/mojom/sms/sms_manager.mojom-lite.js',
|
||||
].forEach(path => {
|
||||
let script = document.createElement('script');
|
||||
script.src = path;
|
||||
script.async = false;
|
||||
load = load.then(() => new Promise(resolve => {
|
||||
script.onload = resolve;
|
||||
}));
|
||||
document.head.appendChild(script);
|
||||
});
|
||||
|
||||
return load.then(intercept);
|
||||
})();
|
||||
|
||||
class SmsProvider {
|
||||
getNextMessage(timeout) {
|
||||
return this.handler.getNextMessage(timeout);
|
||||
}
|
||||
setHandler(handler) {
|
||||
this.handler = handler;
|
||||
return this;
|
||||
}
|
||||
setBinding(binding) {
|
||||
this.binding = binding;
|
||||
return this;
|
||||
}
|
||||
close() {
|
||||
this.binding.close();
|
||||
}
|
||||
}
|
||||
|
||||
function getNextMessage(timeout, callback) {
|
||||
throw new Error("expected to be overriden by tests");
|
||||
}
|
||||
|
||||
async function close() {
|
||||
let provider = await interceptor;
|
||||
provider.close();
|
||||
}
|
||||
|
||||
function expect(call) {
|
||||
return {
|
||||
async andReturn(callback) {
|
||||
let handler = {};
|
||||
handler[call.name] = callback;
|
||||
let provider = await interceptor;
|
||||
provider.setHandler(handler);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const Status = {};
|
||||
|
||||
function intercept() {
|
||||
let provider = new SmsProvider();
|
||||
|
||||
let interceptor = new MojoInterfaceInterceptor(blink.mojom.SmsManager.$interfaceName);
|
||||
interceptor.oninterfacerequest = (e) => {
|
||||
let impl = new blink.mojom.SmsManager(provider);
|
||||
impl.bindHandle(e.handle);
|
||||
}
|
||||
|
||||
interceptor.start();
|
||||
|
||||
Status.kSuccess = blink.mojom.SmsStatus.kSuccess;
|
||||
Status.kTimeout = blink.mojom.SmsStatus.kTimeout;
|
||||
|
||||
return provider;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue