OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (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 // Dart program testing stack overflow. | 4 // Dart program testing stack overflow. |
5 | 5 |
6 import "package:expect/expect.dart"; | |
7 | |
8 class StackOverflowTest { | 6 class StackOverflowTest { |
9 | 7 |
10 static void curseTheRecurse(a, b, c) { | 8 static void curseTheRecurse(a, b, c) { |
11 curseTheRecurse(b, c, a); | 9 curseTheRecurse(b, c, a); |
12 } | 10 } |
13 | 11 |
14 static void testMain() { | 12 static void testMain() { |
15 bool exceptionCaught = false; | 13 bool exceptionCaught = false; |
16 try { | 14 try { |
17 curseTheRecurse(1, 2, 3); | 15 curseTheRecurse(1, 2, 3); |
18 } on StackOverflowError catch (e, stacktrace) { | 16 } on StackOverflowError catch (e, stacktrace) { |
19 String s = stacktrace.toString(); | 17 String s = stacktrace.toString(); |
20 Expect.equals(-1, s.indexOf("-1:-1")); | 18 Expect.equals(-1, s.indexOf("-1:-1")); |
21 exceptionCaught = true; | 19 exceptionCaught = true; |
22 } | 20 } |
23 Expect.equals(true, exceptionCaught); | 21 Expect.equals(true, exceptionCaught); |
24 } | 22 } |
25 } | 23 } |
26 | 24 |
27 main() { | 25 main() { |
28 StackOverflowTest.testMain(); | 26 StackOverflowTest.testMain(); |
29 } | 27 } |
OLD | NEW |