Merge branch 'empty-stack-trace'
diff --git a/pkgs/stack_trace/CHANGELOG.md b/pkgs/stack_trace/CHANGELOG.md index 29b0527..665eb30 100644 --- a/pkgs/stack_trace/CHANGELOG.md +++ b/pkgs/stack_trace/CHANGELOG.md
@@ -1,3 +1,7 @@ +## 1.3.2 + +* Don't crash when running `Trace.terse` on empty stack traces. + ## 1.3.1 * Support more types of JavaScriptCore stack frames.
diff --git a/pkgs/stack_trace/lib/src/trace.dart b/pkgs/stack_trace/lib/src/trace.dart index 2fce0c7..84a19ef 100644 --- a/pkgs/stack_trace/lib/src/trace.dart +++ b/pkgs/stack_trace/lib/src/trace.dart
@@ -263,7 +263,7 @@ var library = frame.library.replaceAll(_terseRegExp, ''); return new Frame(Uri.parse(library), null, null, frame.member); }).toList(); - if (newFrames.first.isCore && newFrames.length > 1) newFrames.removeAt(0); + if (newFrames.length > 1 && newFrames.first.isCore) newFrames.removeAt(0); } return new Trace(newFrames.reversed);
diff --git a/pkgs/stack_trace/pubspec.yaml b/pkgs/stack_trace/pubspec.yaml index 85dfe45..bc3bc8d 100644 --- a/pkgs/stack_trace/pubspec.yaml +++ b/pkgs/stack_trace/pubspec.yaml
@@ -7,7 +7,7 @@ # # When the major version is upgraded, you *must* update that version constraint # in pub to stay in sync with this. -version: 1.3.1 +version: 1.3.2 author: "Dart Team <misc@dartlang.org>" homepage: http://github.com/dart-lang/stack_trace description: >
diff --git a/pkgs/stack_trace/test/trace_test.dart b/pkgs/stack_trace/test/trace_test.dart index 249e9f6..7fb9b5b 100644 --- a/pkgs/stack_trace/test/trace_test.dart +++ b/pkgs/stack_trace/test/trace_test.dart
@@ -350,6 +350,14 @@ ''')); }); + test(".terse won't panic on an empty trace", () { + var trace = new Trace.parse(''' +'''); + + expect(trace.terse.toString(), equals(''' +''')); + }); + test('.foldFrames folds frames together bottom-up', () { var trace = new Trace.parse(''' #0 notFoo (foo.dart:42:21)