// 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. // VMOptions=--enable_type_checks // // Dart test program testing assert statements. class AssertionTest { static testTrue() { int i = 0; try { assert(true); } on AssertionError catch (error) { i = 1; } return i; } static testFalse() { int i = 0; try { assert(false); } on AssertionError catch (error) { i = 1; } return i; } static unknown(var a) { return (a) ? true : false; } static testUnknown() { var x = unknown(false); int i = 0; try { assert(x); } on AssertionError catch (error) { i = 1; } return i; } static testClosure() { int i = 0; try { assert(() => false); } on AssertionError catch (error) { i = 1; } return i; } static testClosure2() { int i = 0; try { var x = () => false; assert(x); } on AssertionError catch (error) { i = 1; } return i; } static testMain() { Expect.equals(0, testTrue()); Expect.equals(1, testFalse()); Expect.equals(1, testClosure()); Expect.equals(1, testClosure2()); } } main() { AssertionTest.testMain(); }