| 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 // VMOptions=--compile-all --error_on_bad_type --error_on_bad_override | 4 // VMOptions=--compile-all --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 'package:observatory/service_io.dart'; | 8 import 'package:observatory/service_io.dart'; |
| 9 import 'package:unittest/unittest.dart'; | 9 import 'package:unittest/unittest.dart'; |
| 10 | 10 |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 205 var params = { | 205 var params = { |
| 206 'objectId': evalResult['class']['id'], | 206 'objectId': evalResult['class']['id'], |
| 207 }; | 207 }; |
| 208 var result = await isolate.invokeRpcNoUpgrade('getObject', params); | 208 var result = await isolate.invokeRpcNoUpgrade('getObject', params); |
| 209 expect(result['type'], equals('Class')); | 209 expect(result['type'], equals('Class')); |
| 210 expect(result['id'], startsWith('classes/')); | 210 expect(result['id'], startsWith('classes/')); |
| 211 expect(result['name'], equals('_DummyClass')); | 211 expect(result['name'], equals('_DummyClass')); |
| 212 expect(result['_vmName'], startsWith('_DummyClass@')); | 212 expect(result['_vmName'], startsWith('_DummyClass@')); |
| 213 expect(result['abstract'], equals(false)); | 213 expect(result['abstract'], equals(false)); |
| 214 expect(result['const'], equals(false)); | 214 expect(result['const'], equals(false)); |
| 215 expect(result['finalized'], equals(true)); | 215 expect(result['_finalized'], equals(true)); |
| 216 expect(result['implemented'], equals(false)); | 216 expect(result['_implemented'], equals(false)); |
| 217 expect(result['patch'], equals(false)); | 217 expect(result['_patch'], equals(false)); |
| 218 expect(result['library']['type'], equals('@Library')); | 218 expect(result['library']['type'], equals('@Library')); |
| 219 expect(result['script']['type'], equals('@Script')); | 219 expect(result['script']['type'], equals('@Script')); |
| 220 expect(result['super']['type'], equals('@Class')); | 220 expect(result['super']['type'], equals('@Class')); |
| 221 expect(result['interfaces'].length, isZero); | 221 expect(result['interfaces'].length, isZero); |
| 222 expect(result['fields'].length, isPositive); | 222 expect(result['fields'].length, isPositive); |
| 223 expect(result['fields'][0]['type'], equals('@Field')); | 223 expect(result['fields'][0]['type'], equals('@Field')); |
| 224 expect(result['functions'].length, isPositive); | 224 expect(result['functions'].length, isPositive); |
| 225 expect(result['functions'][0]['type'], equals('@Function')); | 225 expect(result['functions'][0]['type'], equals('@Function')); |
| 226 expect(result['subclasses'].length, isPositive); | 226 expect(result['subclasses'].length, isPositive); |
| 227 expect(result['subclasses'][0]['type'], equals('@Class')); | 227 expect(result['subclasses'][0]['type'], equals('@Class')); |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 289 // Call eval to get a class id. | 289 // Call eval to get a class id. |
| 290 var evalResult = await eval(isolate, 'new _DummyClass()'); | 290 var evalResult = await eval(isolate, 'new _DummyClass()'); |
| 291 var id = "${evalResult['class']['id']}/functions/dummyFunction"; | 291 var id = "${evalResult['class']['id']}/functions/dummyFunction"; |
| 292 var params = { | 292 var params = { |
| 293 'objectId': id, | 293 'objectId': id, |
| 294 }; | 294 }; |
| 295 var result = await isolate.invokeRpcNoUpgrade('getObject', params); | 295 var result = await isolate.invokeRpcNoUpgrade('getObject', params); |
| 296 expect(result['type'], equals('Function')); | 296 expect(result['type'], equals('Function')); |
| 297 expect(result['id'], equals(id)); | 297 expect(result['id'], equals(id)); |
| 298 expect(result['name'], equals('dummyFunction')); | 298 expect(result['name'], equals('dummyFunction')); |
| 299 expect(result['kind'], equals('RegularFunction')); | 299 expect(result['_kind'], equals('RegularFunction')); |
| 300 expect(result['static'], equals(false)); | 300 expect(result['static'], equals(false)); |
| 301 expect(result['const'], equals(false)); | 301 expect(result['const'], equals(false)); |
| 302 expect(result['script']['type'], equals('@Script')); | 302 expect(result['script']['type'], equals('@Script')); |
| 303 expect(result['tokenPos'], isPositive); | 303 expect(result['tokenPos'], isPositive); |
| 304 expect(result['code']['type'], equals('@Code')); | 304 expect(result['code']['type'], equals('@Code')); |
| 305 expect(result['_optimizable'], equals(true)); | 305 expect(result['_optimizable'], equals(true)); |
| 306 expect(result['_inlinable'], equals(true)); | 306 expect(result['_inlinable'], equals(true)); |
| 307 expect(result['_usageCounter'], isPositive); | 307 expect(result['_usageCounter'], isPositive); |
| 308 expect(result['_optimizedCallSiteCount'], isZero); | 308 expect(result['_optimizedCallSiteCount'], isZero); |
| 309 expect(result['_deoptimizations'], isZero); | 309 expect(result['_deoptimizations'], isZero); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 335 // Call eval to get a class id. | 335 // Call eval to get a class id. |
| 336 var evalResult = await eval(isolate, 'new _DummyClass()'); | 336 var evalResult = await eval(isolate, 'new _DummyClass()'); |
| 337 var id = "${evalResult['class']['id']}/fields/0"; | 337 var id = "${evalResult['class']['id']}/fields/0"; |
| 338 var params = { | 338 var params = { |
| 339 'objectId': id, | 339 'objectId': id, |
| 340 }; | 340 }; |
| 341 var result = await isolate.invokeRpcNoUpgrade('getObject', params); | 341 var result = await isolate.invokeRpcNoUpgrade('getObject', params); |
| 342 expect(result['type'], equals('Field')); | 342 expect(result['type'], equals('Field')); |
| 343 expect(result['id'], equals(id)); | 343 expect(result['id'], equals(id)); |
| 344 expect(result['name'], equals('dummyVar')); | 344 expect(result['name'], equals('dummyVar')); |
| 345 expect(result['value']['valueAsString'], equals('11')); | |
| 346 expect(result['const'], equals(false)); | 345 expect(result['const'], equals(false)); |
| 347 expect(result['static'], equals(true)); | 346 expect(result['static'], equals(true)); |
| 348 expect(result['final'], equals(false)); | 347 expect(result['final'], equals(false)); |
| 349 expect(result['script']['type'], equals('@Script')); | 348 expect(result['script']['type'], equals('@Script')); |
| 350 expect(result['tokenPos'], isPositive); | 349 expect(result['tokenPos'], isPositive); |
| 350 expect(result['staticValue']['valueAsString'], equals('11')); |
| 351 expect(result['_guardNullable'], isNotNull); | 351 expect(result['_guardNullable'], isNotNull); |
| 352 expect(result['_guardClass'], isNotNull); | 352 expect(result['_guardClass'], isNotNull); |
| 353 expect(result['_guardLength'], isNotNull); | 353 expect(result['_guardLength'], isNotNull); |
| 354 }, | 354 }, |
| 355 | 355 |
| 356 // invalid field. | 356 // invalid field. |
| 357 (Isolate isolate) async { | 357 (Isolate isolate) async { |
| 358 // Call eval to get a class id. | 358 // Call eval to get a class id. |
| 359 var evalResult = await eval(isolate, 'new _DummyClass()'); | 359 var evalResult = await eval(isolate, 'new _DummyClass()'); |
| 360 var id = "${evalResult['class']['id']}/fields/9999"; | 360 var id = "${evalResult['class']['id']}/fields/9999"; |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 415 caughtException = true; | 415 caughtException = true; |
| 416 expect(e.code, equals(ServerRpcException.kInvalidParams)); | 416 expect(e.code, equals(ServerRpcException.kInvalidParams)); |
| 417 expect(e.message, | 417 expect(e.message, |
| 418 "getObject: invalid 'objectId' parameter: code/0"); | 418 "getObject: invalid 'objectId' parameter: code/0"); |
| 419 } | 419 } |
| 420 expect(caughtException, isTrue); | 420 expect(caughtException, isTrue); |
| 421 }, | 421 }, |
| 422 ]; | 422 ]; |
| 423 | 423 |
| 424 main(args) async => runIsolateTests(args, tests, testeeBefore:warmup); | 424 main(args) async => runIsolateTests(args, tests, testeeBefore:warmup); |
| OLD | NEW |