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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 | 43 |
44 // These construct an object with an uninitialized native field. | 44 // These construct an object with an uninitialized native field. |
45 // TODO(23869): We could make this safer, but making the failure non-fatal | 45 // TODO(23869): We could make this safer, but making the failure non-fatal |
46 // would we worthless aside from this test. | 46 // would we worthless aside from this test. |
47 'dart.io.X509Certificate.X509Certificate._', | 47 'dart.io.X509Certificate.X509Certificate._', |
48 'dart.io._X509Impl._X509Impl', | 48 'dart.io._X509Impl._X509Impl', |
49 | 49 |
50 // Don't call private methods in dart.async as they may circumvent the zoned | 50 // Don't call private methods in dart.async as they may circumvent the zoned |
51 // error handling below. | 51 // error handling below. |
52 new RegExp(r"^dart\.async\._.*$"), | 52 new RegExp(r"^dart\.async\._.*$"), |
| 53 |
| 54 'dart._internal.fatal', |
53 ]; | 55 ]; |
54 | 56 |
55 bool isBlacklisted(Symbol qualifiedSymbol) { | 57 bool isBlacklisted(Symbol qualifiedSymbol) { |
56 var qualifiedString = MirrorSystem.getName(qualifiedSymbol); | 58 var qualifiedString = MirrorSystem.getName(qualifiedSymbol); |
57 for (var pattern in blacklist) { | 59 for (var pattern in blacklist) { |
58 if (qualifiedString.contains(pattern)) { | 60 if (qualifiedString.contains(pattern)) { |
59 print('Skipping $qualifiedString'); | 61 print('Skipping $qualifiedString'); |
60 return true; | 62 return true; |
61 } | 63 } |
62 } | 64 } |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 0, 0xEFFFFFF, 0xFFFFFFFF, 0xFFFFFFFFFFFFFFFF, 3.14159, | 180 0, 0xEFFFFFF, 0xFFFFFFFF, 0xFFFFFFFFFFFFFFFF, 3.14159, |
179 "foo", 'blåbærgrød', 'Îñţérñåţîöñåļîžåţîờñ', "\u{1D11E}", #symbol]; | 181 "foo", 'blåbærgrød', 'Îñţérñåţîöñåļîžåţîờñ', "\u{1D11E}", #symbol]; |
180 valueObjects.forEach((v) => checkInstance(reflect(v), 'value object')); | 182 valueObjects.forEach((v) => checkInstance(reflect(v), 'value object')); |
181 | 183 |
182 uncaughtErrorHandler(self, parent, zone, error, stack) {}; | 184 uncaughtErrorHandler(self, parent, zone, error, stack) {}; |
183 var zoneSpec = | 185 var zoneSpec = |
184 new ZoneSpecification(handleUncaughtError: uncaughtErrorHandler); | 186 new ZoneSpecification(handleUncaughtError: uncaughtErrorHandler); |
185 testZone = Zone.current.fork(specification: zoneSpec); | 187 testZone = Zone.current.fork(specification: zoneSpec); |
186 testZone.createTimer(Duration.ZERO, doOneTask); | 188 testZone.createTimer(Duration.ZERO, doOneTask); |
187 } | 189 } |
OLD | NEW |