Update web-platform-tests and CSS tests.

- Update CSS tests to revision e05bfd5e30ed662c2f8a353577003f8eed230180.
- Update web-platform-tests to revision a052787dd5c069a340031011196b73affbd68cd9.
This commit is contained in:
Ms2ger 2017-02-06 11:06:12 +01:00
parent fb4f421c8b
commit 296fa2512b
21852 changed files with 2080936 additions and 892894 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -0,0 +1,27 @@
self.onmessage = event => {
// Checking for a particular value, so more tests can be added in future.
if (event.data !== 'test-shownotification') return;
// Random number, so we can identify the notification we create.
const random = Math.random().toString();
const start = Date.now();
event.waitUntil(
self.registration.showNotification('test', {
tag: random,
// ?pipe=trickle(d2) delays the icon request by two seconds
icon: 'icon.png?pipe=trickle(d2)'
}).then(() => {
const resolveDuration = Date.now() - start;
return self.registration.getNotifications().then(notifications => {
event.source.postMessage({
type: 'notification-data',
resolveDuration,
// Check if our notification is in notifications
notificationReturned: notifications.some(n => n.tag == random)
});
});
})
);
};

View file

@ -0,0 +1,52 @@
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
<script>
const worker = 'resources/shownotification-sw.js';
function reset() {
return navigator.serviceWorker.getRegistrations().then(registrations => {
return Promise.all(registrations.map(r => r.unregister()));
});
}
function getNewestWorker(reg) {
return reg.installing || reg.waiting || reg.active;
}
function registerSwAndGetWorker() {
return reset()
.then(() => navigator.serviceWorker.register(worker))
.then(getNewestWorker);
}
promise_test(() => {
// Get notification permission
return Notification.requestPermission().then(permission => {
if (permission != "granted") {
throw Error('You must allow notifications for this origin before running this test.');
}
return registerSwAndGetWorker();
}).then(worker => {
return new Promise(resolve => {
// Wait for the service worker to post a message with type 'notification-data'.
navigator.serviceWorker.onmessage = event => {
if (event.data && event.data.type == 'notification-data') {
resolve(event.data);
navigator.serviceWorker.onmessage = null;
}
};
// Ask the service worker to run the test.
worker.postMessage('test-shownotification');
})
}).then(result => {
assert_true(result.notificationReturned, `Notification appeared in getNotifications`);
// The icon is delayed by 2000ms, so showNotification should have taken at least 1900 to resolve.
assert_greater_than(result.resolveDuration, 1900, `showNotification appeared to wait for icon load`);
});
}, 'showNotification resolves after icon fetch');
</script>
</body>