]> BookStack Code Mirror - bookstack/blob - resources/js/wysiwyg/lexical/utils/__tests__/unit/LexicalUtilsKlassEqual.test.ts
b4b18ef017f372ba3b9ebcc90218a640c0a53a40
[bookstack] / resources / js / wysiwyg / lexical / utils / __tests__ / unit / LexicalUtilsKlassEqual.test.ts
1 /**
2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  *
4  * This source code is licensed under the MIT license found in the
5  * LICENSE file in the root directory of this source tree.
6  *
7  */
8
9 import {objectKlassEquals} from '@lexical/utils';
10 import {initializeUnitTest} from 'lexical/src/__tests__/utils';
11
12 class MyEvent extends Event {}
13
14 class MyEvent2 extends Event {}
15
16 let MyEventShadow: typeof Event = MyEvent;
17
18 {
19   // eslint-disable-next-line no-shadow
20   class MyEvent extends Event {}
21   MyEventShadow = MyEvent;
22 }
23
24 describe('LexicalUtilsKlassEqual tests', () => {
25   initializeUnitTest((testEnv) => {
26     it('objectKlassEquals', async () => {
27       const eventInstance = new MyEvent('');
28       expect(eventInstance instanceof MyEvent).toBeTruthy();
29       expect(objectKlassEquals(eventInstance, MyEvent)).toBeTruthy();
30       expect(eventInstance instanceof MyEvent2).toBeFalsy();
31       expect(objectKlassEquals(eventInstance, MyEvent2)).toBeFalsy();
32       expect(eventInstance instanceof MyEventShadow).toBeFalsy();
33       expect(objectKlassEquals(eventInstance, MyEventShadow)).toBeTruthy();
34     });
35   });
36 });