Chromium Code Reviews| Index: tests/compiler/dart2js/use_checks_test.dart |
| diff --git a/tests/compiler/dart2js/use_checks_test.dart b/tests/compiler/dart2js/use_checks_test.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..67efbd00329c467874a8fdaf32d15ed88da67d22 |
| --- /dev/null |
| +++ b/tests/compiler/dart2js/use_checks_test.dart |
| @@ -0,0 +1,33 @@ |
| +// Copyright (c) 2014, 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. |
| + |
| +import 'package:expect/expect.dart'; |
| +import "package:async_helper/async_helper.dart"; |
| +import 'memory_compiler.dart'; |
|
herhut
2014/11/07 13:36:58
Nit: Do you need the memory compiler here or would
floitsch
2014/11/07 13:58:16
Unfortunately the mock compiler doesn't work.
|
| + |
| +const MEMORY_SOURCE_FILES = const { |
| + 'main.dart': ''' |
| +main (x, y) { |
| + if (x != null) { |
| + if (y != null) { |
| + // Forces x and y to be int-checked. |
| + int a = x; |
| + int b = y; |
| + // Now we must be able to do a direct "+" operation in JS. |
| + return x + y; |
| + } |
| + } |
| +} |
| +''', |
| +}; |
| + |
| +main() { |
| + var compiler = compilerFor(MEMORY_SOURCE_FILES, |
| + options: ['--enable-checked-mode']); |
| + asyncTest(() => compiler.runCompiler(Uri.parse('memory:main.dart')).then((_) { |
| + var element = compiler.mainApp.findExported('main'); |
| + var code = compiler.backend.assembleCode(element); |
| + Expect.isTrue(code.contains('+'), code); |
| + })); |
| +} |