blob: 39ed6207a0b4eb448486edca2694a70b34b3aad6 [file] [log] [blame]
// Copyright (c) 2016, 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';
class A {
noSuchMethod(Invocation invocation) {
var s = '|${invocation.memberName}|';
for (var a in invocation.positionalArguments) {
s = '$s$a|';
}
invocation.namedArguments.forEach((Symbol k, v) {
s = '$s$k/$v|';
});
print(s);
return s;
}
}
main() {
var o = new A();
Expect.isTrue(o.fun() == '|Symbol("fun")|');
Expect.isTrue(o.fun(1) == '|Symbol("fun")|1|');
Expect.isTrue(o.fun(1, 2) == '|Symbol("fun")|1|2|');
Expect.isTrue(o.fun(1, b: 2) == '|Symbol("fun")|1|Symbol("b")/2|');
Expect.isTrue(
o.fun(1, a: 1, b: 2) == '|Symbol("fun")|1|Symbol("a")/1|Symbol("b")/2|');
Expect.isTrue(
o.fun(1, b: 2, a: 1) == '|Symbol("fun")|1|Symbol("a")/1|Symbol("b")/2|');
}