27 lines
1.8 KiB
TypeScript
27 lines
1.8 KiB
TypeScript
/**
|
|
* 05-terminal: FS 操作(终端底层)
|
|
*/
|
|
import { describe, it, expect, beforeEach } from 'vitest'
|
|
import { fs } from '../../src/composables/useFS'
|
|
|
|
describe('05-terminal — FS 操作', () => {
|
|
beforeEach(() => {
|
|
localStorage.clear();
|
|
(fs as any).root = null
|
|
fs.init()
|
|
})
|
|
|
|
it('list 列出桌面文件', () => {
|
|
const items = fs.list(fs.HOME + '/Desktop')
|
|
expect(items.length).toBeGreaterThanOrEqual(2)
|
|
expect(items.map((i: any) => i.name)).toContain('welcome.txt')
|
|
})
|
|
it('read 读取文件', () => { expect(fs.read(fs.HOME + '/Desktop/welcome.txt')).toContain('欢迎') })
|
|
it('write + read 一致', () => { fs.write(fs.HOME + '/t.txt', 'hi'); expect(fs.read(fs.HOME + '/t.txt')).toBe('hi'); fs.remove(fs.HOME + '/t.txt') })
|
|
it('mkdir 创建目录', () => { fs.mkdir(fs.HOME + '/td'); expect(fs.isDir(fs.HOME + '/td')).toBe(true); fs.remove(fs.HOME + '/td') })
|
|
it('rename 重命名', () => { fs.write(fs.HOME + '/a.txt', ''); fs.rename(fs.HOME + '/a.txt', 'b.txt'); expect(fs.exists(fs.HOME + '/b.txt')).toBe(true); fs.remove(fs.HOME + '/b.txt') })
|
|
it('move 移动', () => { fs.write(fs.HOME + '/m.txt', ''); fs.move(fs.HOME + '/m.txt', fs.HOME + '/Documents'); expect(fs.exists(fs.HOME + '/Documents/m.txt')).toBe(true); fs.remove(fs.HOME + '/Documents/m.txt') })
|
|
it('copy 复制', () => { fs.copy(fs.HOME + '/Desktop/welcome.txt', fs.HOME + '/Documents'); const items = fs.list(fs.HOME + '/Documents'); const c = items.find((i: any) => i.name.includes('welcome')); expect(c).toBeTruthy(); fs.remove(fs.HOME + '/Documents/' + c!.name) })
|
|
it('trash + restore', () => { fs.write(fs.HOME + '/z.txt', ''); fs.trash(fs.HOME + '/z.txt'); expect(fs.exists(fs.HOME + '/z.txt')).toBe(false); fs.restore('z.txt'); expect(fs.exists(fs.HOME + '/z.txt')).toBe(true); fs.remove(fs.HOME + '/z.txt') })
|
|
})
|