Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Unified Diff: pkg/stack_trace/test/trace_test.dart

Issue 18029023: Add a couple functions to package:stack_trace. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Code review changes. Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/stack_trace/test/frame_test.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/stack_trace/test/trace_test.dart
diff --git a/pkg/stack_trace/test/trace_test.dart b/pkg/stack_trace/test/trace_test.dart
index 95753a0d240382730361045124c1aa3937cc1c27..fbe11a33087a1b5a886f41e4624e2362145ae00f 100644
--- a/pkg/stack_trace/test/trace_test.dart
+++ b/pkg/stack_trace/test/trace_test.dart
@@ -101,6 +101,22 @@ void main() {
equals(Uri.parse("http://pub.dartlang.org/stuff.js")));
});
+ test('parses a package:stack_trace stack trace correctly', () {
+ var trace = new Trace.parse(
+ 'http://dartlang.org/foo/bar.dart 10:11 Foo.<fn>.bar\n'
+ 'http://dartlang.org/foo/baz.dart Foo.<fn>.bar');
+
+ expect(trace.frames[0].uri,
+ equals(Uri.parse("http://dartlang.org/foo/bar.dart")));
+ expect(trace.frames[1].uri,
+ equals(Uri.parse("http://dartlang.org/foo/baz.dart")));
+ });
+
+ test('parses a real package:stack_trace stack trace correctly', () {
+ var traceString = new Trace.current().toString();
+ expect(new Trace.parse(traceString).toString(), equals(traceString));
+ });
+
test('parses an empty string correctly', () {
var trace = new Trace.parse('');
expect(trace.frames, isEmpty);
@@ -122,14 +138,18 @@ http://pub.dartlang.org/thing.dart 1:100 zip.<fn>.zap
'''));
});
- test('.stackTrace forwards to .toString()', () {
- var trace = new Trace.current();
- expect(trace.stackTrace, equals(trace.toString()));
- });
-
- test('.fullStackTrace forwards to .toString()', () {
- var trace = new Trace.current();
- expect(trace.fullStackTrace, equals(trace.toString()));
+ test('.vmTrace returns a native-style trace', () {
+ var uri = path.toUri(path.absolute('foo'));
+ var trace = new Trace([
+ new Frame(uri, 10, 20, 'Foo.<fn>'),
+ new Frame(Uri.parse('http://dartlang.org/foo.dart'), null, null, 'bar'),
+ new Frame(Uri.parse('dart:async'), 15, null, 'baz'),
+ ]);
+
+ expect(trace.vmTrace.toString(), equals(
+ '#1 Foo.<anonymous closure> ($uri:10:20)\n'
+ '#2 bar (http://dartlang.org/foo.dart:0:0)\n'
+ '#3 baz (dart:async:15:0)\n'));
});
test('.terse folds core frames together bottom-up', () {
« no previous file with comments | « pkg/stack_trace/test/frame_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698