OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 import "package:expect/expect.dart"; | 5 import "native_testing.dart"; |
6 import 'dart:_foreign_helper' show JS_INTERCEPTOR_CONSTANT, JS; | 6 import 'dart:_foreign_helper' show JS_INTERCEPTOR_CONSTANT; |
7 import 'dart:_js_helper' show Native, Creates; | |
8 import 'dart:_interceptors' | 7 import 'dart:_interceptors' |
9 show | 8 show |
10 Interceptor, | 9 Interceptor, |
11 JavaScriptObject, | 10 JavaScriptObject, |
12 PlainJavaScriptObject, | 11 PlainJavaScriptObject, |
13 UnknownJavaScriptObject; | 12 UnknownJavaScriptObject; |
14 | 13 |
15 // Test for safe formatting of JavaScript objects by Error.safeToString. | 14 // Test for safe formatting of JavaScript objects by Error.safeToString. |
16 | 15 |
17 @Native('PPPP') | 16 @Native('PPPP') |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 | 62 |
64 function PPPP(){} | 63 function PPPP(){} |
65 makeP = function(){return new PPPP();}; | 64 makeP = function(){return new PPPP();}; |
66 | 65 |
67 function QQQQ(){} | 66 function QQQQ(){} |
68 makeQ = function(){return new QQQQ();}; | 67 makeQ = function(){return new QQQQ();}; |
69 | 68 |
70 function RRRR(){} | 69 function RRRR(){} |
71 makeR = function(){return new RRRR();}; | 70 makeR = function(){return new RRRR();}; |
72 | 71 |
| 72 self.nativeConstructor(PPPP); |
| 73 self.nativeConstructor(QQQQ); |
| 74 self.nativeConstructor(RRRR); |
73 """; | 75 """; |
74 | 76 |
75 expectTypeName(expectedName, s) { | 77 expectTypeName(expectedName, s) { |
76 var m = new RegExp(r"Instance of '(.*)'").firstMatch(s); | 78 var m = new RegExp(r"Instance of '(.*)'").firstMatch(s); |
77 Expect.isNotNull(m); | 79 Expect.isNotNull(m); |
78 var name = m.group(1); | 80 var name = m.group(1); |
79 Expect.isTrue(expectedName == name || name.length <= 3, | 81 Expect.isTrue(expectedName == name || name.length <= 3, |
80 "Is '$expectedName' or minified: '$name'"); | 82 "Is '$expectedName' or minified: '$name'"); |
81 } | 83 } |
82 | 84 |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
151 x.toString(); | 153 x.toString(); |
152 Expect.notEquals(plainJsString, Error.safeToString(x)); | 154 Expect.notEquals(plainJsString, Error.safeToString(x)); |
153 Expect.notEquals(unknownJsString, Error.safeToString(x)); | 155 Expect.notEquals(unknownJsString, Error.safeToString(x)); |
154 Expect.notEquals(interceptorString, Error.safeToString(x)); | 156 Expect.notEquals(interceptorString, Error.safeToString(x)); |
155 // And not the native class constructor. | 157 // And not the native class constructor. |
156 Expect.notEquals("Instance of 'RRRR'", Error.safeToString(x)); | 158 Expect.notEquals("Instance of 'RRRR'", Error.safeToString(x)); |
157 expectTypeName('Rascal', Error.safeToString(x)); | 159 expectTypeName('Rascal', Error.safeToString(x)); |
158 } | 160 } |
159 | 161 |
160 main() { | 162 main() { |
| 163 nativeTesting(); |
161 setup(); | 164 setup(); |
162 | 165 |
163 testDistinctInterceptors(); | 166 testDistinctInterceptors(); |
164 testExternal(); | 167 testExternal(); |
165 testNative(); | 168 testNative(); |
166 } | 169 } |
OLD | NEW |