gecko-dev/testing/web-platform/tests/native-file-system/script-tests/FileSystemDirectoryHandle-resolve.js
Marijn Kruisselbrink 2876aa5216 Bug 1620475 [wpt PR 22110] - [NativeFS] Implement resolve and isSameEntry., a=testonly
Automatic update from web-platform-tests
[NativeFS] Implement resolve and isSameEntry.

These methods let you compare if two handles represent the same entry, and
get the relative path of an entry inside a directory.

Bug: 1021351, 955184
Change-Id: I00f5be46b13c24973e9ad107f885047483656580
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2089955
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Olivier Yiptong <oyiptong@chromium.org>
Commit-Queue: Marijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#748485}

--

wpt-commits: ea00820737f30eeb9ef8fad5ed769c1a8863e600
wpt-pr: 22110
2020-03-13 16:46:37 +00:00

27 lines
1.1 KiB
JavaScript

'use strict';
directory_test(async (t, root_dir) => {
assert_array_equals(await root_dir.resolve(root_dir), []);
}, 'Resolve returns empty array for same directory');
directory_test(async (t, root_dir) => {
const subdir = await createDirectory(t, 'subdir-name', root_dir);
const file = await createEmptyFile(t, 'file-name', subdir);
assert_array_equals(await root_dir.resolve(file), ['subdir-name', 'file-name']);
}, 'Resolve returns correct path');
directory_test(async (t, root_dir) => {
const subdir = await createDirectory(t, 'subdir😊', root_dir);
const file = await createEmptyFile(t, 'file-name', subdir);
assert_array_equals(await root_dir.resolve(file), ['subdir😊', 'file-name']);
assert_array_equals(await root_dir.resolve(subdir), ['subdir😊']);
}, 'Resolve returns correct path with non-ascii characters');
directory_test(async (t, root_dir) => {
const subdir = await createDirectory(t, 'subdir-name', root_dir);
const file = await createEmptyFile(t, 'file-name', root_dir);
assert_equals(await subdir.resolve(file), null);
}, 'Resolve returns null when entry is not a child');