OLD | NEW |
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.invoke_closurization_test; | 5 library test.invoke_closurization_test; |
6 | 6 |
7 @MirrorsUsed(targets: "test.invoke_closurization_test") | 7 @MirrorsUsed(targets: "test.invoke_closurization_test") |
8 import 'dart:mirrors'; | 8 import 'dart:mirrors'; |
9 | 9 |
10 import 'package:expect/expect.dart'; | 10 import 'package:expect/expect.dart'; |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 Expect.equals("trim-true", f(named: true)); | 83 Expect.equals("trim-true", f(named: true)); |
84 | 84 |
85 // Now the same thing through mirrors and mirror-invocation. | 85 // Now the same thing through mirrors and mirror-invocation. |
86 f = getAMirror().getField(#codeUnitAt); | 86 f = getAMirror().getField(#codeUnitAt); |
87 Expect.equals("codeUnitAt-42", f.invoke(#call, [42], {}).reflectee); | 87 Expect.equals("codeUnitAt-42", f.invoke(#call, [42], {}).reflectee); |
88 f = getAMirror().getField(#toUpperCase); | 88 f = getAMirror().getField(#toUpperCase); |
89 Expect.equals("toUpperCase", f.invoke(#call, [], {}).reflectee); | 89 Expect.equals("toUpperCase", f.invoke(#call, [], {}).reflectee); |
90 f = getAMirror().getField(#indexOf); | 90 f = getAMirror().getField(#indexOf); |
91 Expect.equals("indexOf-499", f.invoke(#call, [499], {}).reflectee); | 91 Expect.equals("indexOf-499", f.invoke(#call, [499], {}).reflectee); |
92 f = getAMirror().getField(#lastIndexOf); | 92 f = getAMirror().getField(#lastIndexOf); |
93 Expect.equals("lastIndexOf-FOO,BAR", | 93 Expect.equals( |
94 f.invoke(#call, ["FOO", "BAR"]).reflectee); | 94 "lastIndexOf-FOO,BAR", f.invoke(#call, ["FOO", "BAR"]).reflectee); |
95 f = getAMirror().getField(#splitMapJoin); | 95 f = getAMirror().getField(#splitMapJoin); |
96 Expect.equals("splitMapJoin-1,2,3", | 96 Expect.equals("splitMapJoin-1,2,3", |
97 f.invoke(#call, [1], {#onMatch: 2, #onNonMatch: 3}).reflectee); | 97 f.invoke(#call, [1], {#onMatch: 2, #onNonMatch: 3}).reflectee); |
98 f = getAMirror().getField(#trim); | 98 f = getAMirror().getField(#trim); |
99 Expect.equals("trim-true", f.invoke(#call, [], {#named: true}).reflectee); | 99 Expect.equals("trim-true", f.invoke(#call, [], {#named: true}).reflectee); |
100 | 100 |
101 // Tear-offs only through mirrors. (No direct selector in the code). | 101 // Tear-offs only through mirrors. (No direct selector in the code). |
102 // -------- | 102 // -------- |
103 | 103 |
104 f = getAMirror().getField(#endsWith).reflectee; | 104 f = getAMirror().getField(#endsWith).reflectee; |
105 Expect.equals("endsWith-42", f(42)); | 105 Expect.equals("endsWith-42", f(42)); |
106 f = getAMirror().getField(#toLowerCase).reflectee; | 106 f = getAMirror().getField(#toLowerCase).reflectee; |
107 Expect.equals("toLowerCase", f()); | 107 Expect.equals("toLowerCase", f()); |
108 f = getAMirror().getField(#indexOf).reflectee; | 108 f = getAMirror().getField(#indexOf).reflectee; |
109 Expect.equals("indexOf-499", f(499)); | 109 Expect.equals("indexOf-499", f(499)); |
110 f = getAMirror().getField(#matchAsPrefix).reflectee; | 110 f = getAMirror().getField(#matchAsPrefix).reflectee; |
111 Expect.equals("matchAsPrefix-FOO,BAR", f("FOO", "BAR")); | 111 Expect.equals("matchAsPrefix-FOO,BAR", f("FOO", "BAR")); |
112 f = getAMirror().getField(#toList).reflectee; | 112 f = getAMirror().getField(#toList).reflectee; |
113 Expect.equals("toList-1", f(growable: 1)); | 113 Expect.equals("toList-1", f(growable: 1)); |
114 f = getAMirror().getField(#toSet).reflectee; | 114 f = getAMirror().getField(#toSet).reflectee; |
115 Expect.equals("toSet-true", f(named: true)); | 115 Expect.equals("toSet-true", f(named: true)); |
116 | 116 |
117 f = getAMirror().getField(#endsWith); | 117 f = getAMirror().getField(#endsWith); |
118 Expect.equals("endsWith-42", f.invoke(#call, [42], {}).reflectee); | 118 Expect.equals("endsWith-42", f.invoke(#call, [42], {}).reflectee); |
119 f = getAMirror().getField(#toLowerCase); | 119 f = getAMirror().getField(#toLowerCase); |
120 Expect.equals("toLowerCase", f.invoke(#call, [], {}).reflectee); | 120 Expect.equals("toLowerCase", f.invoke(#call, [], {}).reflectee); |
121 f = getAMirror().getField(#indexOf); | 121 f = getAMirror().getField(#indexOf); |
122 Expect.equals("indexOf-499", f.invoke(#call, [499], {}).reflectee); | 122 Expect.equals("indexOf-499", f.invoke(#call, [499], {}).reflectee); |
123 f = getAMirror().getField(#matchAsPrefix); | 123 f = getAMirror().getField(#matchAsPrefix); |
124 Expect.equals("matchAsPrefix-FOO,BAR", | 124 Expect.equals( |
125 f.invoke(#call, ["FOO", "BAR"]).reflectee); | 125 "matchAsPrefix-FOO,BAR", f.invoke(#call, ["FOO", "BAR"]).reflectee); |
126 f = getAMirror().getField(#toList); | 126 f = getAMirror().getField(#toList); |
127 Expect.equals("toList-1", | 127 Expect.equals("toList-1", f.invoke(#call, [], {#growable: 1}).reflectee); |
128 f.invoke(#call, [], {#growable: 1}).reflectee); | |
129 f = getAMirror().getField(#toSet); | 128 f = getAMirror().getField(#toSet); |
130 Expect.equals("toSet-true", f.invoke(#call, [], {#named: true}).reflectee); | 129 Expect.equals("toSet-true", f.invoke(#call, [], {#named: true}).reflectee); |
131 } | 130 } |
OLD | NEW |