Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(41)

Side by Side Diff: tests/lib/mirrors/instance_members_with_override_test.dart

Issue 44813004: Tests for instanceMembers, staticMembers, toplevelMembers. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 library test.instance_members_with_override;
6
7 import 'dart:mirrors';
8 import 'package:expect/expect.dart';
9
10 class S {
11 var field;
12 final finalField = 0;
13 method() {}
14 get getter {}
15 set setter(x) {}
16 notOverridden() {}
17 }
18 abstract class C extends S {
19 var field;
20 final finalField = 0;
21 method() {}
22 get getter {}
23 set setter(x) {}
24 /* abstract */ notOverridden();
25 }
26
27 selectKeys(map, predicate) {
28 return map.keys.where((key) => predicate(map[key]));
29 }
30
31 main() {
32 ClassMirror sMirror = reflectClass(S);
33 ClassMirror cMirror = reflectClass(C);
34
35 Expect.setEquals(
36 [#field,
37 const Symbol('field='),
38 #finalField,
39 #method,
40 #getter,
41 const Symbol('setter='),
42 #notOverridden,
43 #hashCode,
44 #runtimeType,
45 #==,
46 #noSuchMethod,
47 #toString],
48 selectKeys(sMirror.instanceMembers, (dm) => !dm.isPrivate));
49 // Filter out private to avoid implementation-specific members of Object.
50
51 Expect.equals(sMirror, sMirror.instanceMembers[#field].owner);
52 Expect.equals(sMirror, sMirror.instanceMembers[const Symbol('field=')].owner);
53 Expect.equals(sMirror, sMirror.instanceMembers[#finalField].owner);
54 Expect.equals(sMirror, sMirror.instanceMembers[#method].owner);
55 Expect.equals(sMirror, sMirror.instanceMembers[#getter].owner);
56 Expect.equals(sMirror,sMirror.instanceMembers[const Symbol('setter=')].owner);
57
58 Expect.setEquals(
59 [#field,
60 const Symbol('field='),
61 #finalField,
62 #method,
63 #getter,
64 const Symbol('setter='),
65 #notOverridden,
66 #hashCode,
67 #runtimeType,
68 #==,
69 #noSuchMethod,
70 #toString],
71 selectKeys(cMirror.instanceMembers, (dm) => !dm.isPrivate));
72 // Filter out private to avoid implementation-specific members of Object.
73
74 Expect.equals(cMirror, cMirror.instanceMembers[#field].owner);
75 Expect.equals(cMirror, cMirror.instanceMembers[const Symbol('field=')].owner);
76 Expect.equals(cMirror, cMirror.instanceMembers[#finalField].owner);
77 Expect.equals(cMirror, cMirror.instanceMembers[#method].owner);
78 Expect.equals(cMirror, cMirror.instanceMembers[#getter].owner);
79 Expect.equals(cMirror,cMirror.instanceMembers[const Symbol('setter=')].owner);
80
81 Expect.equals(sMirror, sMirror.instanceMembers[#notOverridden].owner);
82 Expect.equals(sMirror, cMirror.instanceMembers[#notOverridden].owner);
83 }
OLDNEW
« no previous file with comments | « tests/lib/mirrors/instance_members_unimplemented_interface_test.dart ('k') | tests/lib/mirrors/static_members_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698