dart-sdk/tests/language/rewrite_if_empty_then_test.dart
asgerf@google.com f29b3960a8 dart2dart: Test cases for better code coverage in dart_tree rewritings.
Also:
- fixes a pattern matching bug revealed by a test.
- contains a tool for profiling multiple compilations in Dart Observatory.

BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org//288343014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36678 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-27 13:39:35 +00:00

48 lines
862 B
Dart

// 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";
var global = 0;
effect() {
global = 1;
}
baz(b) { return b; }
foo(b) {
if (b) {
// do nothing
} else {
effect();
}
return baz(b);
}
foo2(b) {
if (b) {
// do nothing (but implicit return may get inlined up here)
} else {
effect();
}
}
main() {
global = 0;
Expect.equals(true, foo(true));
Expect.equals(0, global);
global = 0;
Expect.equals(false, foo(false));
Expect.equals(1, global);
global = 0;
foo2(true);
Expect.equals(0, global);
global = 0;
foo2(false);
Expect.equals(1, global);
}