| 'use strict'; |
| |
| directory_test(async (t, root_dir) => { |
| assert_true(await root_dir.isSameEntry(root_dir)); |
| |
| const subdir = await createDirectory(t, 'subdir-name', root_dir); |
| assert_true(await subdir.isSameEntry(subdir)); |
| }, 'isSameEntry for identical directory handles returns true'); |
| |
| directory_test(async (t, root_dir) => { |
| const subdir = await createDirectory(t, 'subdir-name', root_dir); |
| |
| assert_false(await root_dir.isSameEntry(subdir)); |
| assert_false(await subdir.isSameEntry(root_dir)); |
| }, 'isSameEntry for different directories returns false'); |
| |
| directory_test(async (t, root_dir) => { |
| const subdir = await createDirectory(t, 'subdir-name', root_dir); |
| const subdir2 = await root_dir.getDirectoryHandle('subdir-name'); |
| |
| assert_true(await subdir.isSameEntry(subdir2)); |
| assert_true(await subdir2.isSameEntry(subdir)); |
| }, 'isSameEntry for different handles for the same directory'); |
| |
| directory_test(async (t, root_dir) => { |
| const handle = await createEmptyFile(t, 'mtime.txt', root_dir); |
| |
| assert_true(await handle.isSameEntry(handle)); |
| }, 'isSameEntry for identical file handles returns true'); |
| |
| directory_test(async (t, root_dir) => { |
| const handle1 = await createEmptyFile(t, 'mtime.txt', root_dir); |
| const handle2 = await createEmptyFile(t, 'foo.txt', root_dir); |
| |
| assert_false(await handle1.isSameEntry(handle2)); |
| assert_false(await handle2.isSameEntry(handle1)); |
| }, 'isSameEntry for different files returns false'); |
| |
| directory_test(async (t, root_dir) => { |
| const handle1 = await createEmptyFile(t, 'mtime.txt', root_dir); |
| const handle2 = await root_dir.getFileHandle('mtime.txt'); |
| |
| assert_true(await handle1.isSameEntry(handle2)); |
| assert_true(await handle2.isSameEntry(handle1)); |
| }, 'isSameEntry for different handles for the same file'); |
| |
| directory_test(async (t, root_dir) => { |
| const handle1 = await createEmptyFile(t, 'mtime.txt', root_dir); |
| const subdir = await createDirectory(t, 'subdir-name', root_dir); |
| const handle2 = await createEmptyFile(t, 'mtime.txt', subdir); |
| |
| assert_false(await handle1.isSameEntry(handle2)); |
| assert_false(await handle2.isSameEntry(handle1)); |
| }, 'isSameEntry comparing a file to a file in a different directory returns false'); |
| |
| directory_test(async (t, root_dir) => { |
| const handle1 = await createEmptyFile(t, 'mtime.txt', root_dir); |
| const handle2 = await createDirectory(t, 'subdir-name', root_dir); |
| |
| assert_false(await handle1.isSameEntry(handle2)); |
| assert_false(await handle2.isSameEntry(handle1)); |
| }, 'isSameEntry comparing a file to a directory returns false'); |
| |
| directory_test(async (t, root_dir) => { |
| const filename = 'foo'; |
| const handle1 = await createEmptyFile(t, filename, root_dir); |
| // Remove the file and create a new file of the same path. |
| await root_dir.removeEntry(filename); |
| const handle2 = await createEmptyFile(t, filename, root_dir); |
| |
| assert_true( |
| await handle1.isSameEntry(handle2), |
| 'two file handles pointing at the same path should be considered the same entry'); |
| assert_true( |
| await handle2.isSameEntry(handle1), |
| 'two file handles pointing at the same path should be considered the same entry'); |
| }, 'isSameEntry comparing two files pointing to the same path returns true'); |
| |
| directory_test(async (t, root_dir) => { |
| const filename = 'foo'; |
| const handle1 = await createDirectory(t, filename, root_dir); |
| // Remove the directory and create a new directory of the same path. |
| await root_dir.removeEntry(filename); |
| const handle2 = await createDirectory(t, filename, root_dir); |
| |
| assert_true( |
| await handle1.isSameEntry(handle2), |
| 'two directory handles pointing at the same path should be considered the same entry'); |
| assert_true( |
| await handle2.isSameEntry(handle1), |
| 'two directory handles pointing at the same path should be considered the same entry'); |
| }, 'isSameEntry comparing two directories pointing to the same path returns true'); |
| |
| directory_test(async (t, root_dir) => { |
| const filename = 'foo'; |
| const dir_handle = await createDirectory(t, filename, root_dir); |
| // Remove the directory and create a file of the same path. |
| await root_dir.removeEntry(filename); |
| const file_handle = await createEmptyFile(t, filename, root_dir); |
| |
| assert_false( |
| await dir_handle.isSameEntry(file_handle), |
| 'a file and directory handle pointing at the same path should not be considered the same entry'); |
| assert_false( |
| await file_handle.isSameEntry(dir_handle), |
| 'a file and directory handle pointing at the same path should not be considered the same entry'); |
| }, 'isSameEntry comparing a file to a directory of the same path returns false'); |