Chromium Code Reviews| Index: tests/lib/mirrors/reflect_class_test.dart |
| diff --git a/tests/lib/mirrors/reflect_class_test.dart b/tests/lib/mirrors/reflect_class_test.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..d1def59f9d2e144c42bf7e6f7862868026acc868 |
| --- /dev/null |
| +++ b/tests/lib/mirrors/reflect_class_test.dart |
| @@ -0,0 +1,29 @@ |
| +// 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. |
| + |
| +// This test uses the multi-test "ok" feature. |
| +// none: Tests as specified in the spec/API. Pass in the VM. |
| +// 01: dart2js version that expects NSM instead of ArgumentError. |
| +// |
| +// TODO(ahe,rmacnak): When both implementations agree, remove the multi-test |
|
rmacnak
2013/09/18 00:11:24
I don't see value in using a multitest here. This
Michael Lippautz (Google)
2013/09/18 20:23:22
Done.
|
| +// parts. |
| + |
| +import "dart:mirrors"; |
| + |
| +import "package:expect/expect.dart"; |
| + |
| +typedef void FooFunction(int a, double b); |
| + |
| +main() { |
| + var expectedError = (e) => e is ArgumentError; |
| + expectedError = (e) => e is NoSuchMethodError; /// 01: ok |
| + |
| + Expect.throws(() => reflectClass(dynamic), expectedError); |
| + Expect.throws(() => reflectClass(1), expectedError); |
| + Expect.throws(() => reflectClass("string"), expectedError); |
| + |
| + // reflectClass() on a function type should fail once typedefs are represented |
| + // by typedefmirrors instead of classmirrors. |
| + // Expect.throws(() => reflectClass(FooFunction), expectedError); |
| +} |