| Index: test/codegen/corelib/list_contains_argument_order_test.dart
|
| diff --git a/test/codegen/corelib/list_contains_argument_order_test.dart b/test/codegen/corelib/list_contains_argument_order_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..db97b2d4d41c30a474521467ff8f435dcec99a82
|
| --- /dev/null
|
| +++ b/test/codegen/corelib/list_contains_argument_order_test.dart
|
| @@ -0,0 +1,41 @@
|
| +// Copyright (c) 2013, 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 {
|
| + const A();
|
| + bool operator ==(Object other) {
|
| + return false;
|
| + }
|
| +}
|
| +
|
| +class B {
|
| + bool operator ==(Object other) {
|
| + Expect.fail("Bad equality order.");
|
| + }
|
| +}
|
| +
|
| +main() {
|
| +
|
| + test(iterable) {
|
| + Expect.isFalse(iterable.contains(new B()));
|
| + }
|
| +
|
| + var iterables = [
|
| + <A>[ new A() ],
|
| + new List<A>(1)..[0] = new A(),
|
| + new List<A>()..add(new A()),
|
| + const <A>[ const A() ],
|
| + new Set()..add(new A()),
|
| + (new Map()..[new A()] = 0).keys,
|
| + (new Map()..[0] = new A()).values
|
| + ];
|
| +
|
| + for (var iterable in iterables) {
|
| + test(iterable);
|
| + test(iterable.map((x) => x));
|
| + test(iterable.take(1));
|
| + }
|
| +}
|
|
|