| 1 | import { describe, expect, it } from 'vitest' |
| 2 | import { isSafeDrawingKey } from './drawings' |
| 3 | |
| 4 | describe('isSafeDrawingKey', () => { |
| 5 | it('accepts numeric keys', () => expect(isSafeDrawingKey('/deck/.slidev/drawings', '3')).toBe(true)) |
| 6 | it('rejects traversal', () => expect(isSafeDrawingKey('/deck/.slidev/drawings', '../../evil')).toBe(false)) |
| 7 | it('rejects separators', () => expect(isSafeDrawingKey('/deck/.slidev/drawings', 'a/b')).toBe(false)) |
| 8 | it('rejects empty keys', () => expect(isSafeDrawingKey('/deck/.slidev/drawings', '')).toBe(false)) |
| 9 | it('rejects non-numeric keys', () => expect(isSafeDrawingKey('/deck/.slidev/drawings', 'abc')).toBe(false)) |
| 10 | }) |
| 11 |