diff options
| author | Igor Minar | 2011-01-07 11:58:08 -0800 |
|---|---|---|
| committer | Igor Minar | 2011-01-07 12:02:46 -0800 |
| commit | c0a26b18531482d493d544cf1a207586e8aacaf4 (patch) | |
| tree | 3401ef288867ac2dd75a3b6b7f60e7ca444c0223 /lib/jasmine-jstd-adapter/JasmineAdapter.js | |
| parent | 9db2170dcfbac5d584bbb7b4cf2c620ebf468b7b (diff) | |
| download | angular.js-c0a26b18531482d493d544cf1a207586e8aacaf4.tar.bz2 | |
jasmine adapter with better stack traces
Diffstat (limited to 'lib/jasmine-jstd-adapter/JasmineAdapter.js')
| -rw-r--r-- | lib/jasmine-jstd-adapter/JasmineAdapter.js | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/lib/jasmine-jstd-adapter/JasmineAdapter.js b/lib/jasmine-jstd-adapter/JasmineAdapter.js index 1182a86a..fb7306ca 100644 --- a/lib/jasmine-jstd-adapter/JasmineAdapter.js +++ b/lib/jasmine-jstd-adapter/JasmineAdapter.js @@ -45,7 +45,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( @@ -73,7 +73,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 = {}; |
