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

Side by Side Diff: tests/language/full_stacktrace2_test.dart

Issue 14009004: Remove methods on StackTrace class. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import "package:expect/expect.dart"; 5 import "package:expect/expect.dart";
6 6
7 // This test assumes that all called functions occur in the stack trace.
8 // This might not be the case if inlining methods.
9
7 void func1() { 10 void func1() {
8 throw new Exception("Test peanut gallery request for Full stacktrace"); 11 throw new Exception("Test full stacktrace");
9 } 12 }
10 void func2() { 13 void func2() {
11 func1(); 14 func1();
12 } 15 }
13 void func3() { 16 void func3() {
14 try { 17 try {
15 func2(); 18 func2();
16 } on Object catch(e, s) { 19 } on Object catch(e, s) {
17 print(e); 20 var full_trace = s.toString();
kasperl 2013/04/11 09:29:48 full_trace -> fullTrace
18
19 var full_trace = s.fullStackTrace;
20 Expect.isTrue(full_trace.contains("func1")); 21 Expect.isTrue(full_trace.contains("func1"));
21 Expect.isTrue(full_trace.contains("func2")); 22 Expect.isTrue(full_trace.contains("func2"));
22 Expect.isTrue(full_trace.contains("func3")); 23 Expect.isTrue(full_trace.contains("func3"));
23 Expect.isTrue(full_trace.contains("func4")); 24 Expect.isTrue(full_trace.contains("func4"));
24 Expect.isTrue(full_trace.contains("func5")); 25 Expect.isTrue(full_trace.contains("func5"));
25 Expect.isTrue(full_trace.contains("func6")); 26 Expect.isTrue(full_trace.contains("func6"));
26 Expect.isTrue(full_trace.contains("func7")); 27 Expect.isTrue(full_trace.contains("func7"));
27 Expect.isTrue(full_trace.contains("main")); 28 Expect.isTrue(full_trace.contains("main"));
28 29
29 var trace = s.stackTrace;
30 Expect.isTrue(trace.contains("func1"));
31 Expect.isTrue(trace.contains("func2"));
32 Expect.isTrue(trace.contains("func3"));
33
34 Expect.isFalse(trace.contains("func4"));
35 Expect.isFalse(trace.contains("func5"));
36 Expect.isFalse(trace.contains("func6"));
37 Expect.isFalse(trace.contains("func7"));
38 Expect.isFalse(trace.contains("main"));
39
40 print(s);
41
42 print("Full stack trace");
43 print(full_trace);
44
45 print("Stack trace");
46 print(trace);
47
48 throw; // This is a rethrow. 30 throw; // This is a rethrow.
49 } 31 }
50 } 32 }
51 int func4() { 33 int func4() {
52 func3(); 34 func3();
53 return 1; 35 return 1;
54 } 36 }
55 int func5() { 37 int func5() {
56 try { 38 try {
57 func4(); 39 func4();
58 } on Object catch(e, s) { 40 } on Object catch(e, s) {
59 41
60 var full_trace = s.fullStackTrace; 42 var full_trace = s.toString();
kasperl 2013/04/11 09:29:48 Ditto.
61 print(full_trace);
62 Expect.isTrue(full_trace.contains("func1")); 43 Expect.isTrue(full_trace.contains("func1"));
63 Expect.isTrue(full_trace.contains("func2")); 44 Expect.isTrue(full_trace.contains("func2"));
64 Expect.isTrue(full_trace.contains("func3")); 45 Expect.isTrue(full_trace.contains("func3"));
65 Expect.isTrue(full_trace.contains("func4")); 46 Expect.isTrue(full_trace.contains("func4"));
66 Expect.isTrue(full_trace.contains("func5")); 47 Expect.isTrue(full_trace.contains("func5"));
67 Expect.isTrue(full_trace.contains("func6")); 48 Expect.isTrue(full_trace.contains("func6"));
68 Expect.isTrue(full_trace.contains("func7")); 49 Expect.isTrue(full_trace.contains("func7"));
69 Expect.isTrue(full_trace.contains("main")); 50 Expect.isTrue(full_trace.contains("main"));
70
71 var trace = s.stackTrace;
72 Expect.isTrue(trace.contains("func1"));
73 Expect.isTrue(trace.contains("func2"));
74 Expect.isTrue(trace.contains("func3"));
75 Expect.isTrue(trace.contains("func4"));
76 Expect.isTrue(trace.contains("func5"));
77
78 Expect.isFalse(trace.contains("func6"));
79 Expect.isFalse(trace.contains("func7"));
80 Expect.isFalse(trace.contains("main"));
81
82 print(s);
83
84 print("Full stack trace");
85 print(full_trace);
86
87 print("Stack trace");
88 print(trace);
89 } 51 }
90 return 1; 52 return 1;
91 } 53 }
92 int func6() { 54 int func6() {
93 func5(); 55 func5();
94 return 1; 56 return 1;
95 } 57 }
96 int func7() { 58 int func7() {
97 func6(); 59 func6();
98 return 1; 60 return 1;
99 } 61 }
100 main() { 62 main() {
101 var i = func7(); 63 var i = func7();
102 Expect.equals(1, i); 64 Expect.equals(1, i);
103 } 65 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698