| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | |
| 2 // for details. All rights reserved. Use of this source code is governed by a | |
| 3 // BSD-style license that can be found in the LICENSE file. | |
| 4 // VMOptions=--enable_type_checks | |
| 5 // | |
| 6 // Dart test program for testing named parameters in type tests. | |
| 7 | |
| 8 class NamedParametersTypeTest { | |
| 9 static int testMain() { | |
| 10 int result = 0; | |
| 11 Function anyFunction; | |
| 12 void acceptFunNumOptBool(void funNumOptBool(num num, [bool b])) { }; | |
| 13 void funNum(num num) { }; | |
| 14 void funNumBool(num num, bool b) { }; | |
| 15 void funNumOptBool(num num, [bool b = true]) { }; | |
| 16 void funNumOptBoolX(num num, [bool x = true]) { }; | |
| 17 anyFunction = funNum; // No error. | |
| 18 anyFunction = funNumBool; // No error. | |
| 19 anyFunction = funNumOptBool; // No error. | |
| 20 anyFunction = funNumOptBoolX; // No error. | |
| 21 acceptFunNumOptBool(funNumOptBool); // No error. | |
| 22 try { | |
| 23 acceptFunNumOptBool(funNum); // No static type warning. | |
| 24 } catch (TypeError error) { | |
| 25 result += 1; | |
| 26 Expect.stringEquals("(num, [b: bool]) => void", error.dstType); | |
| 27 Expect.stringEquals("(num) => void", error.srcType); | |
| 28 } | |
| 29 try { | |
| 30 acceptFunNumOptBool(funNumBool); /// static type warning | |
| 31 } catch (TypeError error) { | |
| 32 result += 10; | |
| 33 Expect.stringEquals("(num, [b: bool]) => void", error.dstType); | |
| 34 Expect.stringEquals("(num, bool) => void", error.srcType); | |
| 35 } | |
| 36 try { | |
| 37 acceptFunNumOptBool(funNumOptBoolX); /// static type warning | |
| 38 } catch (TypeError error) { | |
| 39 result += 100; | |
| 40 Expect.stringEquals("(num, [b: bool]) => void", error.dstType); | |
| 41 Expect.stringEquals("(num, [x: bool]) => void", error.srcType); | |
| 42 } | |
| 43 return result; | |
| 44 } | |
| 45 } | |
| 46 | |
| 47 main() { | |
| 48 Expect.equals(111, NamedParametersTypeTest.testMain()); | |
| 49 } | |
| OLD | NEW |