diff --git a/package-lock.json b/package-lock.json index 6e6318211..c26963641 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "csharp", - "version": "1.15.0-beta2", + "version": "1.15.0-beta3", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -19,6 +19,15 @@ "@types/chai": "4.0.8" } }, + "@types/chai-string": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@types/chai-string/-/chai-string-1.4.0.tgz", + "integrity": "sha512-iR9OZXsjfA9TQBMgqXdJQwStPjEadpzTOlESbr9JYWCdckKf/nmkc+zOJwY/HYpOkyGbOWQ+0yNXK76CgCIBeQ==", + "dev": true, + "requires": { + "@types/chai": "4.0.8" + } + }, "@types/events": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz", @@ -667,6 +676,12 @@ "readdir-enhanced": "1.5.2" } }, + "chai-string": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/chai-string/-/chai-string-1.4.0.tgz", + "integrity": "sha1-NZFAwFHTak5LGl/GuRAVL0OKjUk=", + "dev": true + }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", diff --git a/package.json b/package.json index b67d4f66b..b7545c2ef 100644 --- a/package.json +++ b/package.json @@ -44,21 +44,21 @@ "cov:merge-html": "istanbul-combine -d ./coverage -r html ./.nyc_output/*.json", "cov:report": "npm run cov:merge && codecov" }, - "nyc": { - "include": [ - "src/**/*.ts", - "src/**/*.tsx" - ], - "extension": [ - ".ts", - ".tsx" - ], - "require": [ - "ts-node/register", - "source-map-support/register" - ], - "sourceMap": true, - "instrument": true + "nyc": { + "include": [ + "src/**/*.ts", + "src/**/*.tsx" + ], + "extension": [ + ".ts", + ".tsx" + ], + "require": [ + "ts-node/register", + "source-map-support/register" + ], + "sourceMap": true, + "instrument": true }, "dependencies": { "fs-extra": "^5.0.0", @@ -81,6 +81,7 @@ "devDependencies": { "@types/chai": "4.0.8", "@types/chai-arrays": "1.0.2", + "@types/chai-string": "^1.4.0", "@types/fs-extra": "4.0.5", "@types/mkdirp": "0.5.1", "@types/mocha": "2.2.32", @@ -95,6 +96,7 @@ "chai-arrays": "2.0.0", "chai-as-promised": "7.1.1", "chai-fs": "2.0.0", + "chai-string": "^1.4.0", "codecov": "^3.0.0", "copyfiles": "^1.2.0", "cross-env": "5.1.1", diff --git a/src/observers/OmnisharpDebugModeLoggerObserver.ts b/src/observers/OmnisharpDebugModeLoggerObserver.ts index 4f1a24d1a..eab518b1f 100644 --- a/src/observers/OmnisharpDebugModeLoggerObserver.ts +++ b/src/observers/OmnisharpDebugModeLoggerObserver.ts @@ -20,7 +20,7 @@ export class OmnisharpDebugModeLoggerObserver extends BaseLoggerObserver { this.handleOmnisharpServerDequeueRequest(event); break; case OmnisharpServerProcessRequestStart.name: - this.handleOmnisharpProcessRequestStart(event); + this.handleOmnisharpProcessRequestStart(event); break; case OmnisharpServerProcessRequestComplete.name: this.logger.decreaseIndent(); diff --git a/test/unitTests/logging/OmnisharpDebugModeLoggerObserver.test.ts b/test/unitTests/logging/OmnisharpDebugModeLoggerObserver.test.ts index 74382f445..f9c6ac60c 100644 --- a/test/unitTests/logging/OmnisharpDebugModeLoggerObserver.test.ts +++ b/test/unitTests/logging/OmnisharpDebugModeLoggerObserver.test.ts @@ -2,11 +2,13 @@ * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { should, expect } from 'chai'; +import { use, should, expect } from 'chai'; import { getNullChannel } from './Fakes'; -import { OmnisharpServerVerboseMessage, EventWithMessage, OmnisharpRequestMessage, OmnisharpServerEnqueueRequest, OmnisharpServerDequeueRequest, OmnisharpServerProcessRequestStart, OmnisharpEventPacketReceived } from '../../../src/omnisharp/loggingEvents'; +import { OmnisharpServerVerboseMessage, EventWithMessage, OmnisharpRequestMessage, OmnisharpServerEnqueueRequest, OmnisharpServerDequeueRequest, OmnisharpServerProcessRequestStart, OmnisharpEventPacketReceived, OmnisharpServerProcessRequestComplete } from '../../../src/omnisharp/loggingEvents'; import { OmnisharpDebugModeLoggerObserver } from '../../../src/observers/OmnisharpDebugModeLoggerObserver'; +use(require("chai-string")); + suite("OmnisharpLoggerObserver", () => { suiteSetup(() => should()); let logOutput = ""; @@ -69,6 +71,18 @@ suite("OmnisharpLoggerObserver", () => { expect(logOutput).to.contain(event.name); }); + test(`OmnisharpServer messages increase and decrease indent`, () => { + observer.post(new OmnisharpServerVerboseMessage("!indented_1")); + observer.post(new OmnisharpServerProcessRequestStart("name")); + observer.post(new OmnisharpServerVerboseMessage("indented")); + observer.post(new OmnisharpServerProcessRequestComplete()); + observer.post(new OmnisharpServerVerboseMessage("!indented_2")); + + expect(logOutput).to.startWith(" !indented_1"); + expect(logOutput).to.contain("\n indented"); + expect(logOutput).to.contain("\n !indented_2"); + }); + [ new OmnisharpEventPacketReceived("TRACE", "foo", "someMessage"), new OmnisharpEventPacketReceived("DEBUG", "foo", "someMessage"),