From 380ecd13378272891d9a2005c7a4c4839acf0039 Mon Sep 17 00:00:00 2001 From: sanex3339 Date: Tue, 20 Feb 2018 10:41:47 +0300 Subject: [PATCH] Added test for static `log` method of Logger --- package.json | 2 +- test/unit-tests/logger/Logger.spec.ts | 34 +++++++++++++++++ yarn.lock | 53 +++------------------------ 3 files changed, 41 insertions(+), 48 deletions(-) diff --git a/package.json b/package.json index ea57e57c..62fd96c7 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "rimraf": "2.6.2", "sinon": "4.3.0", "threads": "0.10.1", - "ts-node": "4.1.0", + "ts-node": "5.0.0", "tslint": "5.9.1", "tslint-eslint-rules": "5.0.0", "tslint-language-service": "0.9.8", diff --git a/test/unit-tests/logger/Logger.spec.ts b/test/unit-tests/logger/Logger.spec.ts index b36e57cc..f0464e52 100644 --- a/test/unit-tests/logger/Logger.spec.ts +++ b/test/unit-tests/logger/Logger.spec.ts @@ -3,15 +3,49 @@ import 'reflect-metadata'; import { assert } from 'chai'; import * as sinon from 'sinon'; +import chalk from 'chalk'; + import { InversifyContainerFacade } from '../../../src/container/InversifyContainerFacade'; import { ServiceIdentifiers } from '../../../src/container/ServiceIdentifiers'; import { IInversifyContainerFacade } from '../../../src/interfaces/container/IInversifyContainerFacade'; import { ILogger } from '../../../src/interfaces/logger/ILogger'; +import { LoggingPrefix } from '../../../src/enums/logger/LoggingPrefix'; + +import { Logger } from '../../../src/logger/Logger'; import { LoggingMessage } from '../../../src/enums/logger/LoggingMessage'; describe('Logger', () => { + describe('log (loggingLevelColor: Chalk, loggingPrefix: LoggingPrefix, loggingMessage: string, value?: string | number): void', () => { + const loggingMessage: string = '[javascript-obfuscator] foo'; + const expectedConsoleLogCallResult: boolean = true; + + let consoleLogSpy: sinon.SinonSpy, + consoleLogCallResult: boolean, + loggingMessageResult: string; + + before(() => { + consoleLogSpy = sinon.spy(console, 'log'); + Logger.log(chalk.cyan, LoggingPrefix.Base, 'foo'); + + consoleLogCallResult = consoleLogSpy.called; + loggingMessageResult = consoleLogSpy.getCall(0).args[0]; + }); + + it('should call `console.log`', () => { + assert.equal(consoleLogCallResult, expectedConsoleLogCallResult); + }); + + it('should log message to the console', () => { + assert.include(loggingMessageResult, loggingMessage); + }); + + after(() => { + consoleLogSpy.restore(); + }); + }); + describe('info (loggingMessage: LoggingMessage, value?: string | number): void', () => { describe('`log` option is enabled', () => { const loggingMessage: string = '[javascript-obfuscator] Obfuscation started...'; diff --git a/yarn.lock b/yarn.lock index ca164830..650856e6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -91,14 +91,6 @@ version "1.0.2" resolved "https://registry.yarnpkg.com/@types/string-template/-/string-template-1.0.2.tgz#363b273c9b456705e3111e3571e9248f6474eba4" -"@types/strip-bom@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2" - -"@types/strip-json-comments@0.0.30": - version "0.0.30" - resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1" - "@types/webpack-env@1.13.5": version "1.13.5" resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.13.5.tgz#ca854e9fbdbcdf45d7376882875f28e2c60593f8" @@ -1934,12 +1926,6 @@ home-or-tmp@^2.0.0: os-homedir "^1.0.0" os-tmpdir "^1.0.1" -homedir-polyfill@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" - dependencies: - parse-passwd "^1.0.0" - hosted-git-info@^2.1.4: version "2.5.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" @@ -2907,10 +2893,6 @@ parse-json@^2.2.0: dependencies: error-ex "^1.2.0" -parse-passwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - pascalcase@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" @@ -3413,7 +3395,7 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@0.5.3: +source-map-support@0.5.3, source-map-support@^0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.3.tgz#2b3d5fff298cfa4d1afd7d4352d569e9a0158e76" dependencies: @@ -3425,12 +3407,6 @@ source-map-support@^0.4.15: dependencies: source-map "^0.5.6" -source-map-support@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.0.tgz#2018a7ad2bdf8faf2691e5fddab26bed5a2bacab" - dependencies: - source-map "^0.6.0" - source-map-url@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" @@ -3583,7 +3559,7 @@ strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" -strip-json-comments@^2.0.0, strip-json-comments@~2.0.1: +strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" @@ -3712,9 +3688,9 @@ trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" -ts-node@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-4.1.0.tgz#36d9529c7b90bb993306c408cd07f7743de20712" +ts-node@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-5.0.0.tgz#9aa573889ad7949411f972981c209e064705e36f" dependencies: arrify "^1.0.0" chalk "^2.3.0" @@ -3722,20 +3698,9 @@ ts-node@4.1.0: make-error "^1.1.1" minimist "^1.2.0" mkdirp "^0.5.1" - source-map-support "^0.5.0" - tsconfig "^7.0.0" - v8flags "^3.0.0" + source-map-support "^0.5.3" yn "^2.0.0" -tsconfig@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7" - dependencies: - "@types/strip-bom" "^3.0.0" - "@types/strip-json-comments" "0.0.30" - strip-bom "^3.0.0" - strip-json-comments "^2.0.0" - tslib@1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.0.tgz#e37a86fda8cbbaf23a057f473c9f4dc64e5fc2e8" @@ -3911,12 +3876,6 @@ v8flags@^2.1.1: dependencies: user-home "^1.1.1" -v8flags@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.0.1.tgz#dce8fc379c17d9f2c9e9ed78d89ce00052b1b76b" - dependencies: - homedir-polyfill "^1.0.1" - validate-npm-package-license@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"