@cleavera/debug
Advanced tools
| import { ISpiedFunction } from 'alsatian'; | ||
| import { ILoggerAdapter } from '../../interfaces/logger-adapter.interface'; | ||
| export declare class TestingAdapter implements ILoggerAdapter { | ||
| write: ISpiedFunction<(value: string) => void>; | ||
| error: ISpiedFunction<(error: Error) => void>; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const alsatian_1 = require("alsatian"); | ||
| class TestingAdapter { | ||
| constructor() { | ||
| this.write = alsatian_1.createFunctionSpy(); | ||
| this.error = alsatian_1.createFunctionSpy(); | ||
| } | ||
| } | ||
| exports.TestingAdapter = TestingAdapter; |
| import { LogLevel } from '@cleavera/types'; | ||
| import { TestingAdapter } from '../../adapters/testing/testing.adapter'; | ||
| import { Logger } from './logger'; | ||
| export declare class LoggerSpec { | ||
| logger: Logger; | ||
| adapter: TestingAdapter; | ||
| createLogger(): void; | ||
| silly(logLevel: LogLevel, message: string, shouldCall: boolean): void; | ||
| debug(logLevel: LogLevel, message: string, shouldCall: boolean): void; | ||
| info(logLevel: LogLevel, message: string, shouldCall: boolean): void; | ||
| warn(logLevel: LogLevel, message: string, shouldCall: boolean): void; | ||
| error(logLevel: LogLevel, message: Error, shouldCall: boolean): void; | ||
| private _assertError; | ||
| private _assertWrite; | ||
| private _getMessage; | ||
| } |
| "use strict"; | ||
| var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { | ||
| var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; | ||
| if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); | ||
| else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; | ||
| return c > 3 && r && Object.defineProperty(target, key, r), r; | ||
| }; | ||
| var __metadata = (this && this.__metadata) || function (k, v) { | ||
| if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const types_1 = require("@cleavera/types"); | ||
| const alsatian_1 = require("alsatian"); | ||
| const testing_adapter_1 = require("../../adapters/testing/testing.adapter"); | ||
| const logger_1 = require("./logger"); | ||
| let LoggerSpec = class LoggerSpec { | ||
| createLogger() { | ||
| this.adapter = new testing_adapter_1.TestingAdapter(); | ||
| this.logger = new logger_1.Logger(this.adapter); | ||
| } | ||
| silly(logLevel, message, shouldCall) { | ||
| this.logger.configure(logLevel); | ||
| this.logger.silly(message); | ||
| this._assertWrite(shouldCall, this._getMessage(types_1.LogLevel.SILLY, message)); | ||
| this._assertError(false); | ||
| } | ||
| debug(logLevel, message, shouldCall) { | ||
| this.logger.configure(logLevel); | ||
| this.logger.debug(message); | ||
| this._assertWrite(shouldCall, this._getMessage(types_1.LogLevel.DEBUG, message)); | ||
| this._assertError(false); | ||
| } | ||
| info(logLevel, message, shouldCall) { | ||
| this.logger.configure(logLevel); | ||
| this.logger.info(message); | ||
| this._assertWrite(shouldCall, this._getMessage(types_1.LogLevel.INFO, message)); | ||
| this._assertError(false); | ||
| } | ||
| warn(logLevel, message, shouldCall) { | ||
| this.logger.configure(logLevel); | ||
| this.logger.warn(message); | ||
| this._assertWrite(shouldCall, this._getMessage(types_1.LogLevel.WARN, message)); | ||
| this._assertError(false); | ||
| } | ||
| error(logLevel, message, shouldCall) { | ||
| this.logger.configure(logLevel); | ||
| this.logger.error(message); | ||
| this._assertWrite(false); | ||
| this._assertError(shouldCall, message); | ||
| } | ||
| _assertError(assertCalled, message) { | ||
| if (assertCalled) { | ||
| alsatian_1.Expect(this.adapter.error).toHaveBeenCalledWith(message); | ||
| } | ||
| else { | ||
| alsatian_1.Expect(this.adapter.error).not.toHaveBeenCalled(); | ||
| } | ||
| } | ||
| _assertWrite(assertCalled, message) { | ||
| if (assertCalled) { | ||
| alsatian_1.Expect(this.adapter.write).toHaveBeenCalledWith(message); | ||
| } | ||
| else { | ||
| alsatian_1.Expect(this.adapter.write).not.toHaveBeenCalled(); | ||
| } | ||
| } | ||
| _getMessage(level, content) { | ||
| return `[${types_1.LogLevel[level]}] ${content}`; | ||
| } | ||
| }; | ||
| __decorate([ | ||
| alsatian_1.Setup, | ||
| __metadata("design:type", Function), | ||
| __metadata("design:paramtypes", []), | ||
| __metadata("design:returntype", void 0) | ||
| ], LoggerSpec.prototype, "createLogger", null); | ||
| __decorate([ | ||
| alsatian_1.TestCase(types_1.LogLevel.SILLY, 'Hello world', true), | ||
| alsatian_1.TestCase(types_1.LogLevel.DEBUG, 'Hello world', false), | ||
| alsatian_1.TestCase(types_1.LogLevel.INFO, 'Hello world', false), | ||
| alsatian_1.TestCase(types_1.LogLevel.WARN, 'Hello world', false), | ||
| alsatian_1.TestCase(types_1.LogLevel.ERROR, 'Hello world', false), | ||
| alsatian_1.Test('it should log when is configured for silly'), | ||
| __metadata("design:type", Function), | ||
| __metadata("design:paramtypes", [Number, String, Boolean]), | ||
| __metadata("design:returntype", void 0) | ||
| ], LoggerSpec.prototype, "silly", null); | ||
| __decorate([ | ||
| alsatian_1.TestCase(types_1.LogLevel.SILLY, 'Hello world', true), | ||
| alsatian_1.TestCase(types_1.LogLevel.DEBUG, 'Hello world', true), | ||
| alsatian_1.TestCase(types_1.LogLevel.INFO, 'Hello world', false), | ||
| alsatian_1.TestCase(types_1.LogLevel.WARN, 'Hello world', false), | ||
| alsatian_1.TestCase(types_1.LogLevel.ERROR, 'Hello world', false), | ||
| alsatian_1.Test('it should log when is configured for debug'), | ||
| __metadata("design:type", Function), | ||
| __metadata("design:paramtypes", [Number, String, Boolean]), | ||
| __metadata("design:returntype", void 0) | ||
| ], LoggerSpec.prototype, "debug", null); | ||
| __decorate([ | ||
| alsatian_1.TestCase(types_1.LogLevel.SILLY, 'Hello world', true), | ||
| alsatian_1.TestCase(types_1.LogLevel.DEBUG, 'Hello world', true), | ||
| alsatian_1.TestCase(types_1.LogLevel.INFO, 'Hello world', true), | ||
| alsatian_1.TestCase(types_1.LogLevel.WARN, 'Hello world', false), | ||
| alsatian_1.TestCase(types_1.LogLevel.ERROR, 'Hello world', false), | ||
| alsatian_1.Test('it should log when is configured for debug'), | ||
| __metadata("design:type", Function), | ||
| __metadata("design:paramtypes", [Number, String, Boolean]), | ||
| __metadata("design:returntype", void 0) | ||
| ], LoggerSpec.prototype, "info", null); | ||
| __decorate([ | ||
| alsatian_1.TestCase(types_1.LogLevel.SILLY, 'Hello world', true), | ||
| alsatian_1.TestCase(types_1.LogLevel.DEBUG, 'Hello world', true), | ||
| alsatian_1.TestCase(types_1.LogLevel.INFO, 'Hello world', true), | ||
| alsatian_1.TestCase(types_1.LogLevel.WARN, 'Hello world', true), | ||
| alsatian_1.TestCase(types_1.LogLevel.ERROR, 'Hello world', false), | ||
| alsatian_1.Test('it should log when is configured for debug'), | ||
| __metadata("design:type", Function), | ||
| __metadata("design:paramtypes", [Number, String, Boolean]), | ||
| __metadata("design:returntype", void 0) | ||
| ], LoggerSpec.prototype, "warn", null); | ||
| __decorate([ | ||
| alsatian_1.TestCase(types_1.LogLevel.SILLY, new Error('Hello world'), true), | ||
| alsatian_1.TestCase(types_1.LogLevel.DEBUG, new Error('Hello world'), true), | ||
| alsatian_1.TestCase(types_1.LogLevel.INFO, new Error('Hello world'), true), | ||
| alsatian_1.TestCase(types_1.LogLevel.WARN, new Error('Hello world'), true), | ||
| alsatian_1.TestCase(types_1.LogLevel.ERROR, new Error('Hello world'), true), | ||
| alsatian_1.Test('it should log when is configured for error'), | ||
| __metadata("design:type", Function), | ||
| __metadata("design:paramtypes", [Number, Error, Boolean]), | ||
| __metadata("design:returntype", void 0) | ||
| ], LoggerSpec.prototype, "error", null); | ||
| LoggerSpec = __decorate([ | ||
| alsatian_1.TestFixture() | ||
| ], LoggerSpec); | ||
| exports.LoggerSpec = LoggerSpec; |
+8
-7
| { | ||
| "name": "@cleavera/debug", | ||
| "version": "1.0.0", | ||
| "description": "", | ||
| "version": "1.0.1", | ||
| "description": "Debug tools", | ||
| "main": "dist/index.js", | ||
@@ -10,4 +10,4 @@ "types": "dist/index.d.ts", | ||
| "lint": "npx eslint ./src/**/*.ts", | ||
| "prepack": "npm run lint && npm run build", | ||
| "test": "exit 0" | ||
| "prepack": "npm run lint && npm run build && npm run test", | ||
| "test": "alsatian ./src/**/*.spec.ts" | ||
| }, | ||
@@ -18,5 +18,6 @@ "author": "Anthony Cleaver", | ||
| "@cleavera/config": "^2.4.0", | ||
| "@cleavera/types": "^1.0.2", | ||
| "@typescript-eslint/eslint-plugin": "^2.21.0", | ||
| "@typescript-eslint/parser": "^2.21.0", | ||
| "@cleavera/types": "^1.0.3", | ||
| "@typescript-eslint/eslint-plugin": "^2.27.0", | ||
| "@typescript-eslint/parser": "^2.27.0", | ||
| "alsatian": "^3.2.1", | ||
| "eslint": "^6.8.0", | ||
@@ -23,0 +24,0 @@ "eslint-plugin-import": "^2.20.1", |
12576
178.79%15
36.36%272
159.05%8
14.29%