OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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 test program to test integer div by zero. | 4 // Dart test program to test integer div by zero. |
5 | 5 |
6 class DivByZeroTest { | 6 class DivByZeroTest { |
7 | 7 |
8 static double divBy(int a, int b) { | 8 static double divBy(int a, int b) { |
9 var result = a/b; | 9 var result = a/b; |
10 return 1.0 * result; | 10 return 1.0 * result; |
11 } | 11 } |
12 | 12 |
13 static bool moustacheDivBy(int a, int b) { | 13 static bool moustacheDivBy(int a, int b) { |
14 var val = null; | 14 var val = null; |
15 try { | 15 try { |
16 val = a~/b; | 16 val = a~/b; |
17 } catch (e) { | 17 } catch (e) { |
18 return true; | 18 return true; |
19 } | 19 } |
20 print("Should not have gotten: $val"); | 20 print("Should not have gotten: $val"); |
21 return false; | 21 return false; |
22 } | 22 } |
23 | 23 |
24 static void testMain() { | 24 static void testMain() { |
25 Expect.isTrue(divBy(0, 0).isNaN()); | 25 Expect.isTrue(divBy(0, 0).isNaN); |
26 Expect.isTrue(moustacheDivBy(0, 0)); | 26 Expect.isTrue(moustacheDivBy(0, 0)); |
27 } | 27 } |
28 } | 28 } |
29 | 29 |
30 main() { | 30 main() { |
31 DivByZeroTest.testMain(); | 31 DivByZeroTest.testMain(); |
32 } | 32 } |
OLD | NEW |