piral-base 1.4.0 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +2 -2
  2. package/src/events.test.ts +20 -16
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "piral-base",
3
- "version": "1.4.0",
3
+ "version": "1.4.1",
4
4
  "description": "The base library for creating a Piral instance.",
5
5
  "keywords": [
6
6
  "portal",
@@ -83,5 +83,5 @@
83
83
  "sharedDependencies": [
84
84
  "tslib"
85
85
  ],
86
- "gitHead": "881e4c1f83c8cc8bf060cc4b462bd511881488e5"
86
+ "gitHead": "3faaddc10395cd038adaf0e492cce179643e5ead"
87
87
  }
@@ -4,31 +4,35 @@
4
4
  import { describe, it, expect, vitest } from 'vitest';
5
5
  import { createListener } from './events';
6
6
 
7
+ function nextCycle(time = 0) {
8
+ return new Promise<void>(resolve => setTimeout(resolve, 0));
9
+ }
10
+
7
11
  describe('Events Module', () => {
8
- it('add and emit event', () => {
12
+ it('add and emit event', async () => {
9
13
  const events = createListener(undefined);
10
14
  const mockCallback = vitest.fn();
11
15
  events.on('init', mockCallback);
12
16
  events.emit('init', undefined);
13
17
 
14
- setTimeout(() => {
15
- expect(mockCallback).toHaveBeenCalledTimes(1);
16
- }, 1);
18
+ await nextCycle(10);
19
+
20
+ expect(mockCallback).toHaveBeenCalledTimes(1);
17
21
  });
18
22
 
19
- it('does only react to self events when different states', () => {
23
+ it('does only react to self events when different states', async () => {
20
24
  const events1 = createListener({});
21
25
  const events2 = createListener({});
22
26
  const mockCallback = vitest.fn();
23
27
  events1.on('init', mockCallback);
24
28
  events2.emit('init', undefined);
25
29
 
26
- setTimeout(() => {
27
- expect(mockCallback).toHaveBeenCalledTimes(0);
28
- }, 1);
30
+ await nextCycle(10);
31
+
32
+ expect(mockCallback).toHaveBeenCalledTimes(0);
29
33
  });
30
34
 
31
- it('does only react to self events when same state', () => {
35
+ it('does only react to self events when same state', async () => {
32
36
  const state = {};
33
37
  const events1 = createListener(state);
34
38
  const events2 = createListener(state);
@@ -36,9 +40,9 @@ describe('Events Module', () => {
36
40
  events1.on('init', mockCallback);
37
41
  events2.emit('init', undefined);
38
42
 
39
- setTimeout(() => {
40
- expect(mockCallback).toHaveBeenCalledTimes(1);
41
- }, 1);
43
+ await nextCycle(10);
44
+
45
+ expect(mockCallback).toHaveBeenCalledTimes(1);
42
46
  });
43
47
 
44
48
  it('emit on empty event should be fine', () => {
@@ -51,7 +55,7 @@ describe('Events Module', () => {
51
55
  events.off('init', vitest.fn());
52
56
  });
53
57
 
54
- it('should not be possible to emit after event removed', () => {
58
+ it('should not be possible to emit after event removed', async () => {
55
59
  const events = createListener(undefined);
56
60
  const mockCallback = vitest.fn();
57
61
  events.on('init', mockCallback);
@@ -59,8 +63,8 @@ describe('Events Module', () => {
59
63
  events.off('init', mockCallback);
60
64
  events.emit('init', undefined);
61
65
 
62
- setTimeout(() => {
63
- expect(mockCallback).toHaveBeenCalledTimes(1);
64
- }, 1);
66
+ await nextCycle(10);
67
+
68
+ expect(mockCallback).toHaveBeenCalledTimes(1);
65
69
  });
66
70
  });