| 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 // This test reflectively enumerates all the methods in the system and tries to | 5 // This test reflectively enumerates all the methods in the system and tries to |
| 6 // invoke them with various basic values (nulls, ints, etc). This may result in | 6 // invoke them with various basic values (nulls, ints, etc). This may result in |
| 7 // Dart exceptions or hangs, but should never result in crashes or JavaScript | 7 // Dart exceptions or hangs, but should never result in crashes or JavaScript |
| 8 // exceptions. | 8 // exceptions. |
| 9 | 9 |
| 10 library test.invoke_natives; | 10 library test.invoke_natives; |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 } | 61 } |
| 62 } | 62 } |
| 63 return false; | 63 return false; |
| 64 } | 64 } |
| 65 | 65 |
| 66 class Task { | 66 class Task { |
| 67 var name; | 67 var name; |
| 68 var action; | 68 var action; |
| 69 } | 69 } |
| 70 | 70 |
| 71 var queue = new List(); | 71 var queue = new List<Task>(); |
| 72 | 72 |
| 73 checkMethod(MethodMirror m, ObjectMirror target, [origin]) { | 73 checkMethod(MethodMirror m, ObjectMirror target, [origin]) { |
| 74 if (isBlacklisted(m.qualifiedName)) return; | 74 if (isBlacklisted(m.qualifiedName)) return; |
| 75 | 75 |
| 76 var task = new Task(); | 76 var task = new Task(); |
| 77 task.name = '${MirrorSystem.getName(m.qualifiedName)} from $origin'; | 77 task.name = '${MirrorSystem.getName(m.qualifiedName)} from $origin'; |
| 78 | 78 |
| 79 if (m.isRegularMethod) { | 79 if (m.isRegularMethod) { |
| 80 task.action = () => target.invoke( | 80 task.action = () => target.invoke( |
| 81 m.simpleName, new List.filled(m.parameters.length, fuzzArgument)); | 81 m.simpleName, new List.filled(m.parameters.length, fuzzArgument)); |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 190 ]; | 190 ]; |
| 191 valueObjects.forEach((v) => checkInstance(reflect(v), 'value object')); | 191 valueObjects.forEach((v) => checkInstance(reflect(v), 'value object')); |
| 192 | 192 |
| 193 uncaughtErrorHandler(self, parent, zone, error, stack) {} | 193 uncaughtErrorHandler(self, parent, zone, error, stack) {} |
| 194 ; | 194 ; |
| 195 var zoneSpec = | 195 var zoneSpec = |
| 196 new ZoneSpecification(handleUncaughtError: uncaughtErrorHandler); | 196 new ZoneSpecification(handleUncaughtError: uncaughtErrorHandler); |
| 197 testZone = Zone.current.fork(specification: zoneSpec); | 197 testZone = Zone.current.fork(specification: zoneSpec); |
| 198 testZone.createTimer(Duration.ZERO, doOneTask); | 198 testZone.createTimer(Duration.ZERO, doOneTask); |
| 199 } | 199 } |
| OLD | NEW |