UNPKG

yhtml5-test

Version:

A test framework for front-end projects

123 lines (100 loc) 4.63 kB
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } /** * Copyright (c) 2015-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ /** A container holding a script line. */ var ScriptLine = /** The content (or value) of this line of source. */ function ScriptLine(lineNumber, content) { var highlight = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; _classCallCheck(this, ScriptLine); this.lineNumber = lineNumber; this.content = content; this.highlight = highlight; } /** Whether or not this line should be highlighted. Particularly useful for error reporting with context. */ /** The line number of this line of source. */ ; /** * A representation of a stack frame. */ var StackFrame = function () { function StackFrame() { var functionName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; var fileName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; var lineNumber = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; var columnNumber = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; var scriptCode = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null; var sourceFunctionName = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null; var sourceFileName = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null; var sourceLineNumber = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null; var sourceColumnNumber = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : null; var sourceScriptCode = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : null; _classCallCheck(this, StackFrame); if (functionName && functionName.indexOf('Object.') === 0) { functionName = functionName.slice('Object.'.length); } if ( // Chrome has a bug with inferring function.name: // https://github.com/facebookincubator/create-react-app/issues/2097 // Let's ignore a meaningless name we get for top-level modules. functionName === 'friendlySyntaxErrorLabel' || functionName === 'exports.__esModule' || functionName === '<anonymous>' || !functionName) { functionName = null; } this.functionName = functionName; this.fileName = fileName; this.lineNumber = lineNumber; this.columnNumber = columnNumber; this._originalFunctionName = sourceFunctionName; this._originalFileName = sourceFileName; this._originalLineNumber = sourceLineNumber; this._originalColumnNumber = sourceColumnNumber; this._scriptCode = scriptCode; this._originalScriptCode = sourceScriptCode; } /** * Returns the name of this function. */ _createClass(StackFrame, [{ key: 'getFunctionName', value: function getFunctionName() { return this.functionName || '(anonymous function)'; } /** * Returns the source of the frame. * This contains the file name, line number, and column number when available. */ }, { key: 'getSource', value: function getSource() { var str = ''; if (this.fileName != null) { str += this.fileName + ':'; } if (this.lineNumber != null) { str += this.lineNumber + ':'; } if (this.columnNumber != null) { str += this.columnNumber + ':'; } return str.slice(0, -1); } /** * Returns a pretty version of this stack frame. */ }, { key: 'toString', value: function toString() { var functionName = this.getFunctionName(); var source = this.getSource(); return '' + functionName + (source ? ' (' + source + ')' : ''); } }]); return StackFrame; }(); export { StackFrame, ScriptLine }; export default StackFrame;