asyar-sdk 1.16.2 → 2.0.0
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.
- package/README.md +95 -42
- package/dist/ExtensionBridge.d.ts +1 -1
- package/dist/ExtensionBridge.d.ts.map +1 -1
- package/dist/ExtensionBridge.js +17 -13
- package/dist/ExtensionBridge.js.map +1 -1
- package/dist/ExtensionBridge.test.js +76 -101
- package/dist/ExtensionBridge.test.js.map +1 -1
- package/dist/ExtensionContext.d.ts +22 -57
- package/dist/ExtensionContext.d.ts.map +1 -1
- package/dist/ExtensionContext.js +84 -207
- package/dist/ExtensionContext.js.map +1 -1
- package/dist/ExtensionContext.test.js +91 -66
- package/dist/ExtensionContext.test.js.map +1 -1
- package/dist/ExtensionContextCore.d.ts +46 -0
- package/dist/ExtensionContextCore.d.ts.map +1 -0
- package/dist/ExtensionContextCore.js +149 -0
- package/dist/ExtensionContextCore.js.map +1 -0
- package/dist/PreferencesFacade.js +4 -9
- package/dist/PreferencesFacade.js.map +1 -1
- package/dist/PreferencesFacade.test.js +53 -55
- package/dist/PreferencesFacade.test.js.map +1 -1
- package/dist/cli/commands/attach.js +1 -1
- package/dist/cli/commands/attach.js.map +1 -1
- package/dist/cli/commands/build.d.ts +5 -1
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +43 -5
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/lib/manifest.d.ts +17 -5
- package/dist/cli/lib/manifest.d.ts.map +1 -1
- package/dist/cli/lib/manifest.js +125 -66
- package/dist/cli/lib/manifest.js.map +1 -1
- package/dist/{index.d.ts → contracts.d.ts} +23 -1
- package/dist/contracts.d.ts.map +1 -0
- package/dist/contracts.js +36 -0
- package/dist/contracts.js.map +1 -0
- package/dist/contracts.purity.test.d.ts +2 -0
- package/dist/contracts.purity.test.d.ts.map +1 -0
- package/dist/contracts.purity.test.js +42 -0
- package/dist/contracts.purity.test.js.map +1 -0
- package/dist/icons/AsyarIconElement.js +4 -9
- package/dist/icons/AsyarIconElement.js.map +1 -1
- package/dist/icons/AsyarIconElement.test.js +14 -16
- package/dist/icons/AsyarIconElement.test.js.map +1 -1
- package/dist/icons/IconRenderer.js +9 -15
- package/dist/icons/IconRenderer.js.map +1 -1
- package/dist/icons/IconRenderer.test.js +63 -65
- package/dist/icons/IconRenderer.test.js.map +1 -1
- package/dist/icons/iconData.js +2 -5
- package/dist/icons/iconData.js.map +1 -1
- package/dist/icons/index.js +3 -14
- package/dist/icons/index.js.map +1 -1
- package/dist/ipc/MessageBroker.d.ts.map +1 -1
- package/dist/ipc/MessageBroker.js +33 -6
- package/dist/ipc/MessageBroker.js.map +1 -1
- package/dist/ipc/MessageBroker.test.js +26 -28
- package/dist/ipc/MessageBroker.test.js.map +1 -1
- package/dist/ipc/devInspectorBridge.d.ts +57 -0
- package/dist/ipc/devInspectorBridge.d.ts.map +1 -0
- package/dist/ipc/devInspectorBridge.js +70 -0
- package/dist/ipc/devInspectorBridge.js.map +1 -0
- package/dist/ipc/devInspectorBridge.test.d.ts +2 -0
- package/dist/ipc/devInspectorBridge.test.d.ts.map +1 -0
- package/dist/ipc/devInspectorBridge.test.js +128 -0
- package/dist/ipc/devInspectorBridge.test.js.map +1 -0
- package/dist/ipc/namespaces.d.ts +1 -1
- package/dist/ipc/namespaces.d.ts.map +1 -1
- package/dist/ipc/namespaces.js +4 -7
- package/dist/ipc/namespaces.js.map +1 -1
- package/dist/ipc/namespaces.test.js +11 -13
- package/dist/ipc/namespaces.test.js.map +1 -1
- package/dist/lib/focusTracker.js +1 -4
- package/dist/lib/focusTracker.js.map +1 -1
- package/dist/lib/focusTracker.test.js +32 -57
- package/dist/lib/focusTracker.test.js.map +1 -1
- package/dist/lib/syncProviderBridge.js +1 -4
- package/dist/lib/syncProviderBridge.js.map +1 -1
- package/dist/lib/syncProviderBridge.test.js +60 -85
- package/dist/lib/syncProviderBridge.test.js.map +1 -1
- package/dist/lib/themeInjector.js +3 -8
- package/dist/lib/themeInjector.js.map +1 -1
- package/dist/lib/themeInjector.test.js +42 -44
- package/dist/lib/themeInjector.test.js.map +1 -1
- package/dist/search/SearchEngine.js +3 -10
- package/dist/search/SearchEngine.js.map +1 -1
- package/dist/search/SearchEngine.test.js +53 -55
- package/dist/search/SearchEngine.test.js.map +1 -1
- package/dist/search/index.js +2 -8
- package/dist/search/index.js.map +1 -1
- package/dist/search/textUtils.js +2 -6
- package/dist/search/textUtils.js.map +1 -1
- package/dist/search/textUtils.test.js +73 -75
- package/dist/search/textUtils.test.js.map +1 -1
- package/dist/search/types.js +1 -2
- package/dist/services/AIServiceProxy.js +2 -6
- package/dist/services/AIServiceProxy.js.map +1 -1
- package/dist/services/AIServiceProxy.test.js +69 -71
- package/dist/services/AIServiceProxy.test.js.map +1 -1
- package/dist/services/ActionServiceProxy.d.ts.map +1 -1
- package/dist/services/ActionServiceProxy.js +14 -13
- package/dist/services/ActionServiceProxy.js.map +1 -1
- package/dist/services/ActionServiceProxy.test.js +28 -23
- package/dist/services/ActionServiceProxy.test.js.map +1 -1
- package/dist/services/ApplicationService.js +2 -6
- package/dist/services/ApplicationService.js.map +1 -1
- package/dist/services/ApplicationService.test.js +108 -110
- package/dist/services/ApplicationService.test.js.map +1 -1
- package/dist/services/BaseServiceProxy.js +3 -7
- package/dist/services/BaseServiceProxy.js.map +1 -1
- package/dist/services/CacheServiceProxy.js +2 -6
- package/dist/services/CacheServiceProxy.js.map +1 -1
- package/dist/services/CacheServiceProxy.test.js +21 -23
- package/dist/services/CacheServiceProxy.test.js.map +1 -1
- package/dist/services/ClipboardHistoryServiceProxy.js +6 -10
- package/dist/services/ClipboardHistoryServiceProxy.js.map +1 -1
- package/dist/services/ClipboardHistoryServiceProxy.test.js +106 -108
- package/dist/services/ClipboardHistoryServiceProxy.test.js.map +1 -1
- package/dist/services/CommandServiceProxy.js +7 -11
- package/dist/services/CommandServiceProxy.js.map +1 -1
- package/dist/services/CommandServiceProxy.test.js +37 -39
- package/dist/services/CommandServiceProxy.test.js.map +1 -1
- package/dist/services/EntitlementServiceProxy.js +2 -6
- package/dist/services/EntitlementServiceProxy.js.map +1 -1
- package/dist/services/EntitlementServiceProxy.test.js +16 -18
- package/dist/services/EntitlementServiceProxy.test.js.map +1 -1
- package/dist/services/ExtensionManagerProxy.js +2 -6
- package/dist/services/ExtensionManagerProxy.js.map +1 -1
- package/dist/services/ExtensionManagerProxy.test.js +42 -44
- package/dist/services/ExtensionManagerProxy.test.js.map +1 -1
- package/dist/services/ExtensionRpc.d.ts +90 -0
- package/dist/services/ExtensionRpc.d.ts.map +1 -0
- package/dist/services/ExtensionRpc.js +277 -0
- package/dist/services/ExtensionRpc.js.map +1 -0
- package/dist/services/ExtensionRpc.test.d.ts +2 -0
- package/dist/services/ExtensionRpc.test.d.ts.map +1 -0
- package/dist/services/ExtensionRpc.test.js +259 -0
- package/dist/services/ExtensionRpc.test.js.map +1 -0
- package/dist/services/ExtensionStateProxy.d.ts +44 -0
- package/dist/services/ExtensionStateProxy.d.ts.map +1 -0
- package/dist/services/ExtensionStateProxy.js +115 -0
- package/dist/services/ExtensionStateProxy.js.map +1 -0
- package/dist/services/ExtensionStateProxy.test.d.ts +2 -0
- package/dist/services/ExtensionStateProxy.test.d.ts.map +1 -0
- package/dist/services/ExtensionStateProxy.test.js +158 -0
- package/dist/services/ExtensionStateProxy.test.js.map +1 -0
- package/dist/services/FeedbackServiceProxy.js +2 -6
- package/dist/services/FeedbackServiceProxy.js.map +1 -1
- package/dist/services/FeedbackServiceProxy.test.js +31 -33
- package/dist/services/FeedbackServiceProxy.test.js.map +1 -1
- package/dist/services/FileManagerServiceProxy.js +2 -6
- package/dist/services/FileManagerServiceProxy.js.map +1 -1
- package/dist/services/FileManagerServiceProxy.test.js +21 -23
- package/dist/services/FileManagerServiceProxy.test.js.map +1 -1
- package/dist/services/FileSystemWatcherService.js +2 -6
- package/dist/services/FileSystemWatcherService.js.map +1 -1
- package/dist/services/FileSystemWatcherService.test.js +45 -47
- package/dist/services/FileSystemWatcherService.test.js.map +1 -1
- package/dist/services/IAIService.js +1 -2
- package/dist/services/ICacheService.js +1 -2
- package/dist/services/IClipboardHistoryService.js +1 -2
- package/dist/services/ICommandService.js +1 -2
- package/dist/services/IEntitlementService.js +1 -2
- package/dist/services/IExtensionManager.js +1 -2
- package/dist/services/IFeedbackService.js +1 -2
- package/dist/services/IFileManagerService.js +1 -2
- package/dist/services/IInteropService.js +1 -5
- package/dist/services/IInteropService.js.map +1 -1
- package/dist/services/INotificationService.js +1 -2
- package/dist/services/IOAuthService.js +1 -2
- package/dist/services/IPowerService.js +1 -2
- package/dist/services/IPreferencesService.js +1 -2
- package/dist/services/ISelectionService.js +1 -2
- package/dist/services/ISettingsService.js +1 -2
- package/dist/services/IShellService.js +1 -2
- package/dist/services/IStatusBarService.js +1 -2
- package/dist/services/IStorageService.js +1 -2
- package/dist/services/ISystemEventsService.js +1 -2
- package/dist/services/ISystemEventsService.js.map +1 -1
- package/dist/services/ITimerService.js +1 -2
- package/dist/services/InteropServiceProxy.js +2 -6
- package/dist/services/InteropServiceProxy.js.map +1 -1
- package/dist/services/InteropServiceProxy.test.js +19 -21
- package/dist/services/InteropServiceProxy.test.js.map +1 -1
- package/dist/services/LogService.js +1 -2
- package/dist/services/LogServiceProxy.js +2 -6
- package/dist/services/LogServiceProxy.js.map +1 -1
- package/dist/services/LogServiceProxy.test.js +43 -45
- package/dist/services/LogServiceProxy.test.js.map +1 -1
- package/dist/services/NetworkServiceProxy.js +2 -6
- package/dist/services/NetworkServiceProxy.js.map +1 -1
- package/dist/services/NetworkServiceProxy.test.js +20 -22
- package/dist/services/NetworkServiceProxy.test.js.map +1 -1
- package/dist/services/NotificationServiceProxy.js +2 -6
- package/dist/services/NotificationServiceProxy.js.map +1 -1
- package/dist/services/NotificationServiceProxy.test.js +39 -41
- package/dist/services/NotificationServiceProxy.test.js.map +1 -1
- package/dist/services/OAuthServiceProxy.js +2 -6
- package/dist/services/OAuthServiceProxy.js.map +1 -1
- package/dist/services/OAuthServiceProxy.test.js +42 -44
- package/dist/services/OAuthServiceProxy.test.js.map +1 -1
- package/dist/services/PowerServiceProxy.js +2 -6
- package/dist/services/PowerServiceProxy.js.map +1 -1
- package/dist/services/PowerServiceProxy.test.js +24 -26
- package/dist/services/PowerServiceProxy.test.js.map +1 -1
- package/dist/services/PreferencesServiceProxy.js +2 -6
- package/dist/services/PreferencesServiceProxy.js.map +1 -1
- package/dist/services/PreferencesServiceProxy.test.js +22 -24
- package/dist/services/PreferencesServiceProxy.test.js.map +1 -1
- package/dist/services/SelectionServiceProxy.js +2 -6
- package/dist/services/SelectionServiceProxy.js.map +1 -1
- package/dist/services/SelectionServiceProxy.test.js +20 -22
- package/dist/services/SelectionServiceProxy.test.js.map +1 -1
- package/dist/services/SettingsServiceProxy.js +2 -6
- package/dist/services/SettingsServiceProxy.js.map +1 -1
- package/dist/services/SettingsServiceProxy.test.js +18 -20
- package/dist/services/SettingsServiceProxy.test.js.map +1 -1
- package/dist/services/ShellServiceProxy.js +2 -6
- package/dist/services/ShellServiceProxy.js.map +1 -1
- package/dist/services/ShellServiceProxy.test.js +92 -94
- package/dist/services/ShellServiceProxy.test.js.map +1 -1
- package/dist/services/StatusBarServiceProxy.js +9 -13
- package/dist/services/StatusBarServiceProxy.js.map +1 -1
- package/dist/services/StatusBarServiceProxy.test.js +68 -70
- package/dist/services/StatusBarServiceProxy.test.js.map +1 -1
- package/dist/services/StorageServiceProxy.js +2 -6
- package/dist/services/StorageServiceProxy.js.map +1 -1
- package/dist/services/StorageServiceProxy.test.js +31 -33
- package/dist/services/StorageServiceProxy.test.js.map +1 -1
- package/dist/services/SystemEventsServiceProxy.js +2 -6
- package/dist/services/SystemEventsServiceProxy.js.map +1 -1
- package/dist/services/SystemEventsServiceProxy.test.js +50 -52
- package/dist/services/SystemEventsServiceProxy.test.js.map +1 -1
- package/dist/services/TimerServiceProxy.js +2 -6
- package/dist/services/TimerServiceProxy.js.map +1 -1
- package/dist/services/TimerServiceProxy.test.js +33 -35
- package/dist/services/TimerServiceProxy.test.js.map +1 -1
- package/dist/services/WindowManagementService.js +2 -6
- package/dist/services/WindowManagementService.js.map +1 -1
- package/dist/services/WindowManagementService.test.js +23 -25
- package/dist/services/WindowManagementService.test.js.map +1 -1
- package/dist/services/index.js +36 -76
- package/dist/services/index.js.map +1 -1
- package/dist/services/statusBarValidation.js +7 -14
- package/dist/services/statusBarValidation.js.map +1 -1
- package/dist/types/ActionType.js +3 -6
- package/dist/types/ActionType.js.map +1 -1
- package/dist/types/ApplicationType.js +1 -2
- package/dist/types/ClipboardType.js +2 -5
- package/dist/types/ClipboardType.js.map +1 -1
- package/dist/types/CommandType.js +1 -2
- package/dist/types/ExtensionType.d.ts +40 -5
- package/dist/types/ExtensionType.d.ts.map +1 -1
- package/dist/types/ExtensionType.js +1 -2
- package/dist/types/NetworkType.js +1 -2
- package/dist/types/NotificationType.js +1 -2
- package/dist/types/SyncType.js +1 -2
- package/dist/types/index.js +2 -18
- package/dist/types/index.js.map +1 -1
- package/dist/view.d.ts +12 -0
- package/dist/view.d.ts.map +1 -0
- package/dist/view.js +19 -0
- package/dist/view.js.map +1 -0
- package/dist/view.test.d.ts +2 -0
- package/dist/view.test.d.ts.map +1 -0
- package/dist/view.test.js +114 -0
- package/dist/view.test.js.map +1 -0
- package/dist/worker.bundle-size.test.d.ts +2 -0
- package/dist/worker.bundle-size.test.d.ts.map +1 -0
- package/dist/worker.bundle-size.test.js +96 -0
- package/dist/worker.bundle-size.test.js.map +1 -0
- package/dist/worker.d.ts +37 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +122 -0
- package/dist/worker.js.map +1 -0
- package/dist/worker.test.d.ts +2 -0
- package/dist/worker.test.d.ts.map +1 -0
- package/dist/worker.test.js +136 -0
- package/dist/worker.test.js.map +1 -0
- package/package.json +12 -4
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -47
- package/dist/index.js.map +0 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
2
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
3
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,17 +7,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
8
|
});
|
|
10
9
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
vitest_1.vi.mock('../ipc/MessageBroker', () => ({
|
|
10
|
+
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
11
|
+
vi.mock('../ipc/MessageBroker', () => ({
|
|
14
12
|
messageBroker: {
|
|
15
|
-
invoke:
|
|
16
|
-
on:
|
|
17
|
-
off:
|
|
13
|
+
invoke: vi.fn(),
|
|
14
|
+
on: vi.fn(),
|
|
15
|
+
off: vi.fn(),
|
|
18
16
|
},
|
|
19
17
|
}));
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
import { SystemEventsServiceProxy } from './SystemEventsServiceProxy';
|
|
19
|
+
import { messageBroker } from '../ipc/MessageBroker';
|
|
22
20
|
let mockInvoke;
|
|
23
21
|
let mockOn;
|
|
24
22
|
function getPushHandler() {
|
|
@@ -27,39 +25,39 @@ function getPushHandler() {
|
|
|
27
25
|
throw new Error('push listener not registered');
|
|
28
26
|
return call[1];
|
|
29
27
|
}
|
|
30
|
-
|
|
28
|
+
describe('SystemEventsServiceProxy', () => {
|
|
31
29
|
let proxy;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const broker =
|
|
30
|
+
beforeEach(() => {
|
|
31
|
+
vi.clearAllMocks();
|
|
32
|
+
const broker = messageBroker;
|
|
35
33
|
mockInvoke = broker.invoke;
|
|
36
34
|
mockOn = broker.on;
|
|
37
35
|
mockInvoke.mockReset();
|
|
38
36
|
mockOn.mockReset();
|
|
39
37
|
broker.off.mockReset();
|
|
40
|
-
proxy = new
|
|
38
|
+
proxy = new SystemEventsServiceProxy();
|
|
41
39
|
});
|
|
42
|
-
|
|
40
|
+
it('first onSystemWake listener triggers exactly one subscribe RPC', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
43
41
|
mockInvoke.mockResolvedValueOnce('sub-1');
|
|
44
42
|
proxy.onSystemWake(() => { });
|
|
45
43
|
// let the invoke promise settle
|
|
46
44
|
yield Promise.resolve();
|
|
47
45
|
yield Promise.resolve();
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
expect(mockInvoke).toHaveBeenCalledTimes(1);
|
|
47
|
+
expect(mockInvoke).toHaveBeenCalledWith('systemEvents:subscribe', {
|
|
50
48
|
eventTypes: ['wake'],
|
|
51
49
|
});
|
|
52
50
|
}));
|
|
53
|
-
|
|
51
|
+
it('second onSystemWake listener does NOT cause a second subscribe RPC', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
54
52
|
mockInvoke.mockResolvedValueOnce('sub-1');
|
|
55
53
|
proxy.onSystemWake(() => { });
|
|
56
54
|
yield Promise.resolve();
|
|
57
55
|
yield Promise.resolve();
|
|
58
56
|
proxy.onSystemWake(() => { });
|
|
59
57
|
yield Promise.resolve();
|
|
60
|
-
|
|
58
|
+
expect(mockInvoke).toHaveBeenCalledTimes(1);
|
|
61
59
|
}));
|
|
62
|
-
|
|
60
|
+
it('disposing all listeners fires unsubscribe exactly once', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
63
61
|
mockInvoke.mockResolvedValueOnce('sub-1').mockResolvedValueOnce(undefined);
|
|
64
62
|
const d1 = proxy.onSystemWake(() => { });
|
|
65
63
|
const d2 = proxy.onSystemWake(() => { });
|
|
@@ -69,54 +67,54 @@ function getPushHandler() {
|
|
|
69
67
|
d2();
|
|
70
68
|
yield Promise.resolve();
|
|
71
69
|
yield Promise.resolve();
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
expect(mockInvoke).toHaveBeenCalledTimes(2);
|
|
71
|
+
expect(mockInvoke).toHaveBeenLastCalledWith('systemEvents:unsubscribe', {
|
|
74
72
|
subscriptionId: 'sub-1',
|
|
75
73
|
});
|
|
76
74
|
}));
|
|
77
|
-
|
|
75
|
+
it('incoming push event dispatches to wake callbacks only', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
78
76
|
mockInvoke.mockResolvedValue('sub-1');
|
|
79
|
-
const wakeCb =
|
|
80
|
-
const sleepCb =
|
|
77
|
+
const wakeCb = vi.fn();
|
|
78
|
+
const sleepCb = vi.fn();
|
|
81
79
|
proxy.onSystemWake(wakeCb);
|
|
82
80
|
proxy.onSystemSleep(sleepCb);
|
|
83
81
|
yield Promise.resolve();
|
|
84
82
|
yield Promise.resolve();
|
|
85
83
|
getPushHandler()({ type: 'wake' });
|
|
86
|
-
|
|
87
|
-
|
|
84
|
+
expect(wakeCb).toHaveBeenCalledTimes(1);
|
|
85
|
+
expect(sleepCb).not.toHaveBeenCalled();
|
|
88
86
|
}));
|
|
89
|
-
|
|
87
|
+
it('battery event delivers percent to battery callback', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
90
88
|
mockInvoke.mockResolvedValue('sub-1');
|
|
91
|
-
const cb =
|
|
89
|
+
const cb = vi.fn();
|
|
92
90
|
proxy.onBatteryLevelChange(cb);
|
|
93
91
|
yield Promise.resolve();
|
|
94
92
|
yield Promise.resolve();
|
|
95
93
|
getPushHandler()({ type: 'battery-level-changed', percent: 42 });
|
|
96
|
-
|
|
94
|
+
expect(cb).toHaveBeenCalledWith(42);
|
|
97
95
|
}));
|
|
98
|
-
|
|
96
|
+
it('power-source event delivers onBattery boolean', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
99
97
|
mockInvoke.mockResolvedValue('sub-1');
|
|
100
|
-
const cb =
|
|
98
|
+
const cb = vi.fn();
|
|
101
99
|
proxy.onPowerSourceChange(cb);
|
|
102
100
|
yield Promise.resolve();
|
|
103
101
|
yield Promise.resolve();
|
|
104
102
|
getPushHandler()({ type: 'power-source-changed', onBattery: true });
|
|
105
|
-
|
|
103
|
+
expect(cb).toHaveBeenCalledWith(true);
|
|
106
104
|
}));
|
|
107
|
-
|
|
105
|
+
it('lid-open event dispatches to lid-open callback only', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
108
106
|
mockInvoke.mockResolvedValue('sub-1');
|
|
109
|
-
const open =
|
|
110
|
-
const close =
|
|
107
|
+
const open = vi.fn();
|
|
108
|
+
const close = vi.fn();
|
|
111
109
|
proxy.onLidOpen(open);
|
|
112
110
|
proxy.onLidClose(close);
|
|
113
111
|
yield Promise.resolve();
|
|
114
112
|
yield Promise.resolve();
|
|
115
113
|
getPushHandler()({ type: 'lid-open' });
|
|
116
|
-
|
|
117
|
-
|
|
114
|
+
expect(open).toHaveBeenCalledTimes(1);
|
|
115
|
+
expect(close).not.toHaveBeenCalled();
|
|
118
116
|
}));
|
|
119
|
-
|
|
117
|
+
it('disposer is idempotent — calling twice does not double-unsubscribe', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
120
118
|
mockInvoke.mockResolvedValueOnce('sub-1').mockResolvedValueOnce(undefined);
|
|
121
119
|
const d = proxy.onSystemWake(() => { });
|
|
122
120
|
yield Promise.resolve();
|
|
@@ -126,9 +124,9 @@ function getPushHandler() {
|
|
|
126
124
|
yield Promise.resolve();
|
|
127
125
|
yield Promise.resolve();
|
|
128
126
|
// 1 subscribe + 1 unsubscribe = 2 total; second dispose is no-op
|
|
129
|
-
|
|
127
|
+
expect(mockInvoke).toHaveBeenCalledTimes(2);
|
|
130
128
|
}));
|
|
131
|
-
|
|
129
|
+
it('re-subscribing after full dispose issues a fresh subscribe RPC', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
132
130
|
mockInvoke
|
|
133
131
|
.mockResolvedValueOnce('sub-1')
|
|
134
132
|
.mockResolvedValueOnce(undefined)
|
|
@@ -142,36 +140,36 @@ function getPushHandler() {
|
|
|
142
140
|
proxy.onSystemWake(() => { });
|
|
143
141
|
yield Promise.resolve();
|
|
144
142
|
yield Promise.resolve();
|
|
145
|
-
|
|
146
|
-
|
|
143
|
+
expect(mockInvoke).toHaveBeenCalledTimes(3);
|
|
144
|
+
expect(mockInvoke.mock.calls[2][0]).toBe('systemEvents:subscribe');
|
|
147
145
|
}));
|
|
148
|
-
|
|
146
|
+
it('different event kinds get independent subscriptions', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
149
147
|
mockInvoke.mockResolvedValueOnce('sub-wake').mockResolvedValueOnce('sub-sleep');
|
|
150
148
|
proxy.onSystemWake(() => { });
|
|
151
149
|
proxy.onSystemSleep(() => { });
|
|
152
150
|
yield Promise.resolve();
|
|
153
151
|
yield Promise.resolve();
|
|
154
|
-
|
|
155
|
-
|
|
152
|
+
expect(mockInvoke).toHaveBeenCalledTimes(2);
|
|
153
|
+
expect(mockInvoke).toHaveBeenNthCalledWith(1, 'systemEvents:subscribe', {
|
|
156
154
|
eventTypes: ['wake'],
|
|
157
155
|
});
|
|
158
|
-
|
|
156
|
+
expect(mockInvoke).toHaveBeenNthCalledWith(2, 'systemEvents:subscribe', {
|
|
159
157
|
eventTypes: ['sleep'],
|
|
160
158
|
});
|
|
161
159
|
}));
|
|
162
|
-
|
|
160
|
+
it('a throwing callback does not prevent other callbacks for the same kind', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
163
161
|
mockInvoke.mockResolvedValue('sub-1');
|
|
164
|
-
const bad =
|
|
162
|
+
const bad = vi.fn(() => {
|
|
165
163
|
throw new Error('boom');
|
|
166
164
|
});
|
|
167
|
-
const good =
|
|
165
|
+
const good = vi.fn();
|
|
168
166
|
proxy.onSystemWake(bad);
|
|
169
167
|
proxy.onSystemWake(good);
|
|
170
168
|
yield Promise.resolve();
|
|
171
169
|
yield Promise.resolve();
|
|
172
170
|
getPushHandler()({ type: 'wake' });
|
|
173
|
-
|
|
174
|
-
|
|
171
|
+
expect(bad).toHaveBeenCalledTimes(1);
|
|
172
|
+
expect(good).toHaveBeenCalledTimes(1);
|
|
175
173
|
}));
|
|
176
174
|
});
|
|
177
175
|
//# sourceMappingURL=SystemEventsServiceProxy.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemEventsServiceProxy.test.js","sourceRoot":"","sources":["../../src/services/SystemEventsServiceProxy.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SystemEventsServiceProxy.test.js","sourceRoot":"","sources":["../../src/services/SystemEventsServiceProxy.test.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAE9D,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;IACrC,aAAa,EAAE;QACX,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;QACf,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;QACX,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;KACf;CACF,CAAC,CAAC,CAAC;AAEJ,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,IAAI,UAAoC,CAAC;AACzC,IAAI,MAAgC,CAAC;AAErC,SAAS,cAAc;IACrB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,+BAA+B,CAChD,CAAC;IACF,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC3D,OAAO,IAAI,CAAC,CAAC,CAA+B,CAAC;AAC/C,CAAC;AAED,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,IAAI,KAA+B,CAAC;IAEpC,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,aAId,CAAC;QACF,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QACnB,UAAU,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACvB,KAAK,GAAG,IAAI,wBAAwB,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAS,EAAE;QAC9E,UAAU,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC1C,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC7B,gCAAgC;QAChC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,wBAAwB,EAAE;YAChE,UAAU,EAAE,CAAC,MAAM,CAAC;SACrB,CAAC,CAAC;IACL,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAS,EAAE;QAClF,UAAU,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC1C,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC7B,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC7B,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAS,EAAE;QACtE,UAAU,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC3E,MAAM,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACxC,MAAM,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACxC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,EAAE,EAAE,CAAC;QACL,EAAE,EAAE,CAAC;QACL,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,CAAC,wBAAwB,CAAC,0BAA0B,EAAE;YACtE,cAAc,EAAE,OAAO;SACxB,CAAC,CAAC;IACL,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAS,EAAE;QACrE,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACxB,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3B,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAExB,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAEnC,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACzC,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAS,EAAE;QAClE,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACnB,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAExB,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAEjE,MAAM,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAS,EAAE;QAC7D,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACnB,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAExB,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpE,MAAM,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAS,EAAE;QACnE,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACtB,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAExB,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAEvC,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACvC,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAS,EAAE;QAClF,UAAU,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC3E,MAAM,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACvC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;QACJ,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,iEAAiE;QACjE,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAS,EAAE;QAC9E,UAAU;aACP,qBAAqB,CAAC,OAAO,CAAC;aAC9B,qBAAqB,CAAC,SAAS,CAAC;aAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACxC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,EAAE,EAAE,CAAC;QACL,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC7B,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACrE,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAS,EAAE;QACnE,UAAU,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAChF,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC7B,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,wBAAwB,EAAE;YACtE,UAAU,EAAE,CAAC,MAAM,CAAC;SACrB,CAAC,CAAC;QACH,MAAM,CAAC,UAAU,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,wBAAwB,EAAE;YACtE,UAAU,EAAE,CAAC,OAAO,CAAC;SACtB,CAAC,CAAC;IACL,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,GAAS,EAAE;QACtF,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACrB,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACxB,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAExB,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAEnC,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
2
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
3
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,9 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
8
|
});
|
|
10
9
|
};
|
|
11
|
-
|
|
12
|
-
exports.TimerServiceProxy = void 0;
|
|
13
|
-
const BaseServiceProxy_1 = require("./BaseServiceProxy");
|
|
10
|
+
import { BaseServiceProxy } from './BaseServiceProxy';
|
|
14
11
|
/**
|
|
15
12
|
* SDK proxy for the one-shot persistent timer service.
|
|
16
13
|
*
|
|
@@ -18,7 +15,7 @@ const BaseServiceProxy_1 = require("./BaseServiceProxy");
|
|
|
18
15
|
* (timers is in `INJECTS_EXTENSION_ID`), so extensions can only address
|
|
19
16
|
* their own timers.
|
|
20
17
|
*/
|
|
21
|
-
class TimerServiceProxy extends
|
|
18
|
+
export class TimerServiceProxy extends BaseServiceProxy {
|
|
22
19
|
schedule(opts) {
|
|
23
20
|
return __awaiter(this, void 0, void 0, function* () {
|
|
24
21
|
return this.broker.invoke('timers:schedule', { opts });
|
|
@@ -35,5 +32,4 @@ class TimerServiceProxy extends BaseServiceProxy_1.BaseServiceProxy {
|
|
|
35
32
|
});
|
|
36
33
|
}
|
|
37
34
|
}
|
|
38
|
-
exports.TimerServiceProxy = TimerServiceProxy;
|
|
39
35
|
//# sourceMappingURL=TimerServiceProxy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimerServiceProxy.js","sourceRoot":"","sources":["../../src/services/TimerServiceProxy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TimerServiceProxy.js","sourceRoot":"","sources":["../../src/services/TimerServiceProxy.ts"],"names":[],"mappings":";;;;;;;;;AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;IAC/C,QAAQ,CAAC,IAA0B;;YACvC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAS,iBAAiB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;KAAA;IAEK,MAAM,CAAC,OAAe;;YAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAO,eAAe,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAChE,CAAC;KAAA;IAEK,IAAI;;YACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAoB,aAAa,EAAE,EAAE,CAAC,CAAC;QAClE,CAAC;KAAA;CACF"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
2
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
3
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,32 +7,31 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
8
|
});
|
|
10
9
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
vitest_1.vi.mock('../ipc/MessageBroker', () => ({
|
|
10
|
+
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
11
|
+
vi.mock('../ipc/MessageBroker', () => ({
|
|
14
12
|
messageBroker: {
|
|
15
|
-
invoke:
|
|
13
|
+
invoke: vi.fn(),
|
|
16
14
|
},
|
|
17
15
|
}));
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
import { TimerServiceProxy } from './TimerServiceProxy';
|
|
17
|
+
import { messageBroker } from '../ipc/MessageBroker';
|
|
18
|
+
describe('TimerServiceProxy', () => {
|
|
21
19
|
let proxy;
|
|
22
20
|
let mockBroker;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
mockBroker =
|
|
26
|
-
proxy = new
|
|
21
|
+
beforeEach(() => {
|
|
22
|
+
vi.clearAllMocks();
|
|
23
|
+
mockBroker = messageBroker;
|
|
24
|
+
proxy = new TimerServiceProxy();
|
|
27
25
|
});
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
it('schedule forwards commandId, fireAt and args and returns the timer id', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
|
+
vi.mocked(mockBroker.invoke).mockResolvedValueOnce('timer-abc');
|
|
30
28
|
const id = yield proxy.schedule({
|
|
31
29
|
commandId: 'bell',
|
|
32
30
|
fireAt: 1700000000000,
|
|
33
31
|
args: { snooze: 300000, note: 'water the plants' },
|
|
34
32
|
});
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
expect(id).toBe('timer-abc');
|
|
34
|
+
expect(mockBroker.invoke).toHaveBeenCalledWith('timers:schedule', {
|
|
37
35
|
opts: {
|
|
38
36
|
commandId: 'bell',
|
|
39
37
|
fireAt: 1700000000000,
|
|
@@ -41,29 +39,29 @@ const MessageBroker_1 = require("../ipc/MessageBroker");
|
|
|
41
39
|
},
|
|
42
40
|
});
|
|
43
41
|
}));
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
it('schedule without args still serializes required fields', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
43
|
+
vi.mocked(mockBroker.invoke).mockResolvedValueOnce('timer-xyz');
|
|
46
44
|
yield proxy.schedule({ commandId: 'bell', fireAt: 2000 });
|
|
47
|
-
|
|
45
|
+
expect(mockBroker.invoke).toHaveBeenCalledWith('timers:schedule', {
|
|
48
46
|
opts: { commandId: 'bell', fireAt: 2000 },
|
|
49
47
|
});
|
|
50
48
|
}));
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
yield
|
|
49
|
+
it('schedule propagates host-side errors unchanged', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
50
|
+
vi.mocked(mockBroker.invoke).mockRejectedValueOnce(new Error('Validation error: fire_at (100) must be strictly greater than now (2000)'));
|
|
51
|
+
yield expect(proxy.schedule({ commandId: 'bell', fireAt: 100 })).rejects.toThrow(/fire_at/);
|
|
54
52
|
}));
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
it('cancel invokes timers:cancel with the timer id', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
54
|
+
vi.mocked(mockBroker.invoke).mockResolvedValueOnce(undefined);
|
|
57
55
|
yield proxy.cancel('timer-abc');
|
|
58
|
-
|
|
56
|
+
expect(mockBroker.invoke).toHaveBeenCalledWith('timers:cancel', {
|
|
59
57
|
timerId: 'timer-abc',
|
|
60
58
|
});
|
|
61
59
|
}));
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
yield
|
|
60
|
+
it('cancel propagates host-side errors', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
61
|
+
vi.mocked(mockBroker.invoke).mockRejectedValueOnce(new Error('Not found: Timer "xyz" not found'));
|
|
62
|
+
yield expect(proxy.cancel('xyz')).rejects.toThrow(/Not found/);
|
|
65
63
|
}));
|
|
66
|
-
|
|
64
|
+
it('list invokes timers:list and returns descriptors verbatim', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
67
65
|
const sample = [
|
|
68
66
|
{
|
|
69
67
|
timerId: 't1',
|
|
@@ -74,14 +72,14 @@ const MessageBroker_1 = require("../ipc/MessageBroker");
|
|
|
74
72
|
createdAt: 1699999000000,
|
|
75
73
|
},
|
|
76
74
|
];
|
|
77
|
-
|
|
75
|
+
vi.mocked(mockBroker.invoke).mockResolvedValueOnce(sample);
|
|
78
76
|
const got = yield proxy.list();
|
|
79
|
-
|
|
80
|
-
|
|
77
|
+
expect(mockBroker.invoke).toHaveBeenCalledWith('timers:list', {});
|
|
78
|
+
expect(got).toEqual(sample);
|
|
81
79
|
}));
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
80
|
+
it('list returns an empty array unchanged', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
81
|
+
vi.mocked(mockBroker.invoke).mockResolvedValueOnce([]);
|
|
82
|
+
expect(yield proxy.list()).toEqual([]);
|
|
85
83
|
}));
|
|
86
84
|
});
|
|
87
85
|
//# sourceMappingURL=TimerServiceProxy.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimerServiceProxy.test.js","sourceRoot":"","sources":["../../src/services/TimerServiceProxy.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TimerServiceProxy.test.js","sourceRoot":"","sources":["../../src/services/TimerServiceProxy.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
2
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
3
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,10 +7,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
8
|
});
|
|
10
9
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const BaseServiceProxy_1 = require("./BaseServiceProxy");
|
|
14
|
-
class WindowManagementServiceProxy extends BaseServiceProxy_1.BaseServiceProxy {
|
|
10
|
+
import { BaseServiceProxy } from './BaseServiceProxy';
|
|
11
|
+
export class WindowManagementServiceProxy extends BaseServiceProxy {
|
|
15
12
|
getWindowBounds() {
|
|
16
13
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17
14
|
return this.broker.invoke('window:getWindowBounds');
|
|
@@ -33,5 +30,4 @@ class WindowManagementServiceProxy extends BaseServiceProxy_1.BaseServiceProxy {
|
|
|
33
30
|
});
|
|
34
31
|
}
|
|
35
32
|
}
|
|
36
|
-
exports.WindowManagementServiceProxy = WindowManagementServiceProxy;
|
|
37
33
|
//# sourceMappingURL=WindowManagementService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WindowManagementService.js","sourceRoot":"","sources":["../../src/services/WindowManagementService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WindowManagementService.js","sourceRoot":"","sources":["../../src/services/WindowManagementService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AA+CrD,MAAM,OAAO,4BACX,SAAQ,gBAAgB;IAGlB,eAAe;;YACnB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAA;QACrD,CAAC;KAAA;IAEK,eAAe,CAAC,MAA6B;;YACjD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,EAAE;gBAClD,CAAC,EAAE,MAAM,CAAC,CAAC;gBACX,CAAC,EAAE,MAAM,CAAC,CAAC;gBACX,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAA;QACJ,CAAC;KAAA;IAEK,aAAa,CAAC,MAAe;;YACjC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAC/D,CAAC;KAAA;CACF"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
2
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
3
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,43 +7,42 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
8
|
});
|
|
10
9
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
messageBroker: { invoke: vitest_1.vi.fn(),
|
|
10
|
+
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
11
|
+
vi.mock('../ipc/MessageBroker', () => ({
|
|
12
|
+
messageBroker: { invoke: vi.fn(),
|
|
15
13
|
},
|
|
16
14
|
}));
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
import { messageBroker } from '../ipc/MessageBroker';
|
|
16
|
+
import { WindowManagementServiceProxy } from './WindowManagementService';
|
|
17
|
+
describe('WindowManagementServiceProxy', () => {
|
|
20
18
|
let mockBroker;
|
|
21
19
|
let proxy;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
mockBroker =
|
|
25
|
-
proxy = new
|
|
20
|
+
beforeEach(() => {
|
|
21
|
+
vi.clearAllMocks();
|
|
22
|
+
mockBroker = messageBroker;
|
|
23
|
+
proxy = new WindowManagementServiceProxy();
|
|
26
24
|
});
|
|
27
|
-
|
|
25
|
+
it('getWindowBounds calls correct IPC key', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
28
26
|
const bounds = { x: 0, y: 0, width: 1280, height: 800 };
|
|
29
|
-
|
|
27
|
+
vi.mocked(mockBroker.invoke).mockResolvedValueOnce(bounds);
|
|
30
28
|
const result = yield proxy.getWindowBounds();
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
expect(mockBroker.invoke).toHaveBeenCalledWith('window:getWindowBounds');
|
|
30
|
+
expect(result).toEqual(bounds);
|
|
33
31
|
}));
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
it('setWindowBounds calls correct IPC key with partial update', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
33
|
+
vi.mocked(mockBroker.invoke).mockResolvedValueOnce(undefined);
|
|
36
34
|
yield proxy.setWindowBounds({ width: 800, height: 600 });
|
|
37
|
-
|
|
35
|
+
expect(mockBroker.invoke).toHaveBeenCalledWith('window:setWindowBounds', { x: undefined, y: undefined, width: 800, height: 600 });
|
|
38
36
|
}));
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
it('setFullscreen calls correct IPC key with enable=true', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
38
|
+
vi.mocked(mockBroker.invoke).mockResolvedValueOnce(undefined);
|
|
41
39
|
yield proxy.setFullscreen(true);
|
|
42
|
-
|
|
40
|
+
expect(mockBroker.invoke).toHaveBeenCalledWith('window:setFullscreen', { enable: true });
|
|
43
41
|
}));
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
it('setFullscreen calls correct IPC key with enable=false', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
43
|
+
vi.mocked(mockBroker.invoke).mockResolvedValueOnce(undefined);
|
|
46
44
|
yield proxy.setFullscreen(false);
|
|
47
|
-
|
|
45
|
+
expect(mockBroker.invoke).toHaveBeenCalledWith('window:setFullscreen', { enable: false });
|
|
48
46
|
}));
|
|
49
47
|
});
|
|
50
48
|
//# sourceMappingURL=WindowManagementService.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WindowManagementService.test.js","sourceRoot":"","sources":["../../src/services/WindowManagementService.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WindowManagementService.test.js","sourceRoot":"","sources":["../../src/services/WindowManagementService.test.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAE7D,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;IACrC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;KAC/B;CACF,CAAC,CAAC,CAAA;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAA;AAExE,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,IAAI,UAAgD,CAAA;IACpD,IAAI,KAAmC,CAAA;IAEvC,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAA;QAClB,UAAU,GAAG,aAAoB,CAAA;QACjC,KAAK,GAAG,IAAI,4BAA4B,EAAE,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uCAAuC,EAAE,GAAS,EAAE;QACrD,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;QACvD,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA;QAE1D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;QAE5C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,CAAA;QACxE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAC,2DAA2D,EAAE,GAAS,EAAE;QACzE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAA;QAE7D,MAAM,KAAK,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAExD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAC5C,wBAAwB,EACxB,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CACxD,CAAA;IACH,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAC,sDAAsD,EAAE,GAAS,EAAE;QACpE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAA;QAE7D,MAAM,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAE/B,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAC5C,sBAAsB,EACtB,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAA;IACH,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAC,uDAAuD,EAAE,GAAS,EAAE;QACrE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAA;QAE7D,MAAM,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAEhC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAC5C,sBAAsB,EACtB,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAA;IACH,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|