@eclipse-glsp/protocol
Version:
The protocol definition for client-server communication in GLSP
54 lines • 2.05 kB
JavaScript
/********************************************************************************
* Copyright (c) 2023 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the Eclipse
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
* with the GNU Classpath Exception which is available at
* https://www.gnu.org/software/classpath/license.html.
*
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
********************************************************************************/
Object.defineProperty(exports, "__esModule", { value: true });
exports.delay = delay;
exports.expectToThrowAsync = expectToThrowAsync;
const chai_1 = require("chai");
/*
* Utility classes used for testing.
* Only available in the testing context. Should not be used in production code.
*/
/**
* Creates a promise that resolves after the given timeout
* @param timeout the timeout in milliseconds
* @returns
*/
async function delay(timeout) {
return new Promise(resolve => setTimeout(resolve, timeout));
}
/**
* Consumes a maybe async function and checks for error
* @param method - The function to check
* @param message - Optional message to match with error message
*/
async function expectToThrowAsync(toEvaluate, message) {
let err = undefined;
try {
await toEvaluate();
}
catch (error) {
err = error;
}
if (message) {
(0, chai_1.expect)(err instanceof Error, 'The error cause should be an instance of Error').to.be.true;
(0, chai_1.expect)(err === null || err === void 0 ? void 0 : err.message).to.be.equal(message);
}
else {
(0, chai_1.expect)(err).to.be.an('Error');
}
}
//# sourceMappingURL=test-util.js.map
;