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

Side by Side Diff: runtime/observatory/tests/service/get_object_rpc_test.dart

Issue 1723733002: Simplify various name flavors in VM. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 10 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
OLDNEW
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 // VMOptions=--error_on_bad_type --error_on_bad_override 4 // VMOptions=--error_on_bad_type --error_on_bad_override
5 5
6 library get_object_rpc_test; 6 library get_object_rpc_test;
7 7
8 import 'dart:typed_data'; 8 import 'dart:typed_data';
9 import 'dart:convert' show BASE64; 9 import 'dart:convert' show BASE64;
10 import 'package:observatory/service_io.dart'; 10 import 'package:observatory/service_io.dart';
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 var params = { 74 var params = {
75 'objectId': 'objects/int-123', 75 'objectId': 'objects/int-123',
76 }; 76 };
77 var result = await isolate.invokeRpcNoUpgrade('getObject', params); 77 var result = await isolate.invokeRpcNoUpgrade('getObject', params);
78 expect(result['type'], equals('Instance')); 78 expect(result['type'], equals('Instance'));
79 expect(result['kind'], equals('Int')); 79 expect(result['kind'], equals('Int'));
80 expect(result['_vmType'], equals('Smi')); 80 expect(result['_vmType'], equals('Smi'));
81 expect(result['id'], equals('objects/int-123')); 81 expect(result['id'], equals('objects/int-123'));
82 expect(result['valueAsString'], equals('123')); 82 expect(result['valueAsString'], equals('123'));
83 expect(result['class']['type'], equals('@Class')); 83 expect(result['class']['type'], equals('@Class'));
84 expect(result['class']['name'], equals('_Smi')); 84 expect(result['class']['name'], equals('int'));
Cutch 2016/02/23 17:42:53 I think we still want to use the ScrubbedName (the
85 expect(result['size'], isZero); 85 expect(result['size'], isZero);
86 expect(result['fields'], isEmpty); 86 expect(result['fields'], isEmpty);
87 }, 87 },
88 88
89 // A string 89 // A string
90 (Isolate isolate) async { 90 (Isolate isolate) async {
91 // Call eval to get a Dart list. 91 // Call eval to get a Dart list.
92 var evalResult = await eval(isolate, '"Chattanooga"'); 92 var evalResult = await eval(isolate, '"Chattanooga"');
93 var params = { 93 var params = {
94 'objectId': evalResult['id'], 94 'objectId': evalResult['id'],
95 }; 95 };
96 var result = await isolate.invokeRpcNoUpgrade('getObject', params); 96 var result = await isolate.invokeRpcNoUpgrade('getObject', params);
97 expect(result['type'], equals('Instance')); 97 expect(result['type'], equals('Instance'));
98 expect(result['kind'], equals('String')); 98 expect(result['kind'], equals('String'));
99 expect(result['_vmType'], equals('String')); 99 expect(result['_vmType'], equals('String'));
100 expect(result['id'], startsWith('objects/')); 100 expect(result['id'], startsWith('objects/'));
101 expect(result['valueAsString'], equals('Chattanooga')); 101 expect(result['valueAsString'], equals('Chattanooga'));
102 expect(result['class']['type'], equals('@Class')); 102 expect(result['class']['type'], equals('@Class'));
103 expect(result['class']['name'], equals('_OneByteString')); 103 expect(result['class']['name'], equals('String'));
104 expect(result['size'], isPositive); 104 expect(result['size'], isPositive);
105 expect(result['fields'], isEmpty); 105 expect(result['fields'], isEmpty);
106 expect(result['length'], equals(11)); 106 expect(result['length'], equals(11));
107 expect(result['offset'], isNull); 107 expect(result['offset'], isNull);
108 expect(result['count'], isNull); 108 expect(result['count'], isNull);
109 }, 109 },
110 110
111 // String prefix. 111 // String prefix.
112 (Isolate isolate) async { 112 (Isolate isolate) async {
113 // Call eval to get a Dart list. 113 // Call eval to get a Dart list.
114 var evalResult = await eval(isolate, '"Chattanooga"'); 114 var evalResult = await eval(isolate, '"Chattanooga"');
115 var params = { 115 var params = {
116 'objectId': evalResult['id'], 116 'objectId': evalResult['id'],
117 'count': 4, 117 'count': 4,
118 }; 118 };
119 var result = await isolate.invokeRpcNoUpgrade('getObject', params); 119 var result = await isolate.invokeRpcNoUpgrade('getObject', params);
120 expect(result['type'], equals('Instance')); 120 expect(result['type'], equals('Instance'));
121 expect(result['kind'], equals('String')); 121 expect(result['kind'], equals('String'));
122 expect(result['_vmType'], equals('String')); 122 expect(result['_vmType'], equals('String'));
123 expect(result['id'], startsWith('objects/')); 123 expect(result['id'], startsWith('objects/'));
124 expect(result['valueAsString'], equals('Chat')); 124 expect(result['valueAsString'], equals('Chat'));
125 expect(result['class']['type'], equals('@Class')); 125 expect(result['class']['type'], equals('@Class'));
126 expect(result['class']['name'], equals('_OneByteString')); 126 expect(result['class']['name'], equals('String'));
127 expect(result['size'], isPositive); 127 expect(result['size'], isPositive);
128 expect(result['fields'], isEmpty); 128 expect(result['fields'], isEmpty);
129 expect(result['length'], equals(11)); 129 expect(result['length'], equals(11));
130 expect(result['offset'], isNull); 130 expect(result['offset'], isNull);
131 expect(result['count'], equals(4)); 131 expect(result['count'], equals(4));
132 }, 132 },
133 133
134 // String subrange. 134 // String subrange.
135 (Isolate isolate) async { 135 (Isolate isolate) async {
136 // Call eval to get a Dart list. 136 // Call eval to get a Dart list.
137 var evalResult = await eval(isolate, '"Chattanooga"'); 137 var evalResult = await eval(isolate, '"Chattanooga"');
138 var params = { 138 var params = {
139 'objectId': evalResult['id'], 139 'objectId': evalResult['id'],
140 'offset': 4, 140 'offset': 4,
141 'count': 6, 141 'count': 6,
142 }; 142 };
143 var result = await isolate.invokeRpcNoUpgrade('getObject', params); 143 var result = await isolate.invokeRpcNoUpgrade('getObject', params);
144 expect(result['type'], equals('Instance')); 144 expect(result['type'], equals('Instance'));
145 expect(result['kind'], equals('String')); 145 expect(result['kind'], equals('String'));
146 expect(result['_vmType'], equals('String')); 146 expect(result['_vmType'], equals('String'));
147 expect(result['id'], startsWith('objects/')); 147 expect(result['id'], startsWith('objects/'));
148 expect(result['valueAsString'], equals('tanoog')); 148 expect(result['valueAsString'], equals('tanoog'));
149 expect(result['class']['type'], equals('@Class')); 149 expect(result['class']['type'], equals('@Class'));
150 expect(result['class']['name'], equals('_OneByteString')); 150 expect(result['class']['name'], equals('String'));
151 expect(result['size'], isPositive); 151 expect(result['size'], isPositive);
152 expect(result['fields'], isEmpty); 152 expect(result['fields'], isEmpty);
153 expect(result['length'], equals(11)); 153 expect(result['length'], equals(11));
154 expect(result['offset'], equals(4)); 154 expect(result['offset'], equals(4));
155 expect(result['count'], equals(6)); 155 expect(result['count'], equals(6));
156 }, 156 },
157 157
158 // String with wacky offset. 158 // String with wacky offset.
159 (Isolate isolate) async { 159 (Isolate isolate) async {
160 // Call eval to get a Dart list. 160 // Call eval to get a Dart list.
161 var evalResult = await eval(isolate, '"Chattanooga"'); 161 var evalResult = await eval(isolate, '"Chattanooga"');
162 var params = { 162 var params = {
163 'objectId': evalResult['id'], 163 'objectId': evalResult['id'],
164 'offset': 100, 164 'offset': 100,
165 'count': 2, 165 'count': 2,
166 }; 166 };
167 var result = await isolate.invokeRpcNoUpgrade('getObject', params); 167 var result = await isolate.invokeRpcNoUpgrade('getObject', params);
168 expect(result['type'], equals('Instance')); 168 expect(result['type'], equals('Instance'));
169 expect(result['kind'], equals('String')); 169 expect(result['kind'], equals('String'));
170 expect(result['_vmType'], equals('String')); 170 expect(result['_vmType'], equals('String'));
171 expect(result['id'], startsWith('objects/')); 171 expect(result['id'], startsWith('objects/'));
172 expect(result['valueAsString'], equals('')); 172 expect(result['valueAsString'], equals(''));
173 expect(result['class']['type'], equals('@Class')); 173 expect(result['class']['type'], equals('@Class'));
174 expect(result['class']['name'], equals('_OneByteString')); 174 expect(result['class']['name'], equals('String'));
175 expect(result['size'], isPositive); 175 expect(result['size'], isPositive);
176 expect(result['fields'], isEmpty); 176 expect(result['fields'], isEmpty);
177 expect(result['length'], equals(11)); 177 expect(result['length'], equals(11));
178 expect(result['offset'], equals(11)); 178 expect(result['offset'], equals(11));
179 expect(result['count'], equals(0)); 179 expect(result['count'], equals(0));
180 }, 180 },
181 181
182 // A built-in List. 182 // A built-in List.
183 (Isolate isolate) async { 183 (Isolate isolate) async {
184 // Call eval to get a Dart list. 184 // Call eval to get a Dart list.
185 var evalResult = await eval(isolate, '[3, 2, 1]'); 185 var evalResult = await eval(isolate, '[3, 2, 1]');
186 var params = { 186 var params = {
187 'objectId': evalResult['id'], 187 'objectId': evalResult['id'],
188 }; 188 };
189 var result = await isolate.invokeRpcNoUpgrade('getObject', params); 189 var result = await isolate.invokeRpcNoUpgrade('getObject', params);
190 expect(result['type'], equals('Instance')); 190 expect(result['type'], equals('Instance'));
191 expect(result['kind'], equals('List')); 191 expect(result['kind'], equals('List'));
192 expect(result['_vmType'], equals('GrowableObjectArray')); 192 expect(result['_vmType'], equals('GrowableObjectArray'));
193 expect(result['id'], startsWith('objects/')); 193 expect(result['id'], startsWith('objects/'));
194 expect(result['valueAsString'], isNull); 194 expect(result['valueAsString'], isNull);
195 expect(result['class']['type'], equals('@Class')); 195 expect(result['class']['type'], equals('@Class'));
196 expect(result['class']['name'], equals('_GrowableList')); 196 expect(result['class']['name'], equals('List'));
197 expect(result['size'], isPositive); 197 expect(result['size'], isPositive);
198 expect(result['fields'], isEmpty); 198 expect(result['fields'], isEmpty);
199 expect(result['length'], equals(3)); 199 expect(result['length'], equals(3));
200 expect(result['offset'], isNull); 200 expect(result['offset'], isNull);
201 expect(result['count'], isNull); 201 expect(result['count'], isNull);
202 expect(result['elements'].length, equals(3)); 202 expect(result['elements'].length, equals(3));
203 expect(result['elements'][0]['type'], equals('@Instance')); 203 expect(result['elements'][0]['type'], equals('@Instance'));
204 expect(result['elements'][0]['kind'], equals('Int')); 204 expect(result['elements'][0]['kind'], equals('Int'));
205 expect(result['elements'][0]['valueAsString'], equals('3')); 205 expect(result['elements'][0]['valueAsString'], equals('3'));
206 expect(result['elements'][1]['type'], equals('@Instance')); 206 expect(result['elements'][1]['type'], equals('@Instance'));
(...skipping 12 matching lines...) Expand all
219 'objectId': evalResult['id'], 219 'objectId': evalResult['id'],
220 'count': 2, 220 'count': 2,
221 }; 221 };
222 var result = await isolate.invokeRpcNoUpgrade('getObject', params); 222 var result = await isolate.invokeRpcNoUpgrade('getObject', params);
223 expect(result['type'], equals('Instance')); 223 expect(result['type'], equals('Instance'));
224 expect(result['kind'], equals('List')); 224 expect(result['kind'], equals('List'));
225 expect(result['_vmType'], equals('GrowableObjectArray')); 225 expect(result['_vmType'], equals('GrowableObjectArray'));
226 expect(result['id'], startsWith('objects/')); 226 expect(result['id'], startsWith('objects/'));
227 expect(result['valueAsString'], isNull); 227 expect(result['valueAsString'], isNull);
228 expect(result['class']['type'], equals('@Class')); 228 expect(result['class']['type'], equals('@Class'));
229 expect(result['class']['name'], equals('_GrowableList')); 229 expect(result['class']['name'], equals('List'));
230 expect(result['size'], isPositive); 230 expect(result['size'], isPositive);
231 expect(result['fields'], isEmpty); 231 expect(result['fields'], isEmpty);
232 expect(result['length'], equals(3)); 232 expect(result['length'], equals(3));
233 expect(result['offset'], isNull); 233 expect(result['offset'], isNull);
234 expect(result['count'], equals(2)); 234 expect(result['count'], equals(2));
235 expect(result['elements'].length, equals(2)); 235 expect(result['elements'].length, equals(2));
236 expect(result['elements'][0]['type'], equals('@Instance')); 236 expect(result['elements'][0]['type'], equals('@Instance'));
237 expect(result['elements'][0]['kind'], equals('Int')); 237 expect(result['elements'][0]['kind'], equals('Int'));
238 expect(result['elements'][0]['valueAsString'], equals('3')); 238 expect(result['elements'][0]['valueAsString'], equals('3'));
239 expect(result['elements'][1]['type'], equals('@Instance')); 239 expect(result['elements'][1]['type'], equals('@Instance'));
(...skipping 10 matching lines...) Expand all
250 'offset': 2, 250 'offset': 2,
251 'count': 2, 251 'count': 2,
252 }; 252 };
253 var result = await isolate.invokeRpcNoUpgrade('getObject', params); 253 var result = await isolate.invokeRpcNoUpgrade('getObject', params);
254 expect(result['type'], equals('Instance')); 254 expect(result['type'], equals('Instance'));
255 expect(result['kind'], equals('List')); 255 expect(result['kind'], equals('List'));
256 expect(result['_vmType'], equals('GrowableObjectArray')); 256 expect(result['_vmType'], equals('GrowableObjectArray'));
257 expect(result['id'], startsWith('objects/')); 257 expect(result['id'], startsWith('objects/'));
258 expect(result['valueAsString'], isNull); 258 expect(result['valueAsString'], isNull);
259 expect(result['class']['type'], equals('@Class')); 259 expect(result['class']['type'], equals('@Class'));
260 expect(result['class']['name'], equals('_GrowableList')); 260 expect(result['class']['name'], equals('List'));
261 expect(result['size'], isPositive); 261 expect(result['size'], isPositive);
262 expect(result['fields'], isEmpty); 262 expect(result['fields'], isEmpty);
263 expect(result['length'], equals(3)); 263 expect(result['length'], equals(3));
264 expect(result['offset'], equals(2)); 264 expect(result['offset'], equals(2));
265 expect(result['count'], equals(1)); 265 expect(result['count'], equals(1));
266 expect(result['elements'].length, equals(1)); 266 expect(result['elements'].length, equals(1));
267 expect(result['elements'][0]['type'], equals('@Instance')); 267 expect(result['elements'][0]['type'], equals('@Instance'));
268 expect(result['elements'][0]['kind'], equals('Int')); 268 expect(result['elements'][0]['kind'], equals('Int'));
269 expect(result['elements'][0]['valueAsString'], equals('1')); 269 expect(result['elements'][0]['valueAsString'], equals('1'));
270 }, 270 },
271 271
272 // List with wacky offset. 272 // List with wacky offset.
273 (Isolate isolate) async { 273 (Isolate isolate) async {
274 // Call eval to get a Dart list. 274 // Call eval to get a Dart list.
275 var evalResult = await eval(isolate, '[3, 2, 1]'); 275 var evalResult = await eval(isolate, '[3, 2, 1]');
276 var params = { 276 var params = {
277 'objectId': evalResult['id'], 277 'objectId': evalResult['id'],
278 'offset': 100, 278 'offset': 100,
279 'count': 2, 279 'count': 2,
280 }; 280 };
281 var result = await isolate.invokeRpcNoUpgrade('getObject', params); 281 var result = await isolate.invokeRpcNoUpgrade('getObject', params);
282 expect(result['type'], equals('Instance')); 282 expect(result['type'], equals('Instance'));
283 expect(result['kind'], equals('List')); 283 expect(result['kind'], equals('List'));
284 expect(result['_vmType'], equals('GrowableObjectArray')); 284 expect(result['_vmType'], equals('GrowableObjectArray'));
285 expect(result['id'], startsWith('objects/')); 285 expect(result['id'], startsWith('objects/'));
286 expect(result['valueAsString'], isNull); 286 expect(result['valueAsString'], isNull);
287 expect(result['class']['type'], equals('@Class')); 287 expect(result['class']['type'], equals('@Class'));
288 expect(result['class']['name'], equals('_GrowableList')); 288 expect(result['class']['name'], equals('List'));
289 expect(result['size'], isPositive); 289 expect(result['size'], isPositive);
290 expect(result['fields'], isEmpty); 290 expect(result['fields'], isEmpty);
291 expect(result['length'], equals(3)); 291 expect(result['length'], equals(3));
292 expect(result['offset'], equals(3)); 292 expect(result['offset'], equals(3));
293 expect(result['count'], equals(0)); 293 expect(result['count'], equals(0));
294 expect(result['elements'], isEmpty); 294 expect(result['elements'], isEmpty);
295 }, 295 },
296 296
297 // A built-in Map. 297 // A built-in Map.
298 (Isolate isolate) async { 298 (Isolate isolate) async {
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
434 var params = { 434 var params = {
435 'objectId': evalResult['id'], 435 'objectId': evalResult['id'],
436 }; 436 };
437 var result = await isolate.invokeRpcNoUpgrade('getObject', params); 437 var result = await isolate.invokeRpcNoUpgrade('getObject', params);
438 expect(result['type'], equals('Instance')); 438 expect(result['type'], equals('Instance'));
439 expect(result['kind'], equals('Uint8List')); 439 expect(result['kind'], equals('Uint8List'));
440 expect(result['_vmType'], equals('TypedData')); 440 expect(result['_vmType'], equals('TypedData'));
441 expect(result['id'], startsWith('objects/')); 441 expect(result['id'], startsWith('objects/'));
442 expect(result['valueAsString'], isNull); 442 expect(result['valueAsString'], isNull);
443 expect(result['class']['type'], equals('@Class')); 443 expect(result['class']['type'], equals('@Class'));
444 expect(result['class']['name'], equals('_Uint8Array')); 444 expect(result['class']['name'], equals('Uint8List'));
445 expect(result['size'], isPositive); 445 expect(result['size'], isPositive);
446 expect(result['fields'], isEmpty); 446 expect(result['fields'], isEmpty);
447 expect(result['length'], equals(3)); 447 expect(result['length'], equals(3));
448 expect(result['offset'], isNull); 448 expect(result['offset'], isNull);
449 expect(result['count'], isNull); 449 expect(result['count'], isNull);
450 expect(result['bytes'], equals('AwIB')); 450 expect(result['bytes'], equals('AwIB'));
451 Uint8List bytes = BASE64.decode(result['bytes']); 451 Uint8List bytes = BASE64.decode(result['bytes']);
452 expect(bytes.buffer.asUint8List().toString(), equals('[3, 2, 1]')); 452 expect(bytes.buffer.asUint8List().toString(), equals('[3, 2, 1]'));
453 }, 453 },
454 454
455 // Uint8List prefix. 455 // Uint8List prefix.
456 (Isolate isolate) async { 456 (Isolate isolate) async {
457 // Call eval to get a Dart list. 457 // Call eval to get a Dart list.
458 var evalResult = await eval(isolate, 'uint8List'); 458 var evalResult = await eval(isolate, 'uint8List');
459 var params = { 459 var params = {
460 'objectId': evalResult['id'], 460 'objectId': evalResult['id'],
461 'count' : 2, 461 'count' : 2,
462 }; 462 };
463 var result = await isolate.invokeRpcNoUpgrade('getObject', params); 463 var result = await isolate.invokeRpcNoUpgrade('getObject', params);
464 expect(result['type'], equals('Instance')); 464 expect(result['type'], equals('Instance'));
465 expect(result['kind'], equals('Uint8List')); 465 expect(result['kind'], equals('Uint8List'));
466 expect(result['_vmType'], equals('TypedData')); 466 expect(result['_vmType'], equals('TypedData'));
467 expect(result['id'], startsWith('objects/')); 467 expect(result['id'], startsWith('objects/'));
468 expect(result['valueAsString'], isNull); 468 expect(result['valueAsString'], isNull);
469 expect(result['class']['type'], equals('@Class')); 469 expect(result['class']['type'], equals('@Class'));
470 expect(result['class']['name'], equals('_Uint8Array')); 470 expect(result['class']['name'], equals('Uint8List'));
471 expect(result['size'], isPositive); 471 expect(result['size'], isPositive);
472 expect(result['fields'], isEmpty); 472 expect(result['fields'], isEmpty);
473 expect(result['length'], equals(3)); 473 expect(result['length'], equals(3));
474 expect(result['offset'], isNull); 474 expect(result['offset'], isNull);
475 expect(result['count'], equals(2)); 475 expect(result['count'], equals(2));
476 expect(result['bytes'], equals('AwI=')); 476 expect(result['bytes'], equals('AwI='));
477 Uint8List bytes = BASE64.decode(result['bytes']); 477 Uint8List bytes = BASE64.decode(result['bytes']);
478 expect(bytes.buffer.asUint8List().toString(), equals('[3, 2]')); 478 expect(bytes.buffer.asUint8List().toString(), equals('[3, 2]'));
479 }, 479 },
480 480
481 // Uint8List suffix. 481 // Uint8List suffix.
482 (Isolate isolate) async { 482 (Isolate isolate) async {
483 // Call eval to get a Dart list. 483 // Call eval to get a Dart list.
484 var evalResult = await eval(isolate, 'uint8List'); 484 var evalResult = await eval(isolate, 'uint8List');
485 var params = { 485 var params = {
486 'objectId': evalResult['id'], 486 'objectId': evalResult['id'],
487 'offset' : 2, 487 'offset' : 2,
488 'count' : 2, 488 'count' : 2,
489 }; 489 };
490 var result = await isolate.invokeRpcNoUpgrade('getObject', params); 490 var result = await isolate.invokeRpcNoUpgrade('getObject', params);
491 expect(result['type'], equals('Instance')); 491 expect(result['type'], equals('Instance'));
492 expect(result['kind'], equals('Uint8List')); 492 expect(result['kind'], equals('Uint8List'));
493 expect(result['_vmType'], equals('TypedData')); 493 expect(result['_vmType'], equals('TypedData'));
494 expect(result['id'], startsWith('objects/')); 494 expect(result['id'], startsWith('objects/'));
495 expect(result['valueAsString'], isNull); 495 expect(result['valueAsString'], isNull);
496 expect(result['class']['type'], equals('@Class')); 496 expect(result['class']['type'], equals('@Class'));
497 expect(result['class']['name'], equals('_Uint8Array')); 497 expect(result['class']['name'], equals('Uint8List'));
498 expect(result['size'], isPositive); 498 expect(result['size'], isPositive);
499 expect(result['fields'], isEmpty); 499 expect(result['fields'], isEmpty);
500 expect(result['length'], equals(3)); 500 expect(result['length'], equals(3));
501 expect(result['offset'], equals(2)); 501 expect(result['offset'], equals(2));
502 expect(result['count'], equals(1)); 502 expect(result['count'], equals(1));
503 expect(result['bytes'], equals('AQ==')); 503 expect(result['bytes'], equals('AQ=='));
504 Uint8List bytes = BASE64.decode(result['bytes']); 504 Uint8List bytes = BASE64.decode(result['bytes']);
505 expect(bytes.buffer.asUint8List().toString(), equals('[1]')); 505 expect(bytes.buffer.asUint8List().toString(), equals('[1]'));
506 }, 506 },
507 507
508 // Uint8List with wacky offset. 508 // Uint8List with wacky offset.
509 (Isolate isolate) async { 509 (Isolate isolate) async {
510 // Call eval to get a Dart list. 510 // Call eval to get a Dart list.
511 var evalResult = await eval(isolate, 'uint8List'); 511 var evalResult = await eval(isolate, 'uint8List');
512 var params = { 512 var params = {
513 'objectId': evalResult['id'], 513 'objectId': evalResult['id'],
514 'offset' : 100, 514 'offset' : 100,
515 'count' : 2, 515 'count' : 2,
516 }; 516 };
517 var result = await isolate.invokeRpcNoUpgrade('getObject', params); 517 var result = await isolate.invokeRpcNoUpgrade('getObject', params);
518 expect(result['type'], equals('Instance')); 518 expect(result['type'], equals('Instance'));
519 expect(result['kind'], equals('Uint8List')); 519 expect(result['kind'], equals('Uint8List'));
520 expect(result['_vmType'], equals('TypedData')); 520 expect(result['_vmType'], equals('TypedData'));
521 expect(result['id'], startsWith('objects/')); 521 expect(result['id'], startsWith('objects/'));
522 expect(result['valueAsString'], isNull); 522 expect(result['valueAsString'], isNull);
523 expect(result['class']['type'], equals('@Class')); 523 expect(result['class']['type'], equals('@Class'));
524 expect(result['class']['name'], equals('_Uint8Array')); 524 expect(result['class']['name'], equals('Uint8List'));
525 expect(result['size'], isPositive); 525 expect(result['size'], isPositive);
526 expect(result['fields'], isEmpty); 526 expect(result['fields'], isEmpty);
527 expect(result['length'], equals(3)); 527 expect(result['length'], equals(3));
528 expect(result['offset'], equals(3)); 528 expect(result['offset'], equals(3));
529 expect(result['count'], equals(0)); 529 expect(result['count'], equals(0));
530 expect(result['bytes'], equals('')); 530 expect(result['bytes'], equals(''));
531 }, 531 },
532 532
533 // Uint64List. 533 // Uint64List.
534 (Isolate isolate) async { 534 (Isolate isolate) async {
535 // Call eval to get a Dart list. 535 // Call eval to get a Dart list.
536 var evalResult = await eval(isolate, 'uint64List'); 536 var evalResult = await eval(isolate, 'uint64List');
537 var params = { 537 var params = {
538 'objectId': evalResult['id'], 538 'objectId': evalResult['id'],
539 }; 539 };
540 var result = await isolate.invokeRpcNoUpgrade('getObject', params); 540 var result = await isolate.invokeRpcNoUpgrade('getObject', params);
541 expect(result['type'], equals('Instance')); 541 expect(result['type'], equals('Instance'));
542 expect(result['kind'], equals('Uint64List')); 542 expect(result['kind'], equals('Uint64List'));
543 expect(result['_vmType'], equals('TypedData')); 543 expect(result['_vmType'], equals('TypedData'));
544 expect(result['id'], startsWith('objects/')); 544 expect(result['id'], startsWith('objects/'));
545 expect(result['valueAsString'], isNull); 545 expect(result['valueAsString'], isNull);
546 expect(result['class']['type'], equals('@Class')); 546 expect(result['class']['type'], equals('@Class'));
547 expect(result['class']['name'], equals('_Uint64Array')); 547 expect(result['class']['name'], equals('Uint64List'));
548 expect(result['size'], isPositive); 548 expect(result['size'], isPositive);
549 expect(result['fields'], isEmpty); 549 expect(result['fields'], isEmpty);
550 expect(result['length'], equals(3)); 550 expect(result['length'], equals(3));
551 expect(result['offset'], isNull); 551 expect(result['offset'], isNull);
552 expect(result['count'], isNull); 552 expect(result['count'], isNull);
553 expect(result['bytes'], equals('AwAAAAAAAAACAAAAAAAAAAEAAAAAAAAA')); 553 expect(result['bytes'], equals('AwAAAAAAAAACAAAAAAAAAAEAAAAAAAAA'));
554 Uint8List bytes = BASE64.decode(result['bytes']); 554 Uint8List bytes = BASE64.decode(result['bytes']);
555 expect(bytes.buffer.asUint64List().toString(), equals('[3, 2, 1]')); 555 expect(bytes.buffer.asUint64List().toString(), equals('[3, 2, 1]'));
556 }, 556 },
557 557
558 // Uint64List prefix. 558 // Uint64List prefix.
559 (Isolate isolate) async { 559 (Isolate isolate) async {
560 // Call eval to get a Dart list. 560 // Call eval to get a Dart list.
561 var evalResult = await eval(isolate, 'uint64List'); 561 var evalResult = await eval(isolate, 'uint64List');
562 var params = { 562 var params = {
563 'objectId': evalResult['id'], 563 'objectId': evalResult['id'],
564 'count' : 2, 564 'count' : 2,
565 }; 565 };
566 var result = await isolate.invokeRpcNoUpgrade('getObject', params); 566 var result = await isolate.invokeRpcNoUpgrade('getObject', params);
567 expect(result['type'], equals('Instance')); 567 expect(result['type'], equals('Instance'));
568 expect(result['kind'], equals('Uint64List')); 568 expect(result['kind'], equals('Uint64List'));
569 expect(result['_vmType'], equals('TypedData')); 569 expect(result['_vmType'], equals('TypedData'));
570 expect(result['id'], startsWith('objects/')); 570 expect(result['id'], startsWith('objects/'));
571 expect(result['valueAsString'], isNull); 571 expect(result['valueAsString'], isNull);
572 expect(result['class']['type'], equals('@Class')); 572 expect(result['class']['type'], equals('@Class'));
573 expect(result['class']['name'], equals('_Uint64Array')); 573 expect(result['class']['name'], equals('Uint64List'));
574 expect(result['size'], isPositive); 574 expect(result['size'], isPositive);
575 expect(result['fields'], isEmpty); 575 expect(result['fields'], isEmpty);
576 expect(result['length'], equals(3)); 576 expect(result['length'], equals(3));
577 expect(result['offset'], isNull); 577 expect(result['offset'], isNull);
578 expect(result['count'], equals(2)); 578 expect(result['count'], equals(2));
579 expect(result['bytes'], equals('AwAAAAAAAAACAAAAAAAAAA==')); 579 expect(result['bytes'], equals('AwAAAAAAAAACAAAAAAAAAA=='));
580 Uint8List bytes = BASE64.decode(result['bytes']); 580 Uint8List bytes = BASE64.decode(result['bytes']);
581 expect(bytes.buffer.asUint64List().toString(), equals('[3, 2]')); 581 expect(bytes.buffer.asUint64List().toString(), equals('[3, 2]'));
582 }, 582 },
583 583
584 // Uint64List suffix. 584 // Uint64List suffix.
585 (Isolate isolate) async { 585 (Isolate isolate) async {
586 // Call eval to get a Dart list. 586 // Call eval to get a Dart list.
587 var evalResult = await eval(isolate, 'uint64List'); 587 var evalResult = await eval(isolate, 'uint64List');
588 var params = { 588 var params = {
589 'objectId': evalResult['id'], 589 'objectId': evalResult['id'],
590 'offset' : 2, 590 'offset' : 2,
591 'count' : 2, 591 'count' : 2,
592 }; 592 };
593 var result = await isolate.invokeRpcNoUpgrade('getObject', params); 593 var result = await isolate.invokeRpcNoUpgrade('getObject', params);
594 expect(result['type'], equals('Instance')); 594 expect(result['type'], equals('Instance'));
595 expect(result['kind'], equals('Uint64List')); 595 expect(result['kind'], equals('Uint64List'));
596 expect(result['_vmType'], equals('TypedData')); 596 expect(result['_vmType'], equals('TypedData'));
597 expect(result['id'], startsWith('objects/')); 597 expect(result['id'], startsWith('objects/'));
598 expect(result['valueAsString'], isNull); 598 expect(result['valueAsString'], isNull);
599 expect(result['class']['type'], equals('@Class')); 599 expect(result['class']['type'], equals('@Class'));
600 expect(result['class']['name'], equals('_Uint64Array')); 600 expect(result['class']['name'], equals('Uint64List'));
601 expect(result['size'], isPositive); 601 expect(result['size'], isPositive);
602 expect(result['fields'], isEmpty); 602 expect(result['fields'], isEmpty);
603 expect(result['length'], equals(3)); 603 expect(result['length'], equals(3));
604 expect(result['offset'], equals(2)); 604 expect(result['offset'], equals(2));
605 expect(result['count'], equals(1)); 605 expect(result['count'], equals(1));
606 expect(result['bytes'], equals('AQAAAAAAAAA=')); 606 expect(result['bytes'], equals('AQAAAAAAAAA='));
607 Uint8List bytes = BASE64.decode(result['bytes']); 607 Uint8List bytes = BASE64.decode(result['bytes']);
608 expect(bytes.buffer.asUint64List().toString(), equals('[1]')); 608 expect(bytes.buffer.asUint64List().toString(), equals('[1]'));
609 }, 609 },
610 610
611 // Uint64List with wacky offset. 611 // Uint64List with wacky offset.
612 (Isolate isolate) async { 612 (Isolate isolate) async {
613 // Call eval to get a Dart list. 613 // Call eval to get a Dart list.
614 var evalResult = await eval(isolate, 'uint64List'); 614 var evalResult = await eval(isolate, 'uint64List');
615 var params = { 615 var params = {
616 'objectId': evalResult['id'], 616 'objectId': evalResult['id'],
617 'offset' : 100, 617 'offset' : 100,
618 'count' : 2, 618 'count' : 2,
619 }; 619 };
620 var result = await isolate.invokeRpcNoUpgrade('getObject', params); 620 var result = await isolate.invokeRpcNoUpgrade('getObject', params);
621 expect(result['type'], equals('Instance')); 621 expect(result['type'], equals('Instance'));
622 expect(result['kind'], equals('Uint64List')); 622 expect(result['kind'], equals('Uint64List'));
623 expect(result['_vmType'], equals('TypedData')); 623 expect(result['_vmType'], equals('TypedData'));
624 expect(result['id'], startsWith('objects/')); 624 expect(result['id'], startsWith('objects/'));
625 expect(result['valueAsString'], isNull); 625 expect(result['valueAsString'], isNull);
626 expect(result['class']['type'], equals('@Class')); 626 expect(result['class']['type'], equals('@Class'));
627 expect(result['class']['name'], equals('_Uint64Array')); 627 expect(result['class']['name'], equals('Uint64List'));
628 expect(result['size'], isPositive); 628 expect(result['size'], isPositive);
629 expect(result['fields'], isEmpty); 629 expect(result['fields'], isEmpty);
630 expect(result['length'], equals(3)); 630 expect(result['length'], equals(3));
631 expect(result['offset'], equals(3)); 631 expect(result['offset'], equals(3));
632 expect(result['count'], equals(0)); 632 expect(result['count'], equals(0));
633 expect(result['bytes'], equals('')); 633 expect(result['bytes'], equals(''));
634 }, 634 },
635 635
636 // An expired object. 636 // An expired object.
637 (Isolate isolate) async { 637 (Isolate isolate) async {
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after
947 caughtException = true; 947 caughtException = true;
948 expect(e.code, equals(ServerRpcException.kInvalidParams)); 948 expect(e.code, equals(ServerRpcException.kInvalidParams));
949 expect(e.message, 949 expect(e.message,
950 "getObject: invalid 'objectId' parameter: code/0"); 950 "getObject: invalid 'objectId' parameter: code/0");
951 } 951 }
952 expect(caughtException, isTrue); 952 expect(caughtException, isTrue);
953 }, 953 },
954 ]; 954 ];
955 955
956 main(args) async => runIsolateTests(args, tests, testeeBefore:warmup); 956 main(args) async => runIsolateTests(args, tests, testeeBefore:warmup);
OLDNEW
« no previous file with comments | « runtime/lib/mirrors.cc ('k') | runtime/observatory/tests/service/implicit_getter_setter_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698