@@ -3,16 +3,28 @@ import { Awareness } from 'y-protocols/awareness';
3
3
import { WebsocketProvider } from 'y-websocket' ;
4
4
import * as Y from 'yjs' ;
5
5
6
+ import { Injector } from '@opensumi/di' ;
6
7
import { uuid } from '@opensumi/ide-core-common' ;
7
8
import { ICodeEditor } from '@opensumi/ide-monaco' ;
8
9
import * as monaco from '@opensumi/monaco-editor-core/esm/vs/editor/editor.api' ;
9
10
10
11
import { TextModelBinding } from '../../src/browser/textmodel-binding' ;
12
+ import { ICollaborationService } from '../../src/common' ;
13
+
14
+ const injector = new Injector ( ) ;
15
+
16
+ injector . addProviders ( {
17
+ token : ICollaborationService ,
18
+ useValue : {
19
+ getCursorWidgetRegistry : jest . fn ( ) ,
20
+ } ,
21
+ } ) ;
11
22
12
23
const createBindingWithTextModel = ( doc : Y . Doc , awareness : Awareness ) => {
13
24
const textModel = monaco . editor . createModel ( '' ) ;
14
25
const yText = doc . getText ( 'test' ) ;
15
- const binding = new TextModelBinding ( yText , textModel , awareness ) ;
26
+ // const binding = new TextModelBinding(yText, textModel, awareness);
27
+ const binding = injector . get ( TextModelBinding , [ yText , textModel , awareness ] ) ;
16
28
return {
17
29
textModel,
18
30
binding,
@@ -31,6 +43,7 @@ describe('TextModelBinding test for yText and TextModel', () => {
31
43
wsProvider = new WebsocketProvider ( 'ws://127.0.0.1:12345' , 'test' , doc , { connect : false } ) ; // we don't use wsProvider here
32
44
user1 = createBindingWithTextModel ( doc , wsProvider . awareness ) ;
33
45
user2 = createBindingWithTextModel ( doc , wsProvider . awareness ) ;
46
+ jest . mock ( '@opensumi/di' ) ;
34
47
} ) ;
35
48
36
49
afterEach ( ( ) => {
0 commit comments