Chromium Code Reviews| Index: tests/compiler/dart2js/logical_expression_test.dart |
| diff --git a/tests/compiler/dart2js/logical_expression_test.dart b/tests/compiler/dart2js/logical_expression_test.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..cfc463395e304554b865ec0b7e637334acd5b0ad |
| --- /dev/null |
| +++ b/tests/compiler/dart2js/logical_expression_test.dart |
| @@ -0,0 +1,46 @@ |
| +// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
|
ngeoffray
2014/02/21 17:52:26
2012 -> 2014
floitsch
2014/02/21 18:35:26
Done.
|
| +// 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. |
| +// Test that parameters keep their names in the output. |
|
ngeoffray
2014/02/21 17:52:26
Re-comment.
floitsch
2014/02/21 18:35:26
Done.
|
| + |
| +import "package:async_helper/async_helper.dart"; |
| +import 'compiler_helper.dart'; |
| + |
| +const String TEST_ONE = r""" |
| +foo(bar, gee) { |
| + bool cond1 = bar(); |
| + if (cond1 || gee()) gee(); |
| + if (cond1 || gee()) gee(); |
| +} |
| +"""; |
| + |
| +const String TEST_TWO = r""" |
| +void foo(list, bar) { |
| + if (list == null) bar(); |
| + if (list == null || bar()) bar(); |
| + if (list == null || bar()) bar(); |
| +} |
| +"""; |
| + |
| +main() { |
| + // We want something like: |
| + // var t1 = bar.call$0() === true; |
| + // if (t1 || gee.call$0() === true) gee.call$0(); |
| + // if (t1 || gee.call$0() === true) gee.call$0(); |
| + compileAndDoNotMatchFuzzy(TEST_ONE, 'foo', |
| + r"""var x = [a-zA-Z0-9$.]+\(\) == true; |
| + if \(x \|\| [a-zA-Z0-9$.]+\(\) === true\) [^;]+; |
| + if \(x \|\| [a-zA-Z0-9$.]+\(\) === true\) [^;]+;"""); |
| + |
| + |
| + // We want something like: |
| + // var t1 = list == null; |
| + // if (t1) bar.call$0(); |
| + // if (t1 || bar.call$0() === true) bar.call$0(); |
| + // if (t1 || bar.call$0() === true) bar.call$0(); |
| + compileAndMatchFuzzy(TEST_TWO, 'foo', |
| + r"""var x = x == null; |
| + if \(x\) [^;]+; |
| + if \(x \|\| [a-zA-Z0-9$.]+\(\) === true\) [^;]+; |
| + if \(x \|\| [a-zA-Z0-9$.]+\(\) === true\) [^;]+;"""); |
| +} |