@@ -28,44 +28,6 @@ describe('WorkSheetEventManager', () => {
2828 eventManager . clearAllListeners ( ) ;
2929 } ) ;
3030
31- test ( '应该能触发工作表准备就绪事件' , ( ) => {
32- const mockCallback = jest . fn ( ) ;
33- eventManager . on ( 'ready' , mockCallback ) ;
34-
35- eventManager . emitReady ( ) ;
36-
37- expect ( mockCallback ) . toHaveBeenCalledWith ( {
38- sheetKey : 'test-sheet' ,
39- sheetTitle : 'Test Sheet'
40- } ) ;
41- } ) ;
42-
43- test ( '应该能触发工作表准备就绪事件' , ( ) => {
44- const mockCallback = jest . fn ( ) ;
45- eventManager . on ( 'ready' , mockCallback ) ;
46-
47- eventManager . emitReady ( ) ;
48-
49- expect ( mockCallback ) . toHaveBeenCalledWith ( {
50- sheetKey : 'test-sheet' ,
51- sheetTitle : 'Test Sheet'
52- } ) ;
53- } ) ;
54-
55- test ( '应该能触发工作表尺寸改变事件' , ( ) => {
56- const mockCallback = jest . fn ( ) ;
57- eventManager . on ( 'resized' , mockCallback ) ;
58-
59- eventManager . emitResized ( 800 , 600 ) ;
60-
61- expect ( mockCallback ) . toHaveBeenCalledWith ( {
62- sheetKey : 'test-sheet' ,
63- sheetTitle : 'Test Sheet' ,
64- width : 800 ,
65- height : 600
66- } ) ;
67- } ) ;
68-
6931 test ( '应该能触发公式计算开始事件' , ( ) => {
7032 const mockCallback = jest . fn ( ) ;
7133 eventManager . on ( 'formula_calculate_start' , mockCallback ) ;
@@ -145,64 +107,6 @@ describe('WorkSheetEventManager', () => {
145107 } ) ;
146108 } ) ;
147109
148- test ( '应该能正确移除事件监听器' , ( ) => {
149- const mockCallback = jest . fn ( ) ;
150- eventManager . on ( 'ready' , mockCallback ) ;
151-
152- // 触发事件
153- eventManager . emitReady ( ) ;
154- expect ( mockCallback ) . toHaveBeenCalledTimes ( 1 ) ;
155-
156- // 移除监听器
157- eventManager . off ( 'ready' , mockCallback ) ;
158-
159- // 再次触发事件
160- eventManager . emitReady ( ) ;
161- expect ( mockCallback ) . toHaveBeenCalledTimes ( 1 ) ; // 应该仍然是1次
162- } ) ;
163-
164- test ( '应该能清除所有事件监听器' , ( ) => {
165- const mockCallback1 = jest . fn ( ) ;
166- const mockCallback2 = jest . fn ( ) ;
167-
168- eventManager . on ( 'ready' , mockCallback1 ) ;
169- eventManager . on ( 'resized' , mockCallback2 ) ;
170-
171- // 触发事件
172- eventManager . emitReady ( ) ;
173- eventManager . emitResized ( 800 , 600 ) ;
174-
175- expect ( mockCallback1 ) . toHaveBeenCalledTimes ( 1 ) ;
176- expect ( mockCallback2 ) . toHaveBeenCalledTimes ( 1 ) ;
177-
178- // 清除所有监听器
179- eventManager . clearAllListeners ( ) ;
180-
181- // 再次触发事件
182- eventManager . emitReady ( ) ;
183- eventManager . emitReady ( ) ;
184-
185- expect ( mockCallback1 ) . toHaveBeenCalledTimes ( 1 ) ; // 应该仍然是1次
186- expect ( mockCallback2 ) . toHaveBeenCalledTimes ( 1 ) ; // 应该仍然是1次
187- } ) ;
188-
189- test ( '应该能正确获取事件监听器数量' , ( ) => {
190- const mockCallback1 = jest . fn ( ) ;
191- const mockCallback2 = jest . fn ( ) ;
192-
193- expect ( eventManager . getListenerCount ( ) ) . toBe ( 0 ) ;
194-
195- eventManager . on ( 'ready' , mockCallback1 ) ;
196- expect ( eventManager . getListenerCount ( ) ) . toBe ( 1 ) ;
197-
198- eventManager . on ( 'resized' , mockCallback2 ) ;
199- expect ( eventManager . getListenerCount ( ) ) . toBe ( 2 ) ;
200-
201- eventManager . on ( 'ready' , ( ) => { } ) ; // 同一个事件类型再加一个
202- expect ( eventManager . getListenerCount ( ) ) . toBe ( 3 ) ;
203- expect ( eventManager . getListenerCount ( 'ready' ) ) . toBe ( 2 ) ;
204- } ) ;
205-
206110 // 注意:工作表管理事件(SHEET_ADDED, SHEET_REMOVED, SHEET_RENAMED, SHEET_MOVED)
207111 // 现在只在 SpreadSheet 层级处理,不在 WorkSheet 层级重复定义
208112} ) ;
0 commit comments