diff --git a/src/JasmineAdapter.js b/src/JasmineAdapter.js index 3d2a8d8..ca2d7b4 100644 --- a/src/JasmineAdapter.js +++ b/src/JasmineAdapter.js @@ -46,7 +46,7 @@ if (!resultItems[i].passed()) { state = resultItems[i].message.match(/AssertionError:/) ? 'error' : 'failed'; messages.push(resultItems[i].toString()); - messages.push(resultItems[i].trace.stack); + messages.push(formatStack(resultItems[i].trace.stack)); } } onTestDone( @@ -74,7 +74,18 @@ } }; jstestdriver.pluginRegistrar.register(jasminePlugin); - + + function formatStack(stack) { + var lines = (stack||'').split(/\r?\n/); + var frames = []; + for (i = 0; i < lines.length; i++) { + if (!lines[i].match(/\/jasmine[\.-]/)) { + frames.push(lines[i].replace(/https?:\/\/\w+(:\d+)?\/test\//, '').replace(/^\s*/, ' ')); + } + } + return frames.join('\n'); + } + function noop(){} function Describes(window){ var describes = {};