You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

35 lines
1.1 KiB

import { describe, expect, it } from 'vitest'
import { ExtendedKind } from '@/constants'
import type { Event } from 'nostr-tools'
import {
isLongFormNip71VideoEventKind,
shouldDeferLongVideoAutoload
} from './long-video-load-policy'
function fakeEvent(kind: number): Event {
return {
kind,
id: 'ab'.repeat(32),
pubkey: 'cd'.repeat(32),
created_at: 0,
tags: [],
content: '',
sig: 'ef'.repeat(64)
}
}
describe('long-video-load-policy', () => {
it('treats kind 21 and 34235 as long-form', () => {
expect(isLongFormNip71VideoEventKind(ExtendedKind.VIDEO)).toBe(true)
expect(isLongFormNip71VideoEventKind(ExtendedKind.VIDEO_ADDRESSABLE)).toBe(true)
expect(isLongFormNip71VideoEventKind(ExtendedKind.SHORT_VIDEO)).toBe(false)
})
it('defers autoload for long-form events unless forced', () => {
expect(shouldDeferLongVideoAutoload(fakeEvent(ExtendedKind.VIDEO))).toBe(true)
expect(
shouldDeferLongVideoAutoload(fakeEvent(ExtendedKind.VIDEO), { forceLoadMedia: true })
).toBe(false)
expect(shouldDeferLongVideoAutoload(fakeEvent(ExtendedKind.SHORT_VIDEO))).toBe(false)
})
})