bak
This commit is contained in:
1 parent
e851d52aef
commit
fcefd258eb
6 files changed
+533
-91
No files matched your search
@@ -1114,6 +1114,67 @@ export function registerAllTests(): void {
|
||||
expect(ci.trimEnd).toBe(0)
|
||||
})
|
||||
|
||||
test('setTrackColor applies to layer and can be cleared with null', () => {
|
||||
const s = makeFreshStore()
|
||||
const a = s.addAsset({ kind: 'rect', name: 'Col', width: 20, height: 20, fill: '#123' })
|
||||
const l = s.addLayer(a.id)
|
||||
s.setTrackColor(l.id, '#ff6b6b')
|
||||
expect(l.color).toBe('#ff6b6b')
|
||||
s.setTrackColor(l.id, null)
|
||||
expect(l.color).toBe(undefined)
|
||||
})
|
||||
|
||||
test('setTrackColor applies to clip track', () => {
|
||||
const s = makeFreshStore()
|
||||
s.addClip('X')
|
||||
const t = s.scene.clipTracks![0]
|
||||
s.setTrackColor(t.id, '#51cf66')
|
||||
expect(t.color).toBe('#51cf66')
|
||||
s.setTrackColor(t.id, null)
|
||||
expect(t.color).toBe(undefined)
|
||||
})
|
||||
|
||||
test('setTrackLocked toggles layer lock flag', () => {
|
||||
const s = makeFreshStore()
|
||||
const a = s.addAsset({ kind: 'rect', name: 'L', width: 10, height: 10, fill: '#111' })
|
||||
const l = s.addLayer(a.id)
|
||||
s.setTrackLocked(l.id, true)
|
||||
expect(l.locked).toBe(true)
|
||||
s.setTrackLocked(l.id, false)
|
||||
expect(l.locked).toBe(undefined)
|
||||
})
|
||||
|
||||
test('setTrackLocked toggles clip-track lock flag', () => {
|
||||
const s = makeFreshStore()
|
||||
s.addClip('L')
|
||||
const t = s.scene.clipTracks![0]
|
||||
s.setTrackLocked(t.id, true)
|
||||
expect(t.locked).toBe(true)
|
||||
s.setTrackLocked(t.id, false)
|
||||
expect(t.locked).toBe(undefined)
|
||||
})
|
||||
|
||||
test('setTrackColor on unknown id is a no-op', () => {
|
||||
const s = makeFreshStore()
|
||||
s.setTrackColor('nope', '#ff0000')
|
||||
// just verify no throw, no layer/clipTrack changed
|
||||
expect(s.scene.layers).toHaveLength(0)
|
||||
expect(s.scene.clipTracks ?? []).toHaveLength(0)
|
||||
})
|
||||
|
||||
test('moveClipInstance without clipTrackId keeps the same track (x-only move)', () => {
|
||||
const s = makeFreshStore()
|
||||
const c = s.addClip('MoveX')
|
||||
const t1 = s.scene.clipTracks![0]
|
||||
const t2 = s.addClipTrack()
|
||||
const ci = s.addClipInstance(c.id, 0, t1.id)!
|
||||
// sanity: distinct tracks
|
||||
expect(t1.id === t2.id).toBe(false)
|
||||
s.moveClipInstance(ci.id, 5)
|
||||
expect(ci.startTime).toBe(5)
|
||||
expect(ci.clipTrackId).toBe(t1.id)
|
||||
})
|
||||
|
||||
test('moveTrack reorders the unified stack (layer above clip track)', () => {
|
||||
const s = makeFreshStore()
|
||||
const a = s.addAsset({ kind: 'rect', name: 'M', width: 10, height: 10, fill: '#000' })
|
||||
|
||||
Reference in new issue
Block a user