Support more types of JavaScriptCore stack frames.
R=kevmoo@google.com
Review URL: https://codereview.chromium.org//1080083004
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 57ff590..29b0527 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 1.3.1
+
+* Support more types of JavaScriptCore stack frames.
+
## 1.3.0
* Support stack traces generated by JavaScriptCore. They can be explicitly
diff --git a/lib/src/trace.dart b/lib/src/trace.dart
index bf26c51..2fce0c7 100644
--- a/lib/src/trace.dart
+++ b/lib/src/trace.dart
@@ -150,7 +150,9 @@
/// Parses a string representation of a JavaScriptCore stack trace.
Trace.parseJSCore(String trace)
- : this(trace.split("\n").map((line) => new Frame.parseV8(line)));
+ : this(trace.split("\n")
+ .where((line) => line != "\tat ")
+ .map((line) => new Frame.parseV8(line)));
/// Parses a string representation of an Internet Explorer stack trace.
///
diff --git a/pubspec.yaml b/pubspec.yaml
index 912fbd7..85dfe45 100644
--- a/pubspec.yaml
+++ b/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.0
+version: 1.3.1
author: "Dart Team <misc@dartlang.org>"
homepage: http://github.com/dart-lang/stack_trace
description: >
diff --git a/test/trace_test.dart b/test/trace_test.dart
index e8f749a..249e9f6 100644
--- a/test/trace_test.dart
+++ b/test/trace_test.dart
@@ -107,6 +107,17 @@
equals(Uri.parse("http://pub.dartlang.org/stuff.js")));
expect(trace.frames[2].uri,
equals(Uri.parse("http://pub.dartlang.org/thing.js")));
+
+ trace = new Trace.parse(
+ '\tat Foo._bar (http://pub.dartlang.org/stuff.js:42:21)\n'
+ '\tat \n'
+ '\tat zip.<anonymous>.zap '
+ '(http://pub.dartlang.org/thing.js:1:100)');
+
+ expect(trace.frames[0].uri,
+ equals(Uri.parse("http://pub.dartlang.org/stuff.js")));
+ expect(trace.frames[1].uri,
+ equals(Uri.parse("http://pub.dartlang.org/thing.js")));
});
test('parses a Firefox/Safari stack trace correctly', () {