blob: f9cfe4044089f5bfd418f48c102691fb07064f49 [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|');
}