| directory_test(async (t, root) => { |
| const file_name1 = 'foo1.txt'; |
| const file_name2 = 'foo2.txt'; |
| await createFileWithContents(t, file_name1, 'contents', /*parent=*/ root); |
| await createFileWithContents(t, file_name2, 'contents', /*parent=*/ root); |
| |
| let abortIter = async (dir) => { |
| for await (let entry of dir.getEntries()) { |
| return entry.name; |
| } |
| }; |
| |
| try { |
| await abortIter(root); |
| } catch(e) { |
| assert_unreached('Error thrown on iteration abort.'); |
| } |
| |
| }, 'getEntries(): returning early from an iteration works'); |
| |
| directory_test(async (t, root) => { |
| const file_name1 = 'foo1.txt'; |
| const file_name2 = 'foo2.txt'; |
| await createFileWithContents(t, file_name1, 'contents', /*parent=*/ root); |
| await createFileWithContents(t, file_name2, 'contents', /*parent=*/ root); |
| |
| let fullIter = async (dir) => { |
| let name; |
| for await (let entry of dir.getEntries()) { |
| name = entry.name; |
| } |
| return name; |
| }; |
| |
| try { |
| await fullIter(root); |
| } catch(e) { |
| assert_unreached('Error thrown on iteration.'); |
| } |
| |
| }, 'getEntries(): full iteration works'); |