Chromium Code Reviews| Index: tests/language/named_parameter_clash_test.dart |
| diff --git a/tests/language/named_parameter_clash_test.dart b/tests/language/named_parameter_clash_test.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..e2b8553f34c5e1f6951b1d8e4459b19b5af0c50d |
| --- /dev/null |
| +++ b/tests/language/named_parameter_clash_test.dart |
| @@ -0,0 +1,34 @@ |
| +// Copyright (c) 2015, 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 Foo { |
| + m({a, b, c}) { |
|
floitsch
2015/02/04 00:10:12
bad indentation.
asgerf
2015/02/06 12:15:18
Done.
|
| + try {} catch(e) {} // no inline |
| + return 'Foo $a $b $c'; |
| + } |
| +} |
| + |
| +class Bar { |
| + m(z, {a$b, c}) { |
| + try {} catch(e) {} // no inline |
| + var ab = a$b; |
| + return 'Bar $z $ab $c'; |
| + } |
| +} |
| + |
| +inscrutable(xs, i) => i == 0 ? xs[0] : inscrutable(xs.sublist(1), i-1); |
| + |
| +main() { |
| + var list = [new Foo(), new Bar()]; |
| + var foo = inscrutable(list, 0); |
| + var bar = inscrutable(list, 1); |
| + |
| + Expect.equals(r'Foo a b c', foo.m(a: 'a', b: 'b', c: 'c')); |
| + Expect.equals(r'Bar z a$b c', bar.m('z', a$b: r'a$b', c: 'c')); |
| + |
| + Expect.throws(() => foo.m('z', a$b: r'a$b', c: 'c'), (e) => e is NoSuchMethodError); |
|
floitsch
2015/02/04 00:10:12
long lines.
asgerf
2015/02/06 12:15:18
Done.
|
| + Expect.throws(() => bar.m(a: 'a', b: 'b', c: 'c'), (e) => e is NoSuchMethodError); |
| +} |