@eclipse-glsp/server 1.1.0-RC05 → 1.1.0-RC06
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/lib/browser/launch/worker-server-launcher.d.ts +8 -5
- package/lib/browser/launch/worker-server-launcher.d.ts.map +1 -1
- package/lib/browser/launch/worker-server-launcher.js +9 -11
- package/lib/browser/launch/worker-server-launcher.js.map +1 -1
- package/lib/common/command/command-stack.d.ts +7 -6
- package/lib/common/command/command-stack.d.ts.map +1 -1
- package/lib/common/command/command-stack.js +6 -6
- package/lib/common/command/command-stack.js.map +1 -1
- package/lib/common/command/command-stack.spec.js +31 -31
- package/lib/common/command/command-stack.spec.js.map +1 -1
- package/lib/common/command/command.d.ts +7 -6
- package/lib/common/command/command.d.ts.map +1 -1
- package/lib/common/command/command.js +19 -15
- package/lib/common/command/command.js.map +1 -1
- package/lib/common/command/command.spec.js +8 -8
- package/lib/common/command/command.spec.js.map +1 -1
- package/lib/common/command/recording-command.d.ts +15 -15
- package/lib/common/command/recording-command.d.ts.map +1 -1
- package/lib/common/command/recording-command.js +10 -10
- package/lib/common/command/recording-command.js.map +1 -1
- package/lib/common/command/recording-command.spec.js +8 -8
- package/lib/common/command/recording-command.spec.js.map +1 -1
- package/lib/common/command/undo-redo-action-handler.d.ts +2 -2
- package/lib/common/command/undo-redo-action-handler.d.ts.map +1 -1
- package/lib/common/command/undo-redo-action-handler.js +4 -4
- package/lib/common/command/undo-redo-action-handler.js.map +1 -1
- package/lib/common/features/layout/computed-bounds-action-handler.js +1 -1
- package/lib/common/features/layout/computed-bounds-action-handler.js.map +1 -1
- package/lib/common/index.d.ts +3 -1
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js +3 -1
- package/lib/common/index.js.map +1 -1
- package/lib/common/launch/glsp-server-launcher.d.ts +7 -6
- package/lib/common/launch/glsp-server-launcher.d.ts.map +1 -1
- package/lib/common/launch/glsp-server-launcher.js +25 -2
- package/lib/common/launch/glsp-server-launcher.js.map +1 -1
- package/lib/common/operations/operation-action-handler.d.ts +1 -1
- package/lib/common/operations/operation-action-handler.d.ts.map +1 -1
- package/lib/common/operations/operation-action-handler.js +3 -3
- package/lib/common/operations/operation-action-handler.js.map +1 -1
- package/lib/common/test/mock-util.d.ts +7 -1
- package/lib/common/test/mock-util.d.ts.map +1 -1
- package/lib/common/test/mock-util.js +23 -1
- package/lib/common/test/mock-util.js.map +1 -1
- package/lib/common/utils/layout-util.d.ts +1 -1
- package/lib/common/utils/layout-util.d.ts.map +1 -1
- package/lib/common/utils/layout-util.js +3 -3
- package/lib/common/utils/layout-util.js.map +1 -1
- package/lib/node/index.d.ts +1 -0
- package/lib/node/index.d.ts.map +1 -1
- package/lib/node/index.js +1 -0
- package/lib/node/index.js.map +1 -1
- package/lib/node/launch/socket-server-launcher.d.ts +2 -1
- package/lib/node/launch/socket-server-launcher.d.ts.map +1 -1
- package/lib/node/launch/socket-server-launcher.js +11 -10
- package/lib/node/launch/socket-server-launcher.js.map +1 -1
- package/lib/node/launch/websocket-server-launcher.d.ts +59 -0
- package/lib/node/launch/websocket-server-launcher.d.ts.map +1 -0
- package/lib/node/launch/websocket-server-launcher.js +145 -0
- package/lib/node/launch/websocket-server-launcher.js.map +1 -0
- package/package.json +8 -6
- package/src/browser/launch/worker-server-launcher.ts +16 -12
- package/src/common/command/command-stack.spec.ts +32 -32
- package/src/common/command/command-stack.ts +10 -9
- package/src/common/command/command.spec.ts +9 -10
- package/src/common/command/command.ts +23 -19
- package/src/common/command/recording-command.spec.ts +8 -8
- package/src/common/command/recording-command.ts +19 -19
- package/src/common/command/undo-redo-action-handler.ts +4 -4
- package/src/common/features/layout/computed-bounds-action-handler.ts +2 -2
- package/src/common/index.ts +3 -1
- package/src/common/launch/glsp-server-launcher.ts +13 -7
- package/src/common/operations/operation-action-handler.ts +3 -3
- package/src/common/test/mock-util.ts +21 -0
- package/src/common/utils/layout-util.ts +1 -1
- package/src/node/index.ts +1 -0
- package/src/node/launch/socket-server-launcher.ts +13 -7
- package/src/node/launch/websocket-server-launcher.ts +164 -0
|
@@ -16,11 +16,14 @@
|
|
|
16
16
|
import { Container } from 'inversify';
|
|
17
17
|
import * as jsonrpc from 'vscode-jsonrpc/browser';
|
|
18
18
|
import { GLSPServer, GLSPServerLauncher, MaybePromise } from '../../common/index';
|
|
19
|
-
export
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
export interface WorkerLaunchOptions {
|
|
20
|
+
context?: Worker;
|
|
21
|
+
}
|
|
22
|
+
export declare const START_UP_COMPLETE_MSG = "[GLSP-Server]:Startup completed.";
|
|
23
|
+
export declare class WorkerServerLauncher extends GLSPServerLauncher<WorkerLaunchOptions> {
|
|
24
|
+
protected connection?: jsonrpc.MessageConnection;
|
|
25
|
+
protected run(options: WorkerLaunchOptions): MaybePromise<void>;
|
|
22
26
|
protected disposeClientConnection(container: Container, glspServer: GLSPServer): void;
|
|
23
|
-
protected
|
|
24
|
-
protected createConnection(): jsonrpc.MessageConnection;
|
|
27
|
+
protected createConnection(options: WorkerLaunchOptions): jsonrpc.MessageConnection;
|
|
25
28
|
}
|
|
26
29
|
//# sourceMappingURL=worker-server-launcher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-server-launcher.d.ts","sourceRoot":"","sources":["../../../src/browser/launch/worker-server-launcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,SAAS,EAAc,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAqB,YAAY,
|
|
1
|
+
{"version":3,"file":"worker-server-launcher.d.ts","sourceRoot":"","sources":["../../../src/browser/launch/worker-server-launcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,SAAS,EAAc,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAqB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrG,MAAM,WAAW,mBAAmB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,qBAAqB,qCAAqC,CAAC;AAExE,qBACa,oBAAqB,SAAQ,kBAAkB,CAAC,mBAAmB,CAAC;IAC7E,SAAS,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC;IAEjD,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC;IAoB/D,SAAS,CAAC,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAMrF,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB;CAMtF"}
|
|
@@ -21,23 +21,25 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
21
21
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
22
22
|
};
|
|
23
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.WorkerServerLauncher = void 0;
|
|
24
|
+
exports.WorkerServerLauncher = exports.START_UP_COMPLETE_MSG = void 0;
|
|
25
25
|
const inversify_1 = require("inversify");
|
|
26
26
|
const jsonrpc = require("vscode-jsonrpc/browser");
|
|
27
27
|
const index_1 = require("../../common/index");
|
|
28
|
+
exports.START_UP_COMPLETE_MSG = '[GLSP-Server]:Startup completed.';
|
|
28
29
|
let WorkerServerLauncher = class WorkerServerLauncher extends index_1.GLSPServerLauncher {
|
|
29
|
-
run() {
|
|
30
|
+
run(options) {
|
|
30
31
|
if (this.connection) {
|
|
31
32
|
throw new Error('Error during launch. Server already has an active client connection');
|
|
32
33
|
}
|
|
33
34
|
const container = this.createContainer();
|
|
34
|
-
this.connection = this.createConnection();
|
|
35
|
+
this.connection = this.createConnection(options);
|
|
35
36
|
const glspServer = container.get(index_1.JsonRpcGLSPServer);
|
|
36
37
|
glspServer.connect(this.connection);
|
|
37
38
|
this.connection.onDispose(() => this.disposeClientConnection(container, glspServer));
|
|
38
39
|
this.logger.info('GLSP server worker connection established');
|
|
39
40
|
this.connection.listen();
|
|
40
|
-
|
|
41
|
+
this.toDispose.push(this.connection);
|
|
42
|
+
postMessage(exports.START_UP_COMPLETE_MSG);
|
|
41
43
|
return new Promise((resolve, rejects) => {
|
|
42
44
|
var _a, _b;
|
|
43
45
|
(_a = this.connection) === null || _a === void 0 ? void 0 : _a.onClose(() => resolve(undefined));
|
|
@@ -49,13 +51,9 @@ let WorkerServerLauncher = class WorkerServerLauncher extends index_1.GLSPServer
|
|
|
49
51
|
container.unbindAll();
|
|
50
52
|
this.connection = undefined;
|
|
51
53
|
}
|
|
52
|
-
|
|
53
|
-
var _a;
|
|
54
|
-
|
|
55
|
-
(_a = this.connection) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
56
|
-
}
|
|
57
|
-
createConnection() {
|
|
58
|
-
return jsonrpc.createMessageConnection(new jsonrpc.BrowserMessageReader(self), new jsonrpc.BrowserMessageWriter(self));
|
|
54
|
+
createConnection(options) {
|
|
55
|
+
var _a, _b;
|
|
56
|
+
return jsonrpc.createMessageConnection(new jsonrpc.BrowserMessageReader((_a = options.context) !== null && _a !== void 0 ? _a : self), new jsonrpc.BrowserMessageWriter((_b = options.context) !== null && _b !== void 0 ? _b : self));
|
|
59
57
|
}
|
|
60
58
|
};
|
|
61
59
|
WorkerServerLauncher = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-server-launcher.js","sourceRoot":"","sources":["../../../src/browser/launch/worker-server-launcher.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;AAElF,yCAAkD;AAClD,kDAAkD;AAClD,
|
|
1
|
+
{"version":3,"file":"worker-server-launcher.js","sourceRoot":"","sources":["../../../src/browser/launch/worker-server-launcher.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;AAElF,yCAAkD;AAClD,kDAAkD;AAClD,8CAAqG;AAKxF,QAAA,qBAAqB,GAAG,kCAAkC,CAAC;AAGjE,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,0BAAuC;IAGnE,GAAG,CAAC,OAA4B;QACtC,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;SAC1F;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAoB,yBAAiB,CAAC,CAAC;QACvE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QAErF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,WAAW,CAAC,6BAAqB,CAAC,CAAC;QACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;;YACpC,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YACnD,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACP,CAAC;IAES,uBAAuB,CAAC,SAAoB,EAAE,UAAsB;QAC1E,UAAU,CAAC,QAAQ,EAAE,CAAC;QACtB,SAAS,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAChC,CAAC;IAES,gBAAgB,CAAC,OAA4B;;QACnD,OAAO,OAAO,CAAC,uBAAuB,CAClC,IAAI,OAAO,CAAC,oBAAoB,CAAC,MAAA,OAAO,CAAC,OAAO,mCAAI,IAAI,CAAC,EACzD,IAAI,OAAO,CAAC,oBAAoB,CAAC,MAAA,OAAO,CAAC,OAAO,mCAAI,IAAI,CAAC,CAC5D,CAAC;IACN,CAAC;CACJ,CAAA;AAnCY,oBAAoB;IADhC,IAAA,sBAAU,GAAE;GACA,oBAAoB,CAmChC;AAnCY,oDAAoB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { MaybePromise } from '..';
|
|
1
2
|
import { Logger } from '../utils/logger';
|
|
2
3
|
import { Command } from './command';
|
|
3
4
|
export declare const CommandStack: unique symbol;
|
|
@@ -13,11 +14,11 @@ export interface CommandStack {
|
|
|
13
14
|
* Clears any redoable commands not yet redone, adds the command to the stack and then invokes {@link Command.execute}.
|
|
14
15
|
* @param command the command to execute.
|
|
15
16
|
*/
|
|
16
|
-
execute(command: Command): void
|
|
17
|
+
execute(command: Command): MaybePromise<void>;
|
|
17
18
|
/**
|
|
18
19
|
* Removes the topmost (i.e. last executed) command from the stack and invokes {@link Command.undo}.
|
|
19
20
|
*/
|
|
20
|
-
undo(): void
|
|
21
|
+
undo(): MaybePromise<void>;
|
|
21
22
|
/**
|
|
22
23
|
* Returns `true` if the top command on the stack can be undone.
|
|
23
24
|
*/
|
|
@@ -25,7 +26,7 @@ export interface CommandStack {
|
|
|
25
26
|
/**
|
|
26
27
|
* Re-adds the last undo command on top of the stack and invokes {@link Command.redo}
|
|
27
28
|
*/
|
|
28
|
-
redo(): void
|
|
29
|
+
redo(): MaybePromise<void>;
|
|
29
30
|
/**
|
|
30
31
|
* Returns `true` if there are redoable commands in the stack.
|
|
31
32
|
*/
|
|
@@ -54,10 +55,10 @@ export declare class DefaultCommandStack implements CommandStack {
|
|
|
54
55
|
* The current position within the command list when {@link DefaultCommandStack.saveIsDone} is called.
|
|
55
56
|
*/
|
|
56
57
|
protected saveIndex: number;
|
|
57
|
-
execute(command: Command): void
|
|
58
|
-
undo(): void
|
|
58
|
+
execute(command: Command): Promise<void>;
|
|
59
|
+
undo(): Promise<void>;
|
|
59
60
|
canUndo(): boolean;
|
|
60
|
-
redo(): void
|
|
61
|
+
redo(): Promise<void>;
|
|
61
62
|
canRedo(): boolean;
|
|
62
63
|
get isDirty(): boolean;
|
|
63
64
|
saveIsDone(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-stack.d.ts","sourceRoot":"","sources":["../../../src/common/command/command-stack.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,eAAO,MAAM,YAAY,eAAyB,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IACzB;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"command-stack.d.ts","sourceRoot":"","sources":["../../../src/common/command/command-stack.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,eAAO,MAAM,YAAY,eAAyB,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IACzB;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAE9C;;OAEG;IACH,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IAE3B;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC;IAEnB;;OAEG;IACH,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IAE3B;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC;IAEnB;;OAEG;IACH,UAAU,IAAI,IAAI,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;CACjB;AAED,qBACa,mBAAoB,YAAW,YAAY;IAEpD,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IAEzB,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAM;IAEnC;;OAEG;IACH,SAAS,CAAC,GAAG,SAAM;IAEnB;;OAEG;IACH,SAAS,CAAC,SAAS,SAAM;IAEnB,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBxC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,OAAO,IAAI,OAAO;IAMZ,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,OAAO,IAAI,OAAO;IAIlB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,UAAU,IAAI,IAAI;IAIlB,KAAK,IAAI,IAAI;IAMb,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK;CAM3C"}
|
|
@@ -41,9 +41,9 @@ let DefaultCommandStack = class DefaultCommandStack {
|
|
|
41
41
|
*/
|
|
42
42
|
this.saveIndex = -1;
|
|
43
43
|
}
|
|
44
|
-
execute(command) {
|
|
44
|
+
async execute(command) {
|
|
45
45
|
try {
|
|
46
|
-
command.execute();
|
|
46
|
+
await command.execute();
|
|
47
47
|
}
|
|
48
48
|
catch (error) {
|
|
49
49
|
this.handleError(error);
|
|
@@ -58,11 +58,11 @@ let DefaultCommandStack = class DefaultCommandStack {
|
|
|
58
58
|
this.saveIndex = -2;
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
-
undo() {
|
|
61
|
+
async undo() {
|
|
62
62
|
if (this.canUndo()) {
|
|
63
63
|
const command = this.commands[this.top--];
|
|
64
64
|
try {
|
|
65
|
-
command.undo();
|
|
65
|
+
await command.undo();
|
|
66
66
|
}
|
|
67
67
|
catch (error) {
|
|
68
68
|
this.handleError(error);
|
|
@@ -74,11 +74,11 @@ let DefaultCommandStack = class DefaultCommandStack {
|
|
|
74
74
|
? command_1.Command.canUndo(this.commands[this.top])
|
|
75
75
|
: false;
|
|
76
76
|
}
|
|
77
|
-
redo() {
|
|
77
|
+
async redo() {
|
|
78
78
|
if (this.canRedo()) {
|
|
79
79
|
const command = this.commands[++this.top];
|
|
80
80
|
try {
|
|
81
|
-
command.redo();
|
|
81
|
+
await command.redo();
|
|
82
82
|
}
|
|
83
83
|
catch (error) {
|
|
84
84
|
this.handleError(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-stack.js","sourceRoot":"","sources":["../../../src/common/command/command-stack.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,yCAA+C;
|
|
1
|
+
{"version":3,"file":"command-stack.js","sourceRoot":"","sources":["../../../src/common/command/command-stack.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,142 +36,142 @@ describe('test DefaultCommandStack', () => {
|
|
|
36
36
|
commandStack = container.resolve(command_stack_1.DefaultCommandStack);
|
|
37
37
|
});
|
|
38
38
|
describe('execute', () => {
|
|
39
|
-
it('should execute the given command and become dirty', () => {
|
|
39
|
+
it('should execute the given command and become dirty', async () => {
|
|
40
40
|
(0, chai_1.expect)(commandStack.isDirty).to.be.false;
|
|
41
|
-
commandStack.execute(command1);
|
|
41
|
+
await commandStack.execute(command1);
|
|
42
42
|
(0, chai_1.expect)(command1.execute.calledOnce).to.be.true;
|
|
43
43
|
(0, chai_1.expect)(commandStack.isDirty).to.be.true;
|
|
44
44
|
});
|
|
45
|
-
it('should execute the given commands in order and become dirty', () => {
|
|
45
|
+
it('should execute the given commands in order and become dirty', async () => {
|
|
46
46
|
(0, chai_1.expect)(commandStack.isDirty).to.be.false;
|
|
47
|
-
commandStack.execute(command1);
|
|
48
|
-
commandStack.execute(command2);
|
|
47
|
+
await commandStack.execute(command1);
|
|
48
|
+
await commandStack.execute(command2);
|
|
49
49
|
(0, chai_1.expect)(command1.execute.calledOnce).to.be.true;
|
|
50
50
|
(0, chai_1.expect)(command2.execute.calledOnce).to.be.true;
|
|
51
51
|
(0, chai_1.expect)(command2.execute.calledAfter(command1.execute)).to.be.true;
|
|
52
52
|
(0, chai_1.expect)(commandStack.isDirty).to.be.true;
|
|
53
53
|
});
|
|
54
|
-
it('should be able to undo after execute', () => {
|
|
54
|
+
it('should be able to undo after execute', async () => {
|
|
55
55
|
(0, chai_1.expect)(commandStack.canUndo()).to.be.false;
|
|
56
|
-
commandStack.execute(command1);
|
|
56
|
+
await commandStack.execute(command1);
|
|
57
57
|
(0, chai_1.expect)(commandStack.canUndo()).to.be.true;
|
|
58
58
|
});
|
|
59
|
-
it('should clear the redo stack after execution', () => {
|
|
59
|
+
it('should clear the redo stack after execution', async () => {
|
|
60
60
|
commandStack['commands'].push(command2);
|
|
61
61
|
commandStack['top'] = -1;
|
|
62
62
|
(0, chai_1.expect)(commandStack.canRedo()).to.be.true;
|
|
63
|
-
commandStack.execute(command1);
|
|
63
|
+
await commandStack.execute(command1);
|
|
64
64
|
(0, chai_1.expect)(commandStack.canRedo()).to.be.false;
|
|
65
65
|
});
|
|
66
|
-
it('should flush the stack in case of an execution error', () => {
|
|
66
|
+
it('should flush the stack in case of an execution error', async () => {
|
|
67
67
|
command2.execute.throwsException();
|
|
68
68
|
const flushSpy = sandbox.spy(commandStack, 'flush');
|
|
69
|
-
(0,
|
|
69
|
+
await (0, mock_util_1.expectToThrowAsync)(() => commandStack.execute(command2));
|
|
70
70
|
(0, chai_1.expect)(command2.execute.calledOnce).to.be.true;
|
|
71
71
|
(0, chai_1.expect)(flushSpy.calledOnce).to.be.true;
|
|
72
72
|
});
|
|
73
73
|
});
|
|
74
74
|
describe('undo', () => {
|
|
75
|
-
it('should do nothing if the command stack is empty', () => {
|
|
75
|
+
it('should do nothing if the command stack is empty', async () => {
|
|
76
76
|
(0, chai_1.expect)(commandStack.isDirty).to.be.false;
|
|
77
|
-
commandStack.undo();
|
|
77
|
+
await commandStack.undo();
|
|
78
78
|
(0, chai_1.expect)(commandStack.canUndo()).to.be.false;
|
|
79
79
|
(0, chai_1.expect)(commandStack.canRedo()).to.be.false;
|
|
80
80
|
(0, chai_1.expect)(commandStack.isDirty).to.be.false;
|
|
81
81
|
});
|
|
82
|
-
it('should undo the command and become non-dirty again', () => {
|
|
82
|
+
it('should undo the command and become non-dirty again', async () => {
|
|
83
83
|
commandStack['commands'].push(command1);
|
|
84
84
|
commandStack['top'] = 0;
|
|
85
85
|
(0, chai_1.expect)(commandStack.isDirty).to.be.true;
|
|
86
86
|
(0, chai_1.expect)(commandStack.canUndo()).to.be.true;
|
|
87
87
|
(0, chai_1.expect)(commandStack.canRedo()).to.be.false;
|
|
88
|
-
commandStack.undo();
|
|
88
|
+
await commandStack.undo();
|
|
89
89
|
(0, chai_1.expect)(command1.undo.calledOnce).to.be.true;
|
|
90
90
|
(0, chai_1.expect)(commandStack.isDirty).to.be.false;
|
|
91
91
|
(0, chai_1.expect)(commandStack.canRedo()).to.be.true;
|
|
92
92
|
(0, chai_1.expect)(commandStack.canUndo()).to.be.false;
|
|
93
93
|
});
|
|
94
|
-
it('should undo multiple command and become non-dirty again', () => {
|
|
94
|
+
it('should undo multiple command and become non-dirty again', async () => {
|
|
95
95
|
commandStack['commands'].push(command1, command2);
|
|
96
96
|
commandStack['top'] = 1;
|
|
97
97
|
(0, chai_1.expect)(commandStack.isDirty).to.be.true;
|
|
98
98
|
(0, chai_1.expect)(commandStack.canUndo()).to.be.true;
|
|
99
99
|
(0, chai_1.expect)(commandStack.canRedo()).to.be.false;
|
|
100
|
-
commandStack.undo();
|
|
100
|
+
await commandStack.undo();
|
|
101
101
|
(0, chai_1.expect)(command2.undo.calledOnce).to.be.true;
|
|
102
102
|
(0, chai_1.expect)(commandStack.canRedo()).to.be.true;
|
|
103
103
|
(0, chai_1.expect)(commandStack.canUndo()).to.be.true;
|
|
104
104
|
(0, chai_1.expect)(commandStack.isDirty).to.be.true;
|
|
105
|
-
commandStack.undo();
|
|
105
|
+
await commandStack.undo();
|
|
106
106
|
(0, chai_1.expect)(command1.undo.calledOnce).to.be.true;
|
|
107
107
|
(0, chai_1.expect)(command1.undo.calledAfter(command2.undo)).to.be.true;
|
|
108
108
|
(0, chai_1.expect)(commandStack.isDirty).to.be.false;
|
|
109
109
|
(0, chai_1.expect)(commandStack.canRedo()).to.be.true;
|
|
110
110
|
(0, chai_1.expect)(commandStack.canUndo()).to.be.false;
|
|
111
111
|
});
|
|
112
|
-
it('should flush the stack in case of an execution error', () => {
|
|
112
|
+
it('should flush the stack in case of an execution error', async () => {
|
|
113
113
|
command2.undo.throwsException();
|
|
114
114
|
const flushSpy = sandbox.spy(commandStack, 'flush');
|
|
115
115
|
commandStack['commands'].push(command2);
|
|
116
116
|
commandStack['top'] = 0;
|
|
117
|
-
(0,
|
|
117
|
+
await (0, mock_util_1.expectToThrowAsync)(() => commandStack.undo());
|
|
118
118
|
(0, chai_1.expect)(command2.undo.calledOnce).to.be.true;
|
|
119
119
|
(0, chai_1.expect)(flushSpy.calledOnce).to.be.true;
|
|
120
120
|
});
|
|
121
121
|
});
|
|
122
122
|
describe('redo', () => {
|
|
123
|
-
it('should do nothing if the command stack is empty', () => {
|
|
123
|
+
it('should do nothing if the command stack is empty', async () => {
|
|
124
124
|
(0, chai_1.expect)(commandStack.isDirty).to.be.false;
|
|
125
|
-
commandStack.redo();
|
|
125
|
+
await commandStack.redo();
|
|
126
126
|
(0, chai_1.expect)(commandStack.canUndo()).to.be.false;
|
|
127
127
|
(0, chai_1.expect)(commandStack.canRedo()).to.be.false;
|
|
128
128
|
(0, chai_1.expect)(commandStack.isDirty).to.be.false;
|
|
129
129
|
});
|
|
130
|
-
it('should redo the command and become dirty again', () => {
|
|
130
|
+
it('should redo the command and become dirty again', async () => {
|
|
131
131
|
commandStack['commands'].push(command1);
|
|
132
132
|
commandStack['top'] = -1;
|
|
133
133
|
(0, chai_1.expect)(commandStack.isDirty).to.be.false;
|
|
134
134
|
(0, chai_1.expect)(commandStack.canUndo()).to.be.false;
|
|
135
135
|
(0, chai_1.expect)(commandStack.canRedo()).to.be.true;
|
|
136
|
-
commandStack.redo();
|
|
136
|
+
await commandStack.redo();
|
|
137
137
|
(0, chai_1.expect)(command1.redo.calledOnce).to.be.true;
|
|
138
138
|
(0, chai_1.expect)(commandStack.isDirty).to.be.true;
|
|
139
139
|
(0, chai_1.expect)(commandStack.canRedo()).to.be.false;
|
|
140
140
|
(0, chai_1.expect)(commandStack.canUndo()).to.be.true;
|
|
141
141
|
});
|
|
142
|
-
it('should undo multiple command and become non-dirty again', () => {
|
|
142
|
+
it('should undo multiple command and become non-dirty again', async () => {
|
|
143
143
|
commandStack['commands'].push(command2, command1);
|
|
144
144
|
commandStack['top'] = -1;
|
|
145
145
|
commandStack['saveIndex'] = -1;
|
|
146
146
|
(0, chai_1.expect)(commandStack.isDirty).to.be.false;
|
|
147
147
|
(0, chai_1.expect)(commandStack.canUndo()).to.be.false;
|
|
148
148
|
(0, chai_1.expect)(commandStack.canRedo()).to.be.true;
|
|
149
|
-
commandStack.redo();
|
|
149
|
+
await commandStack.redo();
|
|
150
150
|
(0, chai_1.expect)(command2.redo.calledOnce).to.be.true;
|
|
151
151
|
(0, chai_1.expect)(commandStack.canRedo()).to.be.true;
|
|
152
152
|
(0, chai_1.expect)(commandStack.canUndo()).to.be.true;
|
|
153
153
|
(0, chai_1.expect)(commandStack.isDirty).to.be.true;
|
|
154
|
-
commandStack.redo();
|
|
154
|
+
await commandStack.redo();
|
|
155
155
|
(0, chai_1.expect)(command1.redo.calledOnce).to.be.true;
|
|
156
156
|
(0, chai_1.expect)(command1.redo.calledAfter(command2.redo)).to.be.true;
|
|
157
157
|
(0, chai_1.expect)(commandStack.isDirty).to.be.true;
|
|
158
158
|
(0, chai_1.expect)(commandStack.canRedo()).to.be.false;
|
|
159
159
|
(0, chai_1.expect)(commandStack.canUndo()).to.be.true;
|
|
160
160
|
});
|
|
161
|
-
it('should flush the stack in case of an execution error', () => {
|
|
161
|
+
it('should flush the stack in case of an execution error', async () => {
|
|
162
162
|
command2.redo.throwsException();
|
|
163
163
|
const flushSpy = sandbox.spy(commandStack, 'flush');
|
|
164
164
|
commandStack['commands'].push(command2);
|
|
165
165
|
commandStack['top'] = -1;
|
|
166
|
-
(0,
|
|
166
|
+
await (0, mock_util_1.expectToThrowAsync)(() => commandStack.redo());
|
|
167
167
|
(0, chai_1.expect)(command2.redo.calledOnce).to.be.true;
|
|
168
168
|
(0, chai_1.expect)(flushSpy.calledOnce).to.be.true;
|
|
169
169
|
});
|
|
170
|
-
it('should be able to undo after redo', () => {
|
|
170
|
+
it('should be able to undo after redo', async () => {
|
|
171
171
|
commandStack['commands'].push(command1);
|
|
172
172
|
commandStack['top'] = -1;
|
|
173
173
|
(0, chai_1.expect)(commandStack.canUndo()).to.be.false;
|
|
174
|
-
commandStack.redo();
|
|
174
|
+
await commandStack.redo();
|
|
175
175
|
(0, chai_1.expect)(commandStack.canUndo()).to.be.true;
|
|
176
176
|
});
|
|
177
177
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-stack.spec.js","sourceRoot":"","sources":["../../../src/common/command/command-stack.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command-stack.spec.js","sourceRoot":"","sources":["../../../src/common/command/command-stack.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
+
import { MaybePromise } from '@eclipse-glsp/protocol';
|
|
16
17
|
/**
|
|
17
18
|
* A command implements a specific modification of the source model, which can be applied by invoking `execute()`.
|
|
18
19
|
* Commands may also provide implementations to `undo()` and `redo()` the effect they had.
|
|
@@ -27,17 +28,17 @@ export interface Command {
|
|
|
27
28
|
/**
|
|
28
29
|
* Performs the command activity required for the effect (e.g. source model change).
|
|
29
30
|
*/
|
|
30
|
-
execute(): void
|
|
31
|
+
execute(): MaybePromise<void>;
|
|
31
32
|
/**
|
|
32
33
|
* Performs the command activity required to `undo` the effects of a preceding `execute` (or `redo`).
|
|
33
34
|
* The effect, if any, of calling `undo` before `execute` or `redo` have been called, is undefined.
|
|
34
35
|
*/
|
|
35
|
-
undo(): void
|
|
36
|
+
undo(): MaybePromise<void>;
|
|
36
37
|
/**
|
|
37
38
|
* Performs the command activity required to `redo` the effect after undoing the effect.
|
|
38
39
|
* The effect, if any, of calling `redo` before `undo` is called is undefined.
|
|
39
40
|
*/
|
|
40
|
-
redo(): void
|
|
41
|
+
redo(): MaybePromise<void>;
|
|
41
42
|
/**
|
|
42
43
|
* Returns whether the command can be undone.
|
|
43
44
|
* This function is optional. If not implemented, it is assumed that the command can be undone.
|
|
@@ -55,9 +56,9 @@ export declare class CompoundCommand implements Command {
|
|
|
55
56
|
protected readonly commands: Command[];
|
|
56
57
|
constructor(commands: Command[]);
|
|
57
58
|
constructor(...commands: Command[]);
|
|
58
|
-
execute(): void
|
|
59
|
-
undo(): void
|
|
60
|
-
redo(): void
|
|
59
|
+
execute(): Promise<void>;
|
|
60
|
+
undo(): Promise<void>;
|
|
61
|
+
redo(): Promise<void>;
|
|
61
62
|
canUndo(): boolean;
|
|
62
63
|
}
|
|
63
64
|
//# sourceMappingURL=command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/common/command/command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/common/command/command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAwB,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE5E;;;;;;;;;GASG;AACH,MAAM,WAAW,OAAO;IACpB;;OAEG;IACH,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IAE9B;;;OAGG;IACH,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IAE3B;;;OAGG;IACH,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IAE3B;;;;OAIG;IACH,OAAO,CAAC,IAAI,OAAO,CAAC;CACvB;AAED,yBAAiB,OAAO,CAAC;IACrB,SAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEjD;CACJ;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,OAAO;IAC3C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;gBAE3B,QAAQ,EAAE,OAAO,EAAE;gBACnB,GAAG,QAAQ,EAAE,OAAO,EAAE;IAM5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBxB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAerB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B,OAAO,IAAI,OAAO;CAGrB"}
|
|
@@ -33,18 +33,18 @@ class CompoundCommand {
|
|
|
33
33
|
this.commands = [];
|
|
34
34
|
(0, protocol_1.flatPush)(this.commands, commands);
|
|
35
35
|
}
|
|
36
|
-
execute() {
|
|
36
|
+
async execute() {
|
|
37
37
|
const alreadyExecuted = [];
|
|
38
38
|
try {
|
|
39
|
-
this.commands
|
|
40
|
-
command.execute();
|
|
39
|
+
for (const command of this.commands) {
|
|
40
|
+
await command.execute();
|
|
41
41
|
alreadyExecuted.unshift(command);
|
|
42
|
-
}
|
|
42
|
+
}
|
|
43
43
|
}
|
|
44
44
|
catch (err) {
|
|
45
45
|
for (const command of alreadyExecuted) {
|
|
46
46
|
if (Command.canUndo(command)) {
|
|
47
|
-
command.undo();
|
|
47
|
+
await command.undo();
|
|
48
48
|
}
|
|
49
49
|
else {
|
|
50
50
|
break;
|
|
@@ -53,29 +53,33 @@ class CompoundCommand {
|
|
|
53
53
|
throw err;
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
undo() {
|
|
56
|
+
async undo() {
|
|
57
57
|
const alreadyUndone = [];
|
|
58
58
|
try {
|
|
59
|
-
[...this.commands].reverse()
|
|
60
|
-
command.undo();
|
|
59
|
+
for (const command of [...this.commands].reverse()) {
|
|
60
|
+
await command.undo();
|
|
61
61
|
alreadyUndone.unshift(command);
|
|
62
|
-
}
|
|
62
|
+
}
|
|
63
63
|
}
|
|
64
64
|
catch (err) {
|
|
65
|
-
|
|
65
|
+
for (const command of alreadyUndone) {
|
|
66
|
+
await command.redo();
|
|
67
|
+
}
|
|
66
68
|
throw err;
|
|
67
69
|
}
|
|
68
70
|
}
|
|
69
|
-
redo() {
|
|
71
|
+
async redo() {
|
|
70
72
|
const alreadyRedone = [];
|
|
71
73
|
try {
|
|
72
|
-
this.commands
|
|
73
|
-
command.redo();
|
|
74
|
+
for (const command of this.commands) {
|
|
75
|
+
await command.redo();
|
|
74
76
|
alreadyRedone.unshift(command);
|
|
75
|
-
}
|
|
77
|
+
}
|
|
76
78
|
}
|
|
77
79
|
catch (err) {
|
|
78
|
-
|
|
80
|
+
for (const command of alreadyRedone) {
|
|
81
|
+
await command.undo();
|
|
82
|
+
}
|
|
79
83
|
throw err;
|
|
80
84
|
}
|
|
81
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/common/command/command.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/common/command/command.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,qDAA4E;AAsC5E,IAAiB,OAAO,CAIvB;AAJD,WAAiB,OAAO;IACpB,SAAgB,OAAO,CAAC,OAAgB;;QACpC,OAAO,MAAA,MAAA,OAAO,CAAC,OAAO,uDAAI,mCAAI,IAAI,CAAC;IACvC,CAAC;IAFe,eAAO,UAEtB,CAAA;AACL,CAAC,EAJgB,OAAO,GAAP,eAAO,KAAP,eAAO,QAIvB;AAED;;GAEG;AACH,MAAa,eAAe;IAKxB,YAAY,GAAG,QAA+B;QAC1C,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAA,mBAAQ,EAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,OAAO;QACT,MAAM,eAAe,GAAc,EAAE,CAAC;QAEtC,IAAI;YACA,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;gBACxB,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;aACpC;SACJ;QAAC,OAAO,GAAG,EAAE;YACV,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE;gBACnC,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC1B,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;iBACxB;qBAAM;oBACH,MAAM;iBACT;aACJ;YACD,MAAM,GAAG,CAAC;SACb;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACN,MAAM,aAAa,GAAc,EAAE,CAAC;QACpC,IAAI;YACA,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE;gBAChD,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;gBACrB,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;aAClC;SACJ;QAAC,OAAO,GAAG,EAAE;YACV,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE;gBACjC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;aACxB;YACD,MAAM,GAAG,CAAC;SACb;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACN,MAAM,aAAa,GAAc,EAAE,CAAC;QAEpC,IAAI;YACA,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;gBACrB,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;aAClC;SACJ;QAAC,OAAO,GAAG,EAAE;YACV,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE;gBACjC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;aACxB;YACD,MAAM,GAAG,CAAC;SACb;IACL,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;CACJ;AAhED,0CAgEC"}
|
|
@@ -29,17 +29,17 @@ describe('CompoundCommand', () => {
|
|
|
29
29
|
sandbox.reset();
|
|
30
30
|
});
|
|
31
31
|
describe('execute', () => {
|
|
32
|
-
it('Should execute the subcommands in order', () => {
|
|
33
|
-
compoundCommand.execute();
|
|
32
|
+
it('Should execute the subcommands in order', async () => {
|
|
33
|
+
await compoundCommand.execute();
|
|
34
34
|
(0, chai_1.expect)(command1.execute.calledOnce).to.be.true;
|
|
35
35
|
(0, chai_1.expect)(command2.execute.calledOnce).to.be.true;
|
|
36
36
|
(0, chai_1.expect)(command3.execute.calledOnce).to.be.true;
|
|
37
37
|
(0, chai_1.expect)(command1.execute.calledBefore(command2.execute)).to.be.true;
|
|
38
38
|
(0, chai_1.expect)(command2.execute.calledBefore(command3.execute)).to.be.true;
|
|
39
39
|
});
|
|
40
|
-
it('Should undo partially executed subcommands in case of an error', () => {
|
|
40
|
+
it('Should undo partially executed subcommands in case of an error', async () => {
|
|
41
41
|
command3.execute.throwsException();
|
|
42
|
-
(0,
|
|
42
|
+
await (0, mock_util_1.expectToThrowAsync)(() => compoundCommand.execute());
|
|
43
43
|
(0, chai_1.expect)(command1.execute.calledOnce).to.be.true;
|
|
44
44
|
(0, chai_1.expect)(command2.execute.calledOnce).to.be.true;
|
|
45
45
|
(0, chai_1.expect)(command3.execute.calledOnce).to.be.true;
|
|
@@ -48,17 +48,17 @@ describe('CompoundCommand', () => {
|
|
|
48
48
|
});
|
|
49
49
|
});
|
|
50
50
|
describe('undo', () => {
|
|
51
|
-
it('Should undo the subcommands in reverse order', () => {
|
|
52
|
-
compoundCommand.undo();
|
|
51
|
+
it('Should undo the subcommands in reverse order', async () => {
|
|
52
|
+
await compoundCommand.undo();
|
|
53
53
|
(0, chai_1.expect)(command1.undo.calledOnce).to.be.true;
|
|
54
54
|
(0, chai_1.expect)(command2.undo.calledOnce).to.be.true;
|
|
55
55
|
(0, chai_1.expect)(command3.undo.calledOnce).to.be.true;
|
|
56
56
|
(0, chai_1.expect)(command1.undo.calledAfter(command2.undo)).to.be.true;
|
|
57
57
|
(0, chai_1.expect)(command2.undo.calledAfter(command3.undo)).to.be.true;
|
|
58
58
|
});
|
|
59
|
-
it('Should redo partially undone subcommands in case of an error', () => {
|
|
59
|
+
it('Should redo partially undone subcommands in case of an error', async () => {
|
|
60
60
|
command1.undo.throwsException();
|
|
61
|
-
(0,
|
|
61
|
+
await (0, mock_util_1.expectToThrowAsync)(() => compoundCommand.undo());
|
|
62
62
|
(0, chai_1.expect)(command1.undo.calledOnce).to.be.true;
|
|
63
63
|
(0, chai_1.expect)(command2.undo.calledOnce).to.be.true;
|
|
64
64
|
(0, chai_1.expect)(command3.undo.calledOnce).to.be.true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.spec.js","sourceRoot":"","sources":["../../../src/common/command/command.spec.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,+BAA8B;AAC9B,+BAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"command.spec.js","sourceRoot":"","sources":["../../../src/common/command/command.spec.ts"],"names":[],"mappings":"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"}
|