24 lines
1.1 KiB
TypeScript
24 lines
1.1 KiB
TypeScript
import NodeFileSystemDirectoryHandle from '../src/NodeFileSystemDirectoryHandle.ts'
|
|
|
|
const textText="Hello World!"
|
|
const cwd_directory_handle = new NodeFileSystemDirectoryHandle('.')
|
|
const test_directory_handle = await cwd_directory_handle.getDirectoryHandle('test', { 'create': true })
|
|
for (let i = 0; i < 10000; i++) {
|
|
const file_handle = await test_directory_handle.getFileHandle(i+'.txt', { 'create': true })
|
|
let writable = await file_handle.createWritable()
|
|
await writable.write(textText+textText)
|
|
await writable.close()
|
|
writable = await file_handle.createWritable()
|
|
await writable.write(textText)
|
|
await writable.close()
|
|
const file = await file_handle.getFile()
|
|
console.log(file.webkitRelativePath)
|
|
const text = await file.text()
|
|
if (text !== textText) throw new Error("failed to read back written data")
|
|
}
|
|
const result = await cwd_directory_handle.getFileHandle('test/test.txt').catch(error => 'blocked path traversal')
|
|
if (typeof result === 'string') console.log(result)
|
|
else console.error('path traversal not blocked')
|
|
cwd_directory_handle.removeEntry('test',{recursive:true})
|
|
console.log('test complete')
|