33 * SPDX-License-Identifier: AGPL-3.0-or-later
44 */
55
6- import type { Folder } from '../lib/node /index.ts'
6+ import type { IFolder , IView } from '../../lib /index.ts'
77
88import { beforeEach , describe , expect , test , vi } from 'vitest'
9- import { getFileListHeaders , Header , registerFileListHeaders } from '../lib/fileListHeaders.ts'
10- import logger from '../lib/utils/logger.ts'
9+ import { getFileListHeaders , Header , registerFileListHeaders } from '../../lib/headers/index.ts'
10+ import { getRegistry } from '../../lib/registry.ts'
11+ import logger from '../../lib/utils/logger.ts'
1112
1213describe ( 'FileListHeader init' , ( ) => {
1314 beforeEach ( ( ) => {
@@ -22,7 +23,7 @@ describe('FileListHeader init', () => {
2223 expect ( logger . debug ) . toHaveBeenCalledTimes ( 1 )
2324 } )
2425
25- test ( 'Initializing FileListHeader' , ( ) => {
26+ test ( 'register FileListHeader' , ( ) => {
2627 logger . debug = vi . fn ( )
2728 const header = new Header ( {
2829 id : 'test' ,
@@ -34,7 +35,7 @@ describe('FileListHeader init', () => {
3435
3536 expect ( header . id ) . toBe ( 'test' )
3637 expect ( header . order ) . toBe ( 1 )
37- expect ( header . enabled ! ( { } as Folder , { } ) ) . toBe ( true )
38+ expect ( header . enabled ! ( { } as IFolder , { } as IView ) ) . toBe ( true )
3839
3940 registerFileListHeaders ( header )
4041
@@ -44,6 +45,25 @@ describe('FileListHeader init', () => {
4445 expect ( logger . debug ) . toHaveBeenCalled ( )
4546 } )
4647
48+ test ( 'register FileListHeader emits registry event' , ( ) => {
49+ logger . debug = vi . fn ( )
50+ const callback = vi . fn ( )
51+ const header = new Header ( {
52+ id : 'test' ,
53+ order : 1 ,
54+ enabled : ( ) => true ,
55+ render : ( ) => { } ,
56+ updated : ( ) => { } ,
57+ } )
58+
59+ getRegistry ( ) . addEventListener ( 'register:listHeader' , callback )
60+ registerFileListHeaders ( header )
61+ expect ( callback ) . toHaveBeenCalled ( )
62+ expect ( callback . mock . calls [ 0 ] [ 0 ] ) . toBeInstanceOf ( CustomEvent )
63+ expect ( callback . mock . calls [ 0 ] [ 0 ] . type ) . toBe ( 'register:listHeader' )
64+ expect ( callback . mock . calls [ 0 ] [ 0 ] . detail ) . toBe ( header )
65+ } )
66+
4767 test ( 'getFileListHeaders() returned array is reactive' , ( ) => {
4868 logger . debug = vi . fn ( )
4969
@@ -178,9 +198,9 @@ describe('FileListHeader exec', () => {
178198 expect ( header . render ) . toBe ( render )
179199 expect ( header . updated ) . toBe ( updated )
180200
181- header . enabled ! ( { } as Folder , { } )
182- header . render ( null as any as HTMLElement , { } as Folder , { } )
183- header . updated ( { } as Folder , { } )
201+ header . enabled ! ( { } as IFolder , { } as IView )
202+ header . render ( null as any as HTMLElement , { } as IFolder , { } as IView )
203+ header . updated ( { } as IFolder , { } as IView )
184204
185205 expect ( enabled ) . toHaveBeenCalled ( )
186206 expect ( render ) . toHaveBeenCalled ( )
0 commit comments