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

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

Issue 137123005: dart2js: Implement instanceMembers and staticMembers. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 11 months 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
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 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 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. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library test.instance_members; 5 library test.instance_members;
6 6
7 import 'dart:mirrors'; 7 import 'dart:mirrors';
8 import 'package:expect/expect.dart'; 8 import 'package:expect/expect.dart';
9 9
10 import 'declarations_model.dart' as declarations_model; 10 import 'declarations_model_easier.dart' as declarations_model;
11 11
12 selectKeys(map, predicate) { 12 selectKeys(map, predicate) {
13 return map.keys.where((key) => predicate(map[key])); 13 return map.keys.where((key) => predicate(map[key]));
14 } 14 }
15 15
16 class EasierSuperclass {
17 shuper() {}
18 static staticShuper() {}
19 }
20 class EasierMixin {
21 mixin() {}
22 static staticMixin() {}
23 }
24 class EasierMixinApplication extends EasierSuperclass with EasierMixin {
25 application() {}
26 static staticApplication() {}
27 }
28 class Derived extends EasierMixinApplication {
29 derived() {}
30 static staticDerived() {}
31 }
32
16 main() { 33 main() {
17 ClassMirror cm = reflectClass(declarations_model.Class); 34 ClassMirror cm = reflectClass(declarations_model.Class);
18 35
19 Expect.setEquals( 36 Expect.setEquals(
20 [#+, 37 [#+,
21 #instanceVariable, 38 #instanceVariable,
22 const Symbol('instanceVariable='), 39 const Symbol('instanceVariable='),
23 #instanceGetter, 40 #instanceGetter,
24 const Symbol('instanceSetter='), 41 const Symbol('instanceSetter='),
25 #instanceMethod, 42 #instanceMethod,
26 #-, 43 #-,
27 #inheritedInstanceVariable, 44 #inheritedInstanceVariable,
28 const Symbol('inheritedInstanceVariable='), 45 const Symbol('inheritedInstanceVariable='),
29 #inheritedInstanceGetter, 46 #inheritedInstanceGetter,
30 const Symbol('inheritedInstanceSetter='), 47 const Symbol('inheritedInstanceSetter='),
31 #inheritedInstanceMethod, 48 #inheritedInstanceMethod,
32 #*,
33 #mixinInstanceVariable,
34 const Symbol('mixinInstanceVariable='),
35 #mixinInstanceGetter,
36 const Symbol('mixinInstanceSetter='),
37 #mixinInstanceMethod,
38 #hashCode, 49 #hashCode,
39 #runtimeType, 50 #runtimeType,
40 #==, 51 #==,
41 #noSuchMethod, 52 #noSuchMethod,
42 #toString], 53 #toString],
43 selectKeys(cm.instanceMembers, (dm) => !dm.isPrivate)); 54 selectKeys(cm.instanceMembers, (dm) => !dm.isPrivate));
44 // Filter out private to avoid implementation-specific members of Object. 55 // Filter out private to avoid implementation-specific members of Object.
45 56
46 Expect.setEquals( 57 Expect.setEquals(
47 [#instanceVariable, 58 [#instanceVariable,
48 const Symbol('instanceVariable='), 59 const Symbol('instanceVariable='),
49 #inheritedInstanceVariable, 60 #inheritedInstanceVariable,
50 const Symbol('inheritedInstanceVariable='), 61 const Symbol('inheritedInstanceVariable=')],
51 #mixinInstanceVariable,
52 const Symbol('mixinInstanceVariable=')],
53 selectKeys(cm.instanceMembers, (dm) => !dm.isPrivate && dm.isSynthetic)); 62 selectKeys(cm.instanceMembers, (dm) => !dm.isPrivate && dm.isSynthetic));
63
64 cm = reflectClass(Derived);
65 Expect.setEquals(
66 [#derived,
67 #shuper,
68 #mixin,
69 #application,
70 #hashCode,
71 #runtimeType,
72 #==,
73 #noSuchMethod,
74 #toString],
75 selectKeys(cm.instanceMembers, (dm) => !dm.isPrivate));
76
77 cm = reflectClass(EasierMixinApplication);
78 Expect.setEquals(
79 [#shuper,
80 #mixin,
81 #application,
82 #hashCode,
83 #runtimeType,
84 #==,
85 #noSuchMethod,
86 #toString],
87 selectKeys(cm.instanceMembers, (dm) => !dm.isPrivate));
54 } 88 }
OLDNEW
« no previous file with comments | « tests/lib/mirrors/declarations_model_easier.dart ('k') | tests/lib/mirrors/static_members_easier_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698