mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
Update web-platform-tests to revision 8a2ceb5f18911302b7a5c1cd2791f4ab50ad4326
This commit is contained in:
parent
462c272380
commit
1f531f66ea
5377 changed files with 174916 additions and 84369 deletions
|
@ -0,0 +1,81 @@
|
|||
<html manifest="resources/appcache-worker.manifest">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
var resolveInitPromise;
|
||||
var initPromise = new Promise(r => { resolveInitPromise = r; });
|
||||
|
||||
applicationCache.addEventListener('cached', resolveInitPromise, false);
|
||||
applicationCache.addEventListener('noupdate', resolveInitPromise, false);
|
||||
|
||||
promise_test(t => {
|
||||
return initPromise.then(_ => {
|
||||
var worker =
|
||||
new Worker('resources/appcache-worker.py?type=cached');
|
||||
return new Promise(r => { worker.onmessage = r; });
|
||||
}).then(event => {
|
||||
assert_equals(event.data, 'Done: cached');
|
||||
});
|
||||
}, 'Dedicated worker of the cached script');
|
||||
|
||||
promise_test(t => {
|
||||
return initPromise.then(_ => {
|
||||
var worker =
|
||||
new Worker('resources/appcache-worker.py?type=fallingback');
|
||||
return new Promise(r => { worker.onmessage = r; });
|
||||
}).then(event => {
|
||||
assert_equals(event.data, 'Done: fallbacked');
|
||||
});
|
||||
}, 'Dedicated worker of the fallbacked script');
|
||||
|
||||
promise_test(t => {
|
||||
return initPromise.then(_ => {
|
||||
var worker =
|
||||
new Worker('resources/appcache-dedicated-worker-not-in-cache.js');
|
||||
return new Promise((resolve, reject) => {
|
||||
worker.onerror = resolve;
|
||||
worker.onmessage = _ => {
|
||||
reject('The worker not in the AppCache must not be executed.');
|
||||
};
|
||||
});
|
||||
});
|
||||
}, 'Dedicated worker of the not-in-cache script');
|
||||
|
||||
promise_test(t => {
|
||||
return initPromise.then(_ => {
|
||||
var worker =
|
||||
new SharedWorker('resources/appcache-worker.py?type=cached');
|
||||
var promise = new Promise(r => { worker.port.onmessage = r; });
|
||||
worker.port.start();
|
||||
return promise;
|
||||
}).then(event => {
|
||||
assert_equals(event.data, 'Done: cached');
|
||||
});
|
||||
}, 'Shared worker of the cached script');
|
||||
|
||||
promise_test(t => {
|
||||
return initPromise.then(_ => {
|
||||
var worker =
|
||||
new SharedWorker('resources/appcache-worker.py?type=fallingback');
|
||||
var promise = new Promise(r => { worker.port.onmessage = r; });
|
||||
worker.port.start();
|
||||
return promise;
|
||||
}).then(event => {
|
||||
assert_equals(event.data, 'Done: fallbacked');
|
||||
});
|
||||
}, 'Shared worker of the fallbacked script');
|
||||
|
||||
promise_test(t => {
|
||||
return initPromise.then(_ => {
|
||||
var worker =
|
||||
new SharedWorker(
|
||||
'resources/appcache-shared-worker-not-in-cache.js');
|
||||
var promise = new Promise(r => { worker.port.onmessage = r; });
|
||||
worker.port.start();
|
||||
return promise;
|
||||
}).then(event => {
|
||||
assert_equals(event.data, 'Done');
|
||||
});
|
||||
}, 'Shared worker of the not-in-cache script');
|
||||
</script>
|
||||
</html>
|
|
@ -0,0 +1 @@
|
|||
postMessage('Done');
|
|
@ -0,0 +1,64 @@
|
|||
var info = '';
|
||||
|
||||
var initPromise = new Promise(resolve => {
|
||||
self.addEventListener('connect', event => {
|
||||
self.postMessage = msg => { event.ports[0].postMessage(msg); };
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
|
||||
function importNotInCacheSciptTest() {
|
||||
return new Promise((resolve, reject) => {
|
||||
try {
|
||||
importScripts('appcache-worker-import.py?type=not-in-cache');
|
||||
} catch(e) {
|
||||
reject(new Error('Error while importing the not-in-cache script: ' +
|
||||
e.toString()));
|
||||
return;
|
||||
}
|
||||
if (info != 'Set by the not-in-cache script') {
|
||||
reject(new Error('The not-in-cache script was not correctly executed'));
|
||||
}
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
|
||||
function importFallbackSciptTest() {
|
||||
return new Promise((resolve, reject) => {
|
||||
try {
|
||||
importScripts('appcache-worker-import.py?type=fallingback');
|
||||
reject(new Error('Importing a fallback script must fail.'));
|
||||
} catch(e) {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function fetchNotInCacheFileTest() {
|
||||
return fetch('appcache-worker-data.py?type=not-in-cache')
|
||||
.then(res => res.text(),
|
||||
_ => { throw new Error('Failed to fetch not-in-cache file'); })
|
||||
.then(text => {
|
||||
if (text != 'not-in-cache') {
|
||||
throw new Error('not-in-cache file mismatch');
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function fetchFallbackFileTest() {
|
||||
return fetch('appcache-worker-data.py?type=fallingback')
|
||||
.then(res => {
|
||||
if (res.status != 404) {
|
||||
throw new Error(
|
||||
'Fetching fallback file must resolve with 404 response');
|
||||
}
|
||||
},
|
||||
_ => { throw new Error('Fetching fallback file must not fail'); });
|
||||
}
|
||||
|
||||
initPromise
|
||||
.then(importNotInCacheSciptTest)
|
||||
.then(importFallbackSciptTest)
|
||||
.then(fetchNotInCacheFileTest)
|
||||
.then(fetchFallbackFileTest)
|
||||
.then(_ => postMessage('Done'), error => postMessage(error.toString()));
|
|
@ -0,0 +1,5 @@
|
|||
def main(request, response):
|
||||
type = request.GET['type']
|
||||
if request.GET['type'] == 'fallingback':
|
||||
return 404, [('Content-Type', 'text/plain')], "Page not found"
|
||||
return [('Content-Type', 'text/plain')], type
|
|
@ -0,0 +1,7 @@
|
|||
script = 'info = \'Set by the %s script\';'
|
||||
|
||||
def main(request, response):
|
||||
type = request.GET['type']
|
||||
if request.GET['type'] == 'fallingback':
|
||||
return 404, [('Content-Type', 'text/plain')], "Page not found"
|
||||
return [('Content-Type', 'text/javascript')], script % type
|
|
@ -0,0 +1,10 @@
|
|||
CACHE MANIFEST
|
||||
|
||||
appcache-worker.py?type=cached
|
||||
appcache-worker-import.py?type=cached
|
||||
appcache-worker-data.py?type=cached
|
||||
|
||||
FALLBACK:
|
||||
appcache-worker.py?type=fallingback appcache-worker.py?type=fallbacked
|
||||
appcache-worker-import.py?type=fallingback appcache-worker-import.py?type=fallbacked
|
||||
appcache-worker-data.py?type=fallingback appcache-worker-data.py?type=fallbacked
|
|
@ -0,0 +1,102 @@
|
|||
script = '''
|
||||
var initPromise = Promise.resolve();
|
||||
|
||||
if ('SharedWorkerGlobalScope' in self &&
|
||||
self instanceof SharedWorkerGlobalScope) {
|
||||
initPromise = new Promise(resolve => {
|
||||
self.addEventListener('connect', event => {
|
||||
self.postMessage = msg => { event.ports[0].postMessage(msg); };
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
var info = '';
|
||||
|
||||
function importCachedScriptTest() {
|
||||
return new Promise((resolve, reject) => {
|
||||
info = '';
|
||||
try {
|
||||
importScripts('appcache-worker-import.py?type=cached');
|
||||
} catch(e) {
|
||||
reject(new Error('Error while importing the cached script: ' +
|
||||
e.toString()));
|
||||
return;
|
||||
}
|
||||
if (info != 'Set by the cached script') {
|
||||
reject(new Error('The cached script was not correctly executed'));
|
||||
}
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
|
||||
function importNotInCacheSciptTest() {
|
||||
return new Promise((resolve, reject) => {
|
||||
try {
|
||||
importScripts('appcache-worker-import.py?type=not-in-cache');
|
||||
reject(new Error('Importing a non-cached script must fail.'));
|
||||
} catch(e) {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function importFallbackSciptTest() {
|
||||
return new Promise((resolve, reject) => {
|
||||
info = '';
|
||||
try {
|
||||
importScripts('appcache-worker-import.py?type=fallingback');
|
||||
} catch(e) {
|
||||
reject(new Error('Error while importing the fallingback script: ' +
|
||||
e.toString()));
|
||||
}
|
||||
if (info != 'Set by the fallbacked script') {
|
||||
reject(new Error('The fallingback script was not correctly executed'));
|
||||
}
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
|
||||
function fetchCachedFileTest() {
|
||||
return fetch('appcache-worker-data.py?type=cached')
|
||||
.then(res => res.text(),
|
||||
_ => { throw new Error('Failed to fetch cached file'); })
|
||||
.then(text => {
|
||||
if (text != 'cached') {
|
||||
throw new Error('cached file missmatch');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function fetchNotInCacheFileTest() {
|
||||
return fetch('appcache-worker-data.py?type=not-in-cache')
|
||||
.then(_ => { throw new Error('Fetching not-in-cache file must fail'); },
|
||||
_ => {});
|
||||
}
|
||||
|
||||
function fetchFallbackFileTest() {
|
||||
return fetch('appcache-worker-data.py?type=fallingback')
|
||||
.then(res => res.text(),
|
||||
_ => { throw new Error('Failed to fetch fallingback file'); })
|
||||
.then(text => {
|
||||
if (text != 'fallbacked') {
|
||||
throw new Error('fallbacked file miss match');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
initPromise
|
||||
.then(importCachedScriptTest)
|
||||
.then(importNotInCacheSciptTest)
|
||||
.then(importFallbackSciptTest)
|
||||
.then(fetchCachedFileTest)
|
||||
.then(fetchNotInCacheFileTest)
|
||||
.then(_ => postMessage('Done: %s'),
|
||||
error => postMessage(error.toString()));
|
||||
'''
|
||||
|
||||
def main(request, response):
|
||||
type = request.GET['type']
|
||||
if request.GET['type'] == 'fallingback':
|
||||
return 404, [('Content-Type', 'text/plain')], "Page not found"
|
||||
return [('Content-Type', 'text/javascript')], script % type
|
Loading…
Add table
Add a link
Reference in a new issue