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

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

Issue 2617743002: Add mirrors tests for Null type. (Closed)
Patch Set: Created 3 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
« no previous file with comments | « no previous file | tests/lib/mirrors/relation_subclass_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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.relation_assignable; 5 library test.relation_assignable;
6 6
7 import "dart:mirrors"; 7 import "dart:mirrors";
8 8
9 import "package:expect/expect.dart"; 9 import "package:expect/expect.dart";
10 10
(...skipping 15 matching lines...) Expand all
26 26
27 test(MirrorSystem mirrors) { 27 test(MirrorSystem mirrors) {
28 LibraryMirror coreLibrary = mirrors.findLibrary(#dart.core); 28 LibraryMirror coreLibrary = mirrors.findLibrary(#dart.core);
29 LibraryMirror thisLibrary = mirrors.findLibrary(#test.relation_assignable); 29 LibraryMirror thisLibrary = mirrors.findLibrary(#test.relation_assignable);
30 30
31 // Classes. 31 // Classes.
32 TypeMirror Super = thisLibrary.declarations[#Superclass]; 32 TypeMirror Super = thisLibrary.declarations[#Superclass];
33 TypeMirror Sub1 = thisLibrary.declarations[#Subclass1]; 33 TypeMirror Sub1 = thisLibrary.declarations[#Subclass1];
34 TypeMirror Sub2 = thisLibrary.declarations[#Subclass2]; 34 TypeMirror Sub2 = thisLibrary.declarations[#Subclass2];
35 TypeMirror Obj = coreLibrary.declarations[#Object]; 35 TypeMirror Obj = coreLibrary.declarations[#Object];
36 TypeMirror Nul = coreLibrary.declarations[#Null];
36 37
37 Expect.isTrue(Obj.isAssignableTo(Obj)); 38 Expect.isTrue(Obj.isAssignableTo(Obj));
38 Expect.isTrue(Super.isAssignableTo(Super)); 39 Expect.isTrue(Super.isAssignableTo(Super));
39 Expect.isTrue(Sub1.isAssignableTo(Sub1)); 40 Expect.isTrue(Sub1.isAssignableTo(Sub1));
40 Expect.isTrue(Sub2.isAssignableTo(Sub2)); 41 Expect.isTrue(Sub2.isAssignableTo(Sub2));
42 Expect.isTrue(Nul.isAssignableTo(Nul));
41 43
42 Expect.isTrue(Sub1.isAssignableTo(Super)); 44 Expect.isTrue(Sub1.isAssignableTo(Super));
43 Expect.isTrue(Super.isAssignableTo(Sub1)); 45 Expect.isTrue(Super.isAssignableTo(Sub1));
44 46
45 Expect.isTrue(Sub2.isAssignableTo(Super)); 47 Expect.isTrue(Sub2.isAssignableTo(Super));
46 Expect.isTrue(Super.isAssignableTo(Sub2)); 48 Expect.isTrue(Super.isAssignableTo(Sub2));
47 49
48 Expect.isFalse(Sub2.isAssignableTo(Sub1)); 50 Expect.isFalse(Sub2.isAssignableTo(Sub1));
49 Expect.isFalse(Sub1.isAssignableTo(Sub2)); 51 Expect.isFalse(Sub1.isAssignableTo(Sub2));
50 52
51 Expect.isTrue(Sub1.isAssignableTo(Obj)); 53 Expect.isTrue(Sub1.isAssignableTo(Obj));
52 Expect.isTrue(Obj.isAssignableTo(Sub1)); 54 Expect.isTrue(Obj.isAssignableTo(Sub1));
53 55
54 Expect.isTrue(Sub2.isAssignableTo(Obj)); 56 Expect.isTrue(Sub2.isAssignableTo(Obj));
55 Expect.isTrue(Obj.isAssignableTo(Sub2)); 57 Expect.isTrue(Obj.isAssignableTo(Sub2));
56 58
57 Expect.isTrue(Super.isAssignableTo(Obj)); 59 Expect.isTrue(Super.isAssignableTo(Obj));
58 Expect.isTrue(Obj.isAssignableTo(Super)); 60 Expect.isTrue(Obj.isAssignableTo(Super));
59 61
62 Expect.isTrue(Nul.isAssignableTo(Obj));
63 Expect.isTrue(Obj.isAssignableTo(Nul));
64 Expect.isTrue(Nul.isAssignableTo(Super)); // Null type is bottom type.
65 Expect.isTrue(Super.isAssignableTo(Nul));
60 66
61 // Function typedef - argument type. 67 // Function typedef - argument type.
62 TypeMirror Func = coreLibrary.declarations[#Function]; 68 TypeMirror Func = coreLibrary.declarations[#Function];
63 TypedefMirror NumPred = thisLibrary.declarations[#NumberPredicate]; 69 TypedefMirror NumPred = thisLibrary.declarations[#NumberPredicate];
64 TypedefMirror IntPred = thisLibrary.declarations[#IntegerPredicate]; 70 TypedefMirror IntPred = thisLibrary.declarations[#IntegerPredicate];
65 TypedefMirror DubPred = thisLibrary.declarations[#DoublePredicate]; 71 TypedefMirror DubPred = thisLibrary.declarations[#DoublePredicate];
66 72
67 Expect.isTrue(Func.isAssignableTo(Func)); 73 Expect.isTrue(Func.isAssignableTo(Func));
68 Expect.isTrue(NumPred.isAssignableTo(NumPred)); 74 Expect.isTrue(NumPred.isAssignableTo(NumPred));
69 Expect.isTrue(IntPred.isAssignableTo(IntPred)); 75 Expect.isTrue(IntPred.isAssignableTo(IntPred));
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 Expect.isFalse(Void.isAssignableTo(TFromB)); 316 Expect.isFalse(Void.isAssignableTo(TFromB));
311 Expect.isFalse(Void.isAssignableTo(TFromC)); 317 Expect.isFalse(Void.isAssignableTo(TFromC));
312 318
313 Expect.isTrue(Dynamic.isAssignableTo(Void)); 319 Expect.isTrue(Dynamic.isAssignableTo(Void));
314 Expect.isTrue(Void.isAssignableTo(Dynamic)); 320 Expect.isTrue(Void.isAssignableTo(Dynamic));
315 } 321 }
316 322
317 main() { 323 main() {
318 test(currentMirrorSystem()); 324 test(currentMirrorSystem());
319 } 325 }
OLDNEW
« no previous file with comments | « no previous file | tests/lib/mirrors/relation_subclass_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698