Create standalone browser port of LTX Athena with authenticated native API transport
This commit is contained in:
commit
1333b0c36b
202 files changed
+63054
No files matched your search
@@ -0,0 +1,62 @@
|
||||
import assert from 'node:assert/strict'
|
||||
import { describe, it } from 'node:test'
|
||||
import { imagePathsFromDataTransfer, imagePathsFromFiles } from './keyframe-drop.ts'
|
||||
|
||||
describe('imagePathsFromFiles', () => {
|
||||
it('keeps image files in selection order and skips non-images', () => {
|
||||
const files = [
|
||||
new File(['a'], 'a.png', { type: 'image/png' }),
|
||||
new File(['b'], 'notes.txt', { type: 'text/plain' }),
|
||||
new File(['c'], 'c.jpg', { type: 'image/jpeg' }),
|
||||
]
|
||||
|
||||
assert.deepEqual(
|
||||
imagePathsFromFiles(files, (file) => `/picked/${file.name}`),
|
||||
['/picked/a.png', '/picked/c.jpg'],
|
||||
)
|
||||
})
|
||||
})
|
||||
|
||||
describe('imagePathsFromDataTransfer', () => {
|
||||
it('reads a gallery image asset', () => {
|
||||
const dataTransfer = {
|
||||
getData: (type: string) => (
|
||||
type === 'asset'
|
||||
? JSON.stringify({ type: 'image', path: '/gallery/still.png' })
|
||||
: ''
|
||||
),
|
||||
files: [] as unknown as FileList,
|
||||
} as DataTransfer
|
||||
|
||||
assert.deepEqual(imagePathsFromDataTransfer(dataTransfer), ['/gallery/still.png'])
|
||||
})
|
||||
|
||||
it('ignores non-image gallery assets', () => {
|
||||
const dataTransfer = {
|
||||
getData: (type: string) => (
|
||||
type === 'asset'
|
||||
? JSON.stringify({ type: 'video', path: '/gallery/clip.mp4' })
|
||||
: ''
|
||||
),
|
||||
files: [] as unknown as FileList,
|
||||
} as DataTransfer
|
||||
|
||||
assert.deepEqual(imagePathsFromDataTransfer(dataTransfer), [])
|
||||
})
|
||||
|
||||
it('collects dropped OS image files when no gallery asset is present', () => {
|
||||
const files = [
|
||||
new File(['a'], 'one.png', { type: 'image/png' }),
|
||||
new File(['b'], 'two.png', { type: 'image/png' }),
|
||||
]
|
||||
const dataTransfer = {
|
||||
getData: () => '',
|
||||
files,
|
||||
} as unknown as DataTransfer
|
||||
|
||||
assert.deepEqual(
|
||||
imagePathsFromDataTransfer(dataTransfer, (file) => `/os/${file.name}`),
|
||||
['/os/one.png', '/os/two.png'],
|
||||
)
|
||||
})
|
||||
})
|
||||
Reference in new issue
Block a user