blob: 42e596b2e79b4e38981828bac96cbe87c6b35853 [file] [log] [blame]
// Copyright (c) 2011, 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.
/**
* @assertion Execution of a do statement of the form do s while (e); proceeds
* as follows:
* The statement {s} is executed. Then, the expression e is evaluated to an
* object o. Then, o is then subjected to boolean conversion, producing an
* object r. If r is false, execution of the do statement is complete. If r is
* true, then the do statement is re-executed recursively.
* @description Check that runtime error is thrown if e evaluates to null
* @author vasya
*/
import '../../../Utils/expect.dart';
dynamic getNull() => null;
main() {
int x = 0;
Expect.throws(() {
do {
x = 2;
} while (getNull());
});
}