mirror of
https://github.com/servo/servo.git
synced 2025-08-16 10:55:34 +01:00
Update web-platform-tests to revision 20424e735a5e6ac7a474ae35d86c714272aea0e8
This commit is contained in:
parent
eac2607a06
commit
39f4d8b931
94 changed files with 1332 additions and 233 deletions
|
@ -0,0 +1,67 @@
|
|||
async function cleanupSandboxedFileSystem() {
|
||||
const dir = await FileSystemDirectoryHandle.getSystemDirectory({ type: 'sandbox' });
|
||||
for await (let entry of dir.getEntries()) {
|
||||
if (entry.isDirectory)
|
||||
await entry.removeRecursively();
|
||||
else
|
||||
await entry.remove();
|
||||
}
|
||||
}
|
||||
|
||||
async function getFileSize(handle) {
|
||||
const file = await handle.getFile();
|
||||
return file.size;
|
||||
}
|
||||
|
||||
async function getFileContents(handle) {
|
||||
const file = await handle.getFile();
|
||||
return new Response(file).text();
|
||||
}
|
||||
|
||||
async function getDirectoryEntryCount(handle) {
|
||||
let result = 0;
|
||||
for await (let entry of handle.getEntries()) {
|
||||
result++;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
async function getSortedDirectoryEntries(handle) {
|
||||
let result = [];
|
||||
for await (let entry of handle.getEntries()) {
|
||||
if (entry.isDirectory)
|
||||
result.push(entry.name + '/');
|
||||
else
|
||||
result.push(entry.name);
|
||||
}
|
||||
result.sort();
|
||||
return result;
|
||||
}
|
||||
|
||||
async function createEmptyFile(test, name, parent) {
|
||||
const dir = parent ? parent : await FileSystemDirectoryHandle.getSystemDirectory({ type: 'sandbox' });
|
||||
const handle = await dir.getFile(name, { create: true });
|
||||
test.add_cleanup(async () => {
|
||||
try {
|
||||
await handle.remove();
|
||||
} catch (e) {
|
||||
// Ignore any errors when removing files, as tests might already remove the file.
|
||||
}
|
||||
});
|
||||
// Make sure the file is empty.
|
||||
assert_equals(await getFileSize(handle), 0);
|
||||
return handle;
|
||||
}
|
||||
|
||||
async function createFileWithContents(test, name, contents, parent) {
|
||||
const handle = await createEmptyFile(test, name, parent);
|
||||
const writer = await handle.createWriter();
|
||||
await writer.write(0, new Blob([contents]));
|
||||
return handle;
|
||||
}
|
||||
|
||||
function garbageCollect() {
|
||||
// TODO(https://github.com/web-platform-tests/wpt/issues/7899): Change to
|
||||
// some sort of cross-browser GC trigger.
|
||||
if (self.gc) self.gc();
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue