// 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. import "package:expect/expect.dart"; // Testing method invocation. // Currently testing only NoSuchMethodError. class A { A() {} int foo() { return 1; } } class B { get f { throw 123; } } class MethodInvocationTest { static void testNullReceiver() { dynamic a = new A(); Expect.equals(1, a.foo()); a = null; bool exceptionCaught = false; try { a.foo(); } on NoSuchMethodError catch (e) { exceptionCaught = true; } Expect.equals(true, exceptionCaught); } static testGetterMethodInvocation() { var b = new B(); try { b.f(); } catch (e) { Expect.equals(123, e); } } static void testMain() { testNullReceiver(); testGetterMethodInvocation(); } } main() { MethodInvocationTest.testMain(); }