UNPKG

alsatian-fluent-assertions

Version:

Fluent assertions extension to Alsatian xUnit framework.

38 lines 1.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const StackTrace = require("stacktrace-js"); const base_error_1 = require("./base-error"); class SpecError extends base_error_1.BaseError { static _stringifyPosition(node) { let current = node; let result = current.name; while (current.parent) { current = current.parent; result = `${current.fullname}.${result}`; } return result; } static _filterToUserFrames(f) { const fn = f.functionName || ""; return ((f.source || "").indexOf("alsatian-fluent-assertions") === -1 || (fn.indexOf("PropertiesMatcher") === -1 && fn.indexOf("SimpleMatcher") === -1 && fn.indexOf("Operators") === -1)); } constructor(node, _message, expected, actual, nested = false) { if (nested) { super(_message, expected, actual); return; } let frames = StackTrace.getSync(); frames = frames.filter(SpecError._filterToUserFrames); const line = (frames[1] || {}).lineNumber; let message = `${_message} @ ${SpecError._stringifyPosition(node)}`; if (line) { message += `, line: ${line}.`; } super(message, expected, actual); } } exports.SpecError = SpecError; //# sourceMappingURL=spec-error.js.map