Chromium Code Reviews| Index: tests/language/side_effect_throw_test.dart |
| diff --git a/tests/language/side_effect_throw_test.dart b/tests/language/side_effect_throw_test.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..9ae156628455dac7c37bfd165f5649706824575c |
| --- /dev/null |
| +++ b/tests/language/side_effect_throw_test.dart |
| @@ -0,0 +1,26 @@ |
| +// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| +// for details. All rights reserved. Use of this source code is governed by a |
| +// BSD-style license that can be found in the LICENSE file. |
| + |
| +class B { |
| + static var x; |
| + operator <<(other) { |
| + x = other; |
| + return 33; |
| + } |
| +} |
| + |
| +class A { |
| + get _m() => new B(); |
| + opshl(n) { |
| + // 'n' must be a number, but we are not allowed throw throw before we have |
|
ngeoffray
2012/08/17 13:08:58
throw throw -> to throw
floitsch
2012/08/29 11:03:12
Done.
|
| + // evaluated _m << 499. |
| + return (_m << 499) | (2 - n); |
| + } |
| +} |
| + |
| +main() { |
| + var a = new A(); |
| + Expect.throws(() => a.opshl("string")); |
| + Expect.equals(499, B.x); |
| +} |