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

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

Issue 1374113006: Use the new Base64 support from dart:convert in Observatory. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 1 month 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
« no previous file with comments | « runtime/observatory/observatory_sources.gypi ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 'package:observatory/service_io.dart'; 10 import 'package:observatory/service_io.dart';
10 import 'package:observatory/base64.dart';
11 import 'package:unittest/unittest.dart'; 11 import 'package:unittest/unittest.dart';
12
13 import 'test_helper.dart'; 12 import 'test_helper.dart';
14 13
15 class _DummyClass { 14 class _DummyClass {
16 static var dummyVar = 11; 15 static var dummyVar = 11;
17 void dummyFunction() { 16 void dummyFunction() {
18 } 17 }
19 } 18 }
20 19
21 class _DummySubClass extends _DummyClass { 20 class _DummySubClass extends _DummyClass {
22 } 21 }
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 expect(result['id'], startsWith('objects/')); 348 expect(result['id'], startsWith('objects/'));
350 expect(result['valueAsString'], isNull); 349 expect(result['valueAsString'], isNull);
351 expect(result['class']['type'], equals('@Class')); 350 expect(result['class']['type'], equals('@Class'));
352 expect(result['class']['name'], equals('_Uint8Array')); 351 expect(result['class']['name'], equals('_Uint8Array'));
353 expect(result['size'], isPositive); 352 expect(result['size'], isPositive);
354 expect(result['fields'], isEmpty); 353 expect(result['fields'], isEmpty);
355 expect(result['length'], equals(3)); 354 expect(result['length'], equals(3));
356 expect(result['offset'], isNull); 355 expect(result['offset'], isNull);
357 expect(result['count'], isNull); 356 expect(result['count'], isNull);
358 expect(result['bytes'], equals('AwIB')); 357 expect(result['bytes'], equals('AwIB'));
359 var bytes = decodeBase64(result['bytes']); 358 var bytes = BASE64.decode(result['bytes']);
360 expect(bytes.buffer.asUint8List().toString(), equals('[3, 2, 1]')); 359 expect(bytes.buffer.asUint8List().toString(), equals('[3, 2, 1]'));
361 }, 360 },
362 361
363 // Uint8List prefix. 362 // Uint8List prefix.
364 (Isolate isolate) async { 363 (Isolate isolate) async {
365 // Call eval to get a Dart list. 364 // Call eval to get a Dart list.
366 var evalResult = await eval(isolate, 'uint8List'); 365 var evalResult = await eval(isolate, 'uint8List');
367 var params = { 366 var params = {
368 'objectId': evalResult['id'], 367 'objectId': evalResult['id'],
369 'count' : 2, 368 'count' : 2,
370 }; 369 };
371 var result = await isolate.invokeRpcNoUpgrade('getObject', params); 370 var result = await isolate.invokeRpcNoUpgrade('getObject', params);
372 expect(result['type'], equals('Instance')); 371 expect(result['type'], equals('Instance'));
373 expect(result['kind'], equals('Uint8List')); 372 expect(result['kind'], equals('Uint8List'));
374 expect(result['_vmType'], equals('TypedData')); 373 expect(result['_vmType'], equals('TypedData'));
375 expect(result['id'], startsWith('objects/')); 374 expect(result['id'], startsWith('objects/'));
376 expect(result['valueAsString'], isNull); 375 expect(result['valueAsString'], isNull);
377 expect(result['class']['type'], equals('@Class')); 376 expect(result['class']['type'], equals('@Class'));
378 expect(result['class']['name'], equals('_Uint8Array')); 377 expect(result['class']['name'], equals('_Uint8Array'));
379 expect(result['size'], isPositive); 378 expect(result['size'], isPositive);
380 expect(result['fields'], isEmpty); 379 expect(result['fields'], isEmpty);
381 expect(result['length'], equals(3)); 380 expect(result['length'], equals(3));
382 expect(result['offset'], isNull); 381 expect(result['offset'], isNull);
383 expect(result['count'], equals(2)); 382 expect(result['count'], equals(2));
384 expect(result['bytes'], equals('AwI=')); 383 expect(result['bytes'], equals('AwI='));
385 var bytes = decodeBase64(result['bytes']); 384 var bytes = BASE64.decode(result['bytes']);
386 expect(bytes.buffer.asUint8List().toString(), equals('[3, 2]')); 385 expect(bytes.buffer.asUint8List().toString(), equals('[3, 2]'));
387 }, 386 },
388 387
389 // Uint8List suffix. 388 // Uint8List suffix.
390 (Isolate isolate) async { 389 (Isolate isolate) async {
391 // Call eval to get a Dart list. 390 // Call eval to get a Dart list.
392 var evalResult = await eval(isolate, 'uint8List'); 391 var evalResult = await eval(isolate, 'uint8List');
393 var params = { 392 var params = {
394 'objectId': evalResult['id'], 393 'objectId': evalResult['id'],
395 'offset' : 2, 394 'offset' : 2,
396 'count' : 2, 395 'count' : 2,
397 }; 396 };
398 var result = await isolate.invokeRpcNoUpgrade('getObject', params); 397 var result = await isolate.invokeRpcNoUpgrade('getObject', params);
399 expect(result['type'], equals('Instance')); 398 expect(result['type'], equals('Instance'));
400 expect(result['kind'], equals('Uint8List')); 399 expect(result['kind'], equals('Uint8List'));
401 expect(result['_vmType'], equals('TypedData')); 400 expect(result['_vmType'], equals('TypedData'));
402 expect(result['id'], startsWith('objects/')); 401 expect(result['id'], startsWith('objects/'));
403 expect(result['valueAsString'], isNull); 402 expect(result['valueAsString'], isNull);
404 expect(result['class']['type'], equals('@Class')); 403 expect(result['class']['type'], equals('@Class'));
405 expect(result['class']['name'], equals('_Uint8Array')); 404 expect(result['class']['name'], equals('_Uint8Array'));
406 expect(result['size'], isPositive); 405 expect(result['size'], isPositive);
407 expect(result['fields'], isEmpty); 406 expect(result['fields'], isEmpty);
408 expect(result['length'], equals(3)); 407 expect(result['length'], equals(3));
409 expect(result['offset'], equals(2)); 408 expect(result['offset'], equals(2));
410 expect(result['count'], equals(1)); 409 expect(result['count'], equals(1));
411 expect(result['bytes'], equals('AQ==')); 410 expect(result['bytes'], equals('AQ=='));
412 var bytes = decodeBase64(result['bytes']); 411 var bytes = BASE64.decode(result['bytes']);
413 expect(bytes.buffer.asUint8List().toString(), equals('[1]')); 412 expect(bytes.buffer.asUint8List().toString(), equals('[1]'));
414 }, 413 },
415 414
416 // Uint8List with wacky offset. 415 // Uint8List with wacky offset.
417 (Isolate isolate) async { 416 (Isolate isolate) async {
418 // Call eval to get a Dart list. 417 // Call eval to get a Dart list.
419 var evalResult = await eval(isolate, 'uint8List'); 418 var evalResult = await eval(isolate, 'uint8List');
420 var params = { 419 var params = {
421 'objectId': evalResult['id'], 420 'objectId': evalResult['id'],
422 'offset' : 100, 421 'offset' : 100,
(...skipping 29 matching lines...) Expand all
452 expect(result['id'], startsWith('objects/')); 451 expect(result['id'], startsWith('objects/'));
453 expect(result['valueAsString'], isNull); 452 expect(result['valueAsString'], isNull);
454 expect(result['class']['type'], equals('@Class')); 453 expect(result['class']['type'], equals('@Class'));
455 expect(result['class']['name'], equals('_Uint64Array')); 454 expect(result['class']['name'], equals('_Uint64Array'));
456 expect(result['size'], isPositive); 455 expect(result['size'], isPositive);
457 expect(result['fields'], isEmpty); 456 expect(result['fields'], isEmpty);
458 expect(result['length'], equals(3)); 457 expect(result['length'], equals(3));
459 expect(result['offset'], isNull); 458 expect(result['offset'], isNull);
460 expect(result['count'], isNull); 459 expect(result['count'], isNull);
461 expect(result['bytes'], equals('AwAAAAAAAAACAAAAAAAAAAEAAAAAAAAA')); 460 expect(result['bytes'], equals('AwAAAAAAAAACAAAAAAAAAAEAAAAAAAAA'));
462 var bytes = decodeBase64(result['bytes']); 461 var bytes = BASE64.decode(result['bytes']);
463 expect(bytes.buffer.asUint64List().toString(), equals('[3, 2, 1]')); 462 expect(bytes.buffer.asUint64List().toString(), equals('[3, 2, 1]'));
464 }, 463 },
465 464
466 // Uint64List prefix. 465 // Uint64List prefix.
467 (Isolate isolate) async { 466 (Isolate isolate) async {
468 // Call eval to get a Dart list. 467 // Call eval to get a Dart list.
469 var evalResult = await eval(isolate, 'uint64List'); 468 var evalResult = await eval(isolate, 'uint64List');
470 var params = { 469 var params = {
471 'objectId': evalResult['id'], 470 'objectId': evalResult['id'],
472 'count' : 2, 471 'count' : 2,
473 }; 472 };
474 var result = await isolate.invokeRpcNoUpgrade('getObject', params); 473 var result = await isolate.invokeRpcNoUpgrade('getObject', params);
475 expect(result['type'], equals('Instance')); 474 expect(result['type'], equals('Instance'));
476 expect(result['kind'], equals('Uint64List')); 475 expect(result['kind'], equals('Uint64List'));
477 expect(result['_vmType'], equals('TypedData')); 476 expect(result['_vmType'], equals('TypedData'));
478 expect(result['id'], startsWith('objects/')); 477 expect(result['id'], startsWith('objects/'));
479 expect(result['valueAsString'], isNull); 478 expect(result['valueAsString'], isNull);
480 expect(result['class']['type'], equals('@Class')); 479 expect(result['class']['type'], equals('@Class'));
481 expect(result['class']['name'], equals('_Uint64Array')); 480 expect(result['class']['name'], equals('_Uint64Array'));
482 expect(result['size'], isPositive); 481 expect(result['size'], isPositive);
483 expect(result['fields'], isEmpty); 482 expect(result['fields'], isEmpty);
484 expect(result['length'], equals(3)); 483 expect(result['length'], equals(3));
485 expect(result['offset'], isNull); 484 expect(result['offset'], isNull);
486 expect(result['count'], equals(2)); 485 expect(result['count'], equals(2));
487 expect(result['bytes'], equals('AwAAAAAAAAACAAAAAAAAAA==')); 486 expect(result['bytes'], equals('AwAAAAAAAAACAAAAAAAAAA=='));
488 var bytes = decodeBase64(result['bytes']); 487 var bytes = BASE64.decode(result['bytes']);
489 expect(bytes.buffer.asUint64List().toString(), equals('[3, 2]')); 488 expect(bytes.buffer.asUint64List().toString(), equals('[3, 2]'));
490 }, 489 },
491 490
492 // Uint64List suffix. 491 // Uint64List suffix.
493 (Isolate isolate) async { 492 (Isolate isolate) async {
494 // Call eval to get a Dart list. 493 // Call eval to get a Dart list.
495 var evalResult = await eval(isolate, 'uint64List'); 494 var evalResult = await eval(isolate, 'uint64List');
496 var params = { 495 var params = {
497 'objectId': evalResult['id'], 496 'objectId': evalResult['id'],
498 'offset' : 2, 497 'offset' : 2,
499 'count' : 2, 498 'count' : 2,
500 }; 499 };
501 var result = await isolate.invokeRpcNoUpgrade('getObject', params); 500 var result = await isolate.invokeRpcNoUpgrade('getObject', params);
502 expect(result['type'], equals('Instance')); 501 expect(result['type'], equals('Instance'));
503 expect(result['kind'], equals('Uint64List')); 502 expect(result['kind'], equals('Uint64List'));
504 expect(result['_vmType'], equals('TypedData')); 503 expect(result['_vmType'], equals('TypedData'));
505 expect(result['id'], startsWith('objects/')); 504 expect(result['id'], startsWith('objects/'));
506 expect(result['valueAsString'], isNull); 505 expect(result['valueAsString'], isNull);
507 expect(result['class']['type'], equals('@Class')); 506 expect(result['class']['type'], equals('@Class'));
508 expect(result['class']['name'], equals('_Uint64Array')); 507 expect(result['class']['name'], equals('_Uint64Array'));
509 expect(result['size'], isPositive); 508 expect(result['size'], isPositive);
510 expect(result['fields'], isEmpty); 509 expect(result['fields'], isEmpty);
511 expect(result['length'], equals(3)); 510 expect(result['length'], equals(3));
512 expect(result['offset'], equals(2)); 511 expect(result['offset'], equals(2));
513 expect(result['count'], equals(1)); 512 expect(result['count'], equals(1));
514 expect(result['bytes'], equals('AQAAAAAAAAA=')); 513 expect(result['bytes'], equals('AQAAAAAAAAA='));
515 var bytes = decodeBase64(result['bytes']); 514 var bytes = BASE64.decode(result['bytes']);
516 expect(bytes.buffer.asUint64List().toString(), equals('[1]')); 515 expect(bytes.buffer.asUint64List().toString(), equals('[1]'));
517 }, 516 },
518 517
519 // Uint64List with wacky offset. 518 // Uint64List with wacky offset.
520 (Isolate isolate) async { 519 (Isolate isolate) async {
521 // Call eval to get a Dart list. 520 // Call eval to get a Dart list.
522 var evalResult = await eval(isolate, 'uint64List'); 521 var evalResult = await eval(isolate, 'uint64List');
523 var params = { 522 var params = {
524 'objectId': evalResult['id'], 523 'objectId': evalResult['id'],
525 'offset' : 100, 524 'offset' : 100,
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after
855 caughtException = true; 854 caughtException = true;
856 expect(e.code, equals(ServerRpcException.kInvalidParams)); 855 expect(e.code, equals(ServerRpcException.kInvalidParams));
857 expect(e.message, 856 expect(e.message,
858 "getObject: invalid 'objectId' parameter: code/0"); 857 "getObject: invalid 'objectId' parameter: code/0");
859 } 858 }
860 expect(caughtException, isTrue); 859 expect(caughtException, isTrue);
861 }, 860 },
862 ]; 861 ];
863 862
864 main(args) async => runIsolateTests(args, tests, testeeBefore:warmup); 863 main(args) async => runIsolateTests(args, tests, testeeBefore:warmup);
OLDNEW
« no previous file with comments | « runtime/observatory/observatory_sources.gypi ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698