| Index: runtime/observatory/tests/service/get_object_rpc_test.dart
 | 
| diff --git a/runtime/observatory/tests/service/get_object_rpc_test.dart b/runtime/observatory/tests/service/get_object_rpc_test.dart
 | 
| index fdcbaa129edca9e7215aaef66837f0b819e0ce2e..c8bc0ffcec6d03104a4589c0744e1d0696c8053f 100644
 | 
| --- a/runtime/observatory/tests/service/get_object_rpc_test.dart
 | 
| +++ b/runtime/observatory/tests/service/get_object_rpc_test.dart
 | 
| @@ -5,7 +5,9 @@
 | 
|  
 | 
|  library get_object_rpc_test;
 | 
|  
 | 
| +import 'dart:typed_data';
 | 
|  import 'package:observatory/service_io.dart';
 | 
| +import 'package:observatory/base64.dart';
 | 
|  import 'package:unittest/unittest.dart';
 | 
|  
 | 
|  import 'test_helper.dart';
 | 
| @@ -33,6 +35,9 @@ eval(Isolate isolate, String expression) async {
 | 
|    return await isolate.invokeRpcNoUpgrade('evaluate', params);
 | 
|  }
 | 
|  
 | 
| +var uint8List = new Uint8List.fromList([3, 2, 1]);
 | 
| +var uint64List = new Uint64List.fromList([3, 2, 1]);
 | 
| +
 | 
|  var tests = [
 | 
|    // null object.
 | 
|    (Isolate isolate) async {
 | 
| @@ -99,16 +104,108 @@ var tests = [
 | 
|      expect(result['class']['name'], equals('_GrowableList'));
 | 
|      expect(result['size'], isPositive);
 | 
|      expect(result['fields'], isEmpty);
 | 
| +    expect(result['length'], equals(3));
 | 
| +    expect(result['offset'], isNull);
 | 
| +    expect(result['count'], isNull);
 | 
|      expect(result['elements'].length, equals(3));
 | 
|      expect(result['elements'][0]['type'], equals('@Instance'));
 | 
|      expect(result['elements'][0]['kind'], equals('Int'));
 | 
|      expect(result['elements'][0]['valueAsString'], equals('3'));
 | 
| +    expect(result['elements'][1]['type'], equals('@Instance'));
 | 
| +    expect(result['elements'][1]['kind'], equals('Int'));
 | 
| +    expect(result['elements'][1]['valueAsString'], equals('2'));
 | 
| +    expect(result['elements'][2]['type'], equals('@Instance'));
 | 
| +    expect(result['elements'][2]['kind'], equals('Int'));
 | 
| +    expect(result['elements'][2]['valueAsString'], equals('1'));
 | 
| +  },
 | 
| +
 | 
| +  // List prefix.
 | 
| +  (Isolate isolate) async {
 | 
| +    // Call eval to get a Dart list.
 | 
| +    var evalResult = await eval(isolate, '[3, 2, 1]');
 | 
| +    var params = {
 | 
| +      'objectId': evalResult['id'],
 | 
| +      'count': 2,
 | 
| +    };
 | 
| +    var result = await isolate.invokeRpcNoUpgrade('getObject', params);
 | 
| +    expect(result['type'], equals('Instance'));
 | 
| +    expect(result['kind'], equals('List'));
 | 
| +    expect(result['_vmType'], equals('GrowableObjectArray'));
 | 
| +    expect(result['id'], startsWith('objects/'));
 | 
| +    expect(result['valueAsString'], isNull);
 | 
| +    expect(result['class']['type'], equals('@Class'));
 | 
| +    expect(result['class']['name'], equals('_GrowableList'));
 | 
| +    expect(result['size'], isPositive);
 | 
| +    expect(result['fields'], isEmpty);
 | 
| +    expect(result['length'], equals(3));
 | 
| +    expect(result['offset'], isNull);
 | 
| +    expect(result['count'], equals(2));
 | 
| +    expect(result['elements'].length, equals(2));
 | 
| +    expect(result['elements'][0]['type'], equals('@Instance'));
 | 
| +    expect(result['elements'][0]['kind'], equals('Int'));
 | 
| +    expect(result['elements'][0]['valueAsString'], equals('3'));
 | 
| +    expect(result['elements'][1]['type'], equals('@Instance'));
 | 
| +    expect(result['elements'][1]['kind'], equals('Int'));
 | 
| +    expect(result['elements'][1]['valueAsString'], equals('2'));
 | 
| +  },
 | 
| +
 | 
| +  // List suffix.
 | 
| +  (Isolate isolate) async {
 | 
| +    // Call eval to get a Dart list.
 | 
| +    var evalResult = await eval(isolate, '[3, 2, 1]');
 | 
| +    var params = {
 | 
| +      'objectId': evalResult['id'],
 | 
| +      'offset': 2,
 | 
| +      'count': 2,
 | 
| +    };
 | 
| +    var result = await isolate.invokeRpcNoUpgrade('getObject', params);
 | 
| +    expect(result['type'], equals('Instance'));
 | 
| +    expect(result['kind'], equals('List'));
 | 
| +    expect(result['_vmType'], equals('GrowableObjectArray'));
 | 
| +    expect(result['id'], startsWith('objects/'));
 | 
| +    expect(result['valueAsString'], isNull);
 | 
| +    expect(result['class']['type'], equals('@Class'));
 | 
| +    expect(result['class']['name'], equals('_GrowableList'));
 | 
| +    expect(result['size'], isPositive);
 | 
| +    expect(result['fields'], isEmpty);
 | 
| +    expect(result['length'], equals(3));
 | 
| +    expect(result['offset'], equals(2));
 | 
| +    expect(result['count'], equals(1));
 | 
| +    expect(result['elements'].length, equals(1));
 | 
| +    expect(result['elements'][0]['type'], equals('@Instance'));
 | 
| +    expect(result['elements'][0]['kind'], equals('Int'));
 | 
| +    expect(result['elements'][0]['valueAsString'], equals('1'));
 | 
| +  },
 | 
| +
 | 
| +  // List with wacky offset.
 | 
| +  (Isolate isolate) async {
 | 
| +    // Call eval to get a Dart list.
 | 
| +    var evalResult = await eval(isolate, '[3, 2, 1]');
 | 
| +    var params = {
 | 
| +      'objectId': evalResult['id'],
 | 
| +      'offset': 100,
 | 
| +      'count': 2,
 | 
| +    };
 | 
| +    var result = await isolate.invokeRpcNoUpgrade('getObject', params);
 | 
| +    expect(result['type'], equals('Instance'));
 | 
| +    expect(result['kind'], equals('List'));
 | 
| +    expect(result['_vmType'], equals('GrowableObjectArray'));
 | 
| +    expect(result['id'], startsWith('objects/'));
 | 
| +    expect(result['valueAsString'], isNull);
 | 
| +    expect(result['class']['type'], equals('@Class'));
 | 
| +    expect(result['class']['name'], equals('_GrowableList'));
 | 
| +    expect(result['size'], isPositive);
 | 
| +    expect(result['fields'], isEmpty);
 | 
| +    expect(result['length'], equals(3));
 | 
| +    expect(result['offset'], equals(3));
 | 
| +    expect(result['count'], equals(0));
 | 
| +    expect(result['elements'], isEmpty);
 | 
|    },
 | 
|  
 | 
|    // A built-in Map.
 | 
|    (Isolate isolate) async {
 | 
|      // Call eval to get a Dart map.
 | 
| -    var evalResult = await eval(isolate, '{"x": 3, "y": 4}');
 | 
| +    var evalResult = await eval(isolate, '{"x": 3, "y": 4, "z": 5}');
 | 
|      var params = {
 | 
|        'objectId': evalResult['id'],
 | 
|      };
 | 
| @@ -122,6 +219,51 @@ var tests = [
 | 
|      expect(result['class']['name'], equals('_InternalLinkedHashMap'));
 | 
|      expect(result['size'], isPositive);
 | 
|      expect(result['fields'], isEmpty);
 | 
| +    expect(result['length'], equals(3));
 | 
| +    expect(result['offset'], isNull);
 | 
| +    expect(result['count'], isNull);
 | 
| +    expect(result['associations'].length, equals(3));
 | 
| +    expect(result['associations'][0]['key']['type'], equals('@Instance'));
 | 
| +    expect(result['associations'][0]['key']['kind'], equals('String'));
 | 
| +    expect(result['associations'][0]['key']['valueAsString'], equals('x'));
 | 
| +    expect(result['associations'][0]['value']['type'], equals('@Instance'));
 | 
| +    expect(result['associations'][0]['value']['kind'], equals('Int'));
 | 
| +    expect(result['associations'][0]['value']['valueAsString'], equals('3'));
 | 
| +    expect(result['associations'][1]['key']['type'], equals('@Instance'));
 | 
| +    expect(result['associations'][1]['key']['kind'], equals('String'));
 | 
| +    expect(result['associations'][1]['key']['valueAsString'], equals('y'));
 | 
| +    expect(result['associations'][1]['value']['type'], equals('@Instance'));
 | 
| +    expect(result['associations'][1]['value']['kind'], equals('Int'));
 | 
| +    expect(result['associations'][1]['value']['valueAsString'], equals('4'));
 | 
| +    expect(result['associations'][2]['key']['type'], equals('@Instance'));
 | 
| +    expect(result['associations'][2]['key']['kind'], equals('String'));
 | 
| +    expect(result['associations'][2]['key']['valueAsString'], equals('z'));
 | 
| +    expect(result['associations'][2]['value']['type'], equals('@Instance'));
 | 
| +    expect(result['associations'][2]['value']['kind'], equals('Int'));
 | 
| +    expect(result['associations'][2]['value']['valueAsString'], equals('5'));
 | 
| +  },
 | 
| +
 | 
| +  // Map prefix.
 | 
| +  (Isolate isolate) async {
 | 
| +    // Call eval to get a Dart map.
 | 
| +    var evalResult = await eval(isolate, '{"x": 3, "y": 4, "z": 5}');
 | 
| +    var params = {
 | 
| +      'objectId': evalResult['id'],
 | 
| +      'count': 2,
 | 
| +    };
 | 
| +    var result = await isolate.invokeRpcNoUpgrade('getObject', params);
 | 
| +    expect(result['type'], equals('Instance'));
 | 
| +    expect(result['kind'], equals('Map'));
 | 
| +    expect(result['_vmType'], equals('LinkedHashMap'));
 | 
| +    expect(result['id'], startsWith('objects/'));
 | 
| +    expect(result['valueAsString'], isNull);
 | 
| +    expect(result['class']['type'], equals('@Class'));
 | 
| +    expect(result['class']['name'], equals('_InternalLinkedHashMap'));
 | 
| +    expect(result['size'], isPositive);
 | 
| +    expect(result['fields'], isEmpty);
 | 
| +    expect(result['length'], equals(3));
 | 
| +    expect(result['offset'], isNull);
 | 
| +    expect(result['count'], equals(2));
 | 
|      expect(result['associations'].length, equals(2));
 | 
|      expect(result['associations'][0]['key']['type'], equals('@Instance'));
 | 
|      expect(result['associations'][0]['key']['kind'], equals('String'));
 | 
| @@ -137,6 +279,268 @@ var tests = [
 | 
|      expect(result['associations'][1]['value']['valueAsString'], equals('4'));
 | 
|    },
 | 
|  
 | 
| +  // Map suffix.
 | 
| +  (Isolate isolate) async {
 | 
| +    // Call eval to get a Dart map.
 | 
| +    var evalResult = await eval(isolate, '{"x": 3, "y": 4, "z": 5}');
 | 
| +    var params = {
 | 
| +      'objectId': evalResult['id'],
 | 
| +      'offset': 2,
 | 
| +      'count': 2,
 | 
| +    };
 | 
| +    var result = await isolate.invokeRpcNoUpgrade('getObject', params);
 | 
| +    expect(result['type'], equals('Instance'));
 | 
| +    expect(result['kind'], equals('Map'));
 | 
| +    expect(result['_vmType'], equals('LinkedHashMap'));
 | 
| +    expect(result['id'], startsWith('objects/'));
 | 
| +    expect(result['valueAsString'], isNull);
 | 
| +    expect(result['class']['type'], equals('@Class'));
 | 
| +    expect(result['class']['name'], equals('_InternalLinkedHashMap'));
 | 
| +    expect(result['size'], isPositive);
 | 
| +    expect(result['fields'], isEmpty);
 | 
| +    expect(result['length'], equals(3));
 | 
| +    expect(result['offset'], equals(2));
 | 
| +    expect(result['count'], equals(1));
 | 
| +    expect(result['associations'].length, equals(1));
 | 
| +    expect(result['associations'][0]['key']['type'], equals('@Instance'));
 | 
| +    expect(result['associations'][0]['key']['kind'], equals('String'));
 | 
| +    expect(result['associations'][0]['key']['valueAsString'], equals('z'));
 | 
| +    expect(result['associations'][0]['value']['type'], equals('@Instance'));
 | 
| +    expect(result['associations'][0]['value']['kind'], equals('Int'));
 | 
| +    expect(result['associations'][0]['value']['valueAsString'], equals('5'));
 | 
| +  },
 | 
| +
 | 
| +  // Map with wacky offset
 | 
| +  (Isolate isolate) async {
 | 
| +    // Call eval to get a Dart map.
 | 
| +    var evalResult = await eval(isolate, '{"x": 3, "y": 4, "z": 5}');
 | 
| +    var params = {
 | 
| +      'objectId': evalResult['id'],
 | 
| +      'offset': 100,
 | 
| +      'count': 2,
 | 
| +    };
 | 
| +    var result = await isolate.invokeRpcNoUpgrade('getObject', params);
 | 
| +    expect(result['type'], equals('Instance'));
 | 
| +    expect(result['kind'], equals('Map'));
 | 
| +    expect(result['_vmType'], equals('LinkedHashMap'));
 | 
| +    expect(result['id'], startsWith('objects/'));
 | 
| +    expect(result['valueAsString'], isNull);
 | 
| +    expect(result['class']['type'], equals('@Class'));
 | 
| +    expect(result['class']['name'], equals('_InternalLinkedHashMap'));
 | 
| +    expect(result['size'], isPositive);
 | 
| +    expect(result['fields'], isEmpty);
 | 
| +    expect(result['length'], equals(3));
 | 
| +    expect(result['offset'], equals(3));
 | 
| +    expect(result['count'], equals(0));
 | 
| +    expect(result['associations'], isEmpty);
 | 
| +  },
 | 
| +
 | 
| +  // Uint8List.
 | 
| +  (Isolate isolate) async {
 | 
| +    // Call eval to get a Dart list.
 | 
| +    var evalResult = await eval(isolate, 'uint8List');
 | 
| +    var params = {
 | 
| +      'objectId': evalResult['id'],
 | 
| +    };
 | 
| +    var result = await isolate.invokeRpcNoUpgrade('getObject', params);
 | 
| +    expect(result['type'], equals('Instance'));
 | 
| +    expect(result['kind'], equals('Uint8List'));
 | 
| +    expect(result['_vmType'], equals('TypedData'));
 | 
| +    expect(result['id'], startsWith('objects/'));
 | 
| +    expect(result['valueAsString'], isNull);
 | 
| +    expect(result['class']['type'], equals('@Class'));
 | 
| +    expect(result['class']['name'], equals('_Uint8Array'));
 | 
| +    expect(result['size'], isPositive);
 | 
| +    expect(result['fields'], isEmpty);
 | 
| +    expect(result['length'], equals(3));
 | 
| +    expect(result['offset'], isNull);
 | 
| +    expect(result['count'], isNull);
 | 
| +    expect(result['bytes'], equals('AwIB'));
 | 
| +    var bytes = decodeBase64(result['bytes']);
 | 
| +    expect(bytes.buffer.asUint8List().toString(), equals('[3, 2, 1]'));
 | 
| +  },
 | 
| +
 | 
| +  // Uint8List prefix.
 | 
| +  (Isolate isolate) async {
 | 
| +    // Call eval to get a Dart list.
 | 
| +    var evalResult = await eval(isolate, 'uint8List');
 | 
| +    var params = {
 | 
| +      'objectId': evalResult['id'],
 | 
| +      'count' : 2,
 | 
| +    };
 | 
| +    var result = await isolate.invokeRpcNoUpgrade('getObject', params);
 | 
| +    expect(result['type'], equals('Instance'));
 | 
| +    expect(result['kind'], equals('Uint8List'));
 | 
| +    expect(result['_vmType'], equals('TypedData'));
 | 
| +    expect(result['id'], startsWith('objects/'));
 | 
| +    expect(result['valueAsString'], isNull);
 | 
| +    expect(result['class']['type'], equals('@Class'));
 | 
| +    expect(result['class']['name'], equals('_Uint8Array'));
 | 
| +    expect(result['size'], isPositive);
 | 
| +    expect(result['fields'], isEmpty);
 | 
| +    expect(result['length'], equals(3));
 | 
| +    expect(result['offset'], isNull);
 | 
| +    expect(result['count'], equals(2));
 | 
| +    expect(result['bytes'], equals('AwI='));
 | 
| +    var bytes = decodeBase64(result['bytes']);
 | 
| +    expect(bytes.buffer.asUint8List().toString(), equals('[3, 2]'));
 | 
| +  },
 | 
| +
 | 
| +  // Uint8List suffix.
 | 
| +  (Isolate isolate) async {
 | 
| +    // Call eval to get a Dart list.
 | 
| +    var evalResult = await eval(isolate, 'uint8List');
 | 
| +    var params = {
 | 
| +      'objectId': evalResult['id'],
 | 
| +      'offset' : 2,
 | 
| +      'count' : 2,
 | 
| +    };
 | 
| +    var result = await isolate.invokeRpcNoUpgrade('getObject', params);
 | 
| +    expect(result['type'], equals('Instance'));
 | 
| +    expect(result['kind'], equals('Uint8List'));
 | 
| +    expect(result['_vmType'], equals('TypedData'));
 | 
| +    expect(result['id'], startsWith('objects/'));
 | 
| +    expect(result['valueAsString'], isNull);
 | 
| +    expect(result['class']['type'], equals('@Class'));
 | 
| +    expect(result['class']['name'], equals('_Uint8Array'));
 | 
| +    expect(result['size'], isPositive);
 | 
| +    expect(result['fields'], isEmpty);
 | 
| +    expect(result['length'], equals(3));
 | 
| +    expect(result['offset'], equals(2));
 | 
| +    expect(result['count'], equals(1));
 | 
| +    expect(result['bytes'], equals('AQ=='));
 | 
| +    var bytes = decodeBase64(result['bytes']);
 | 
| +    expect(bytes.buffer.asUint8List().toString(), equals('[1]'));
 | 
| +  },
 | 
| +
 | 
| +  // Uint8List with wacky offset.
 | 
| +  (Isolate isolate) async {
 | 
| +    // Call eval to get a Dart list.
 | 
| +    var evalResult = await eval(isolate, 'uint8List');
 | 
| +    var params = {
 | 
| +      'objectId': evalResult['id'],
 | 
| +      'offset' : 100,
 | 
| +      'count' : 2,
 | 
| +    };
 | 
| +    var result = await isolate.invokeRpcNoUpgrade('getObject', params);
 | 
| +    expect(result['type'], equals('Instance'));
 | 
| +    expect(result['kind'], equals('Uint8List'));
 | 
| +    expect(result['_vmType'], equals('TypedData'));
 | 
| +    expect(result['id'], startsWith('objects/'));
 | 
| +    expect(result['valueAsString'], isNull);
 | 
| +    expect(result['class']['type'], equals('@Class'));
 | 
| +    expect(result['class']['name'], equals('_Uint8Array'));
 | 
| +    expect(result['size'], isPositive);
 | 
| +    expect(result['fields'], isEmpty);
 | 
| +    expect(result['length'], equals(3));
 | 
| +    expect(result['offset'], equals(3));
 | 
| +    expect(result['count'], equals(0));
 | 
| +    expect(result['bytes'], equals(''));
 | 
| +  },
 | 
| +
 | 
| +  // Uint64List.
 | 
| +  (Isolate isolate) async {
 | 
| +    // Call eval to get a Dart list.
 | 
| +    var evalResult = await eval(isolate, 'uint64List');
 | 
| +    var params = {
 | 
| +      'objectId': evalResult['id'],
 | 
| +    };
 | 
| +    var result = await isolate.invokeRpcNoUpgrade('getObject', params);
 | 
| +    expect(result['type'], equals('Instance'));
 | 
| +    expect(result['kind'], equals('Uint64List'));
 | 
| +    expect(result['_vmType'], equals('TypedData'));
 | 
| +    expect(result['id'], startsWith('objects/'));
 | 
| +    expect(result['valueAsString'], isNull);
 | 
| +    expect(result['class']['type'], equals('@Class'));
 | 
| +    expect(result['class']['name'], equals('_Uint64Array'));
 | 
| +    expect(result['size'], isPositive);
 | 
| +    expect(result['fields'], isEmpty);
 | 
| +    expect(result['length'], equals(3));
 | 
| +    expect(result['offset'], isNull);
 | 
| +    expect(result['count'], isNull);
 | 
| +    expect(result['bytes'], equals('AwAAAAAAAAACAAAAAAAAAAEAAAAAAAAA'));
 | 
| +    var bytes = decodeBase64(result['bytes']);
 | 
| +    expect(bytes.buffer.asUint64List().toString(), equals('[3, 2, 1]'));
 | 
| +  },
 | 
| +
 | 
| +  // Uint64List prefix.
 | 
| +  (Isolate isolate) async {
 | 
| +    // Call eval to get a Dart list.
 | 
| +    var evalResult = await eval(isolate, 'uint64List');
 | 
| +    var params = {
 | 
| +      'objectId': evalResult['id'],
 | 
| +      'count' : 2,
 | 
| +    };
 | 
| +    var result = await isolate.invokeRpcNoUpgrade('getObject', params);
 | 
| +    expect(result['type'], equals('Instance'));
 | 
| +    expect(result['kind'], equals('Uint64List'));
 | 
| +    expect(result['_vmType'], equals('TypedData'));
 | 
| +    expect(result['id'], startsWith('objects/'));
 | 
| +    expect(result['valueAsString'], isNull);
 | 
| +    expect(result['class']['type'], equals('@Class'));
 | 
| +    expect(result['class']['name'], equals('_Uint64Array'));
 | 
| +    expect(result['size'], isPositive);
 | 
| +    expect(result['fields'], isEmpty);
 | 
| +    expect(result['length'], equals(3));
 | 
| +    expect(result['offset'], isNull);
 | 
| +    expect(result['count'], equals(2));
 | 
| +    expect(result['bytes'], equals('AwAAAAAAAAACAAAAAAAAAA=='));
 | 
| +    var bytes = decodeBase64(result['bytes']);
 | 
| +    expect(bytes.buffer.asUint64List().toString(), equals('[3, 2]'));
 | 
| +  },
 | 
| +
 | 
| +  // Uint64List suffix.
 | 
| +  (Isolate isolate) async {
 | 
| +    // Call eval to get a Dart list.
 | 
| +    var evalResult = await eval(isolate, 'uint64List');
 | 
| +    var params = {
 | 
| +      'objectId': evalResult['id'],
 | 
| +      'offset' : 2,
 | 
| +      'count' : 2,
 | 
| +    };
 | 
| +    var result = await isolate.invokeRpcNoUpgrade('getObject', params);
 | 
| +    expect(result['type'], equals('Instance'));
 | 
| +    expect(result['kind'], equals('Uint64List'));
 | 
| +    expect(result['_vmType'], equals('TypedData'));
 | 
| +    expect(result['id'], startsWith('objects/'));
 | 
| +    expect(result['valueAsString'], isNull);
 | 
| +    expect(result['class']['type'], equals('@Class'));
 | 
| +    expect(result['class']['name'], equals('_Uint64Array'));
 | 
| +    expect(result['size'], isPositive);
 | 
| +    expect(result['fields'], isEmpty);
 | 
| +    expect(result['length'], equals(3));
 | 
| +    expect(result['offset'], equals(2));
 | 
| +    expect(result['count'], equals(1));
 | 
| +    expect(result['bytes'], equals('AQAAAAAAAAA='));
 | 
| +    var bytes = decodeBase64(result['bytes']);
 | 
| +    expect(bytes.buffer.asUint64List().toString(), equals('[1]'));
 | 
| +  },
 | 
| +
 | 
| +  // Uint64List with wacky offset.
 | 
| +  (Isolate isolate) async {
 | 
| +    // Call eval to get a Dart list.
 | 
| +    var evalResult = await eval(isolate, 'uint64List');
 | 
| +    var params = {
 | 
| +      'objectId': evalResult['id'],
 | 
| +      'offset' : 100,
 | 
| +      'count' : 2,
 | 
| +    };
 | 
| +    var result = await isolate.invokeRpcNoUpgrade('getObject', params);
 | 
| +    expect(result['type'], equals('Instance'));
 | 
| +    expect(result['kind'], equals('Uint64List'));
 | 
| +    expect(result['_vmType'], equals('TypedData'));
 | 
| +    expect(result['id'], startsWith('objects/'));
 | 
| +    expect(result['valueAsString'], isNull);
 | 
| +    expect(result['class']['type'], equals('@Class'));
 | 
| +    expect(result['class']['name'], equals('_Uint64Array'));
 | 
| +    expect(result['size'], isPositive);
 | 
| +    expect(result['fields'], isEmpty);
 | 
| +    expect(result['length'], equals(3));
 | 
| +    expect(result['offset'], equals(3));
 | 
| +    expect(result['count'], equals(0));
 | 
| +    expect(result['bytes'], equals(''));
 | 
| +  },
 | 
| +
 | 
|    // An expired object.
 | 
|    (Isolate isolate) async {
 | 
|      var params = {
 | 
| 
 |