| Index: tests/standalone/vmservice/isolate_function_test.dart
|
| diff --git a/tests/standalone/vmservice/isolate_function_test.dart b/tests/standalone/vmservice/isolate_function_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..369616b62fcc422e0ceae7c0d634b9d591a5265a
|
| --- /dev/null
|
| +++ b/tests/standalone/vmservice/isolate_function_test.dart
|
| @@ -0,0 +1,80 @@
|
| +// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +library isolate_class_test;
|
| +
|
| +import 'dart:async';
|
| +import 'test_helper.dart';
|
| +import 'package:expect/expect.dart';
|
| +
|
| +class MethodTest extends VmServiceRequestHelper {
|
| + MethodTest(port, id, functionId) :
|
| + super('http://127.0.0.1:$port/isolates/$id/functions/$functionId');
|
| + onRequestCompleted(Map reply) {
|
| + Expect.equals('Function', reply['type']);
|
| + Expect.equals('C.c', reply['name']);
|
| + Expect.equals(false, reply['is_static']);
|
| + }
|
| +}
|
| +
|
| +class FunctionTest extends VmServiceRequestHelper {
|
| + FunctionTest(port, id, functionId) :
|
| + super('http://127.0.0.1:$port/isolates/$id/functions/$functionId');
|
| +
|
| + onRequestCompleted(Map reply) {
|
| + Expect.equals('Function', reply['type']);
|
| + Expect.equals('a', reply['name']);
|
| + Expect.equals(true, reply['is_static']);
|
| + }
|
| +}
|
| +
|
| +class StackTraceTest extends VmServiceRequestHelper {
|
| + StackTraceTest(port, id) :
|
| + super('http://127.0.0.1:$port/isolates/$id/stacktrace');
|
| +
|
| + int _aId;
|
| + int _cId;
|
| + onRequestCompleted(Map reply) {
|
| + Expect.equals('StackTrace', reply['type']);
|
| + List members = reply['members'];
|
| + Expect.equals('a', members[0]['name']);
|
| + _aId = members[0]['function']['id'];
|
| + Expect.equals('c', members[2]['name']);
|
| + _cId = members[2]['function']['id'];
|
| + }
|
| +}
|
| +
|
| +class IsolateListTest extends VmServiceRequestHelper {
|
| + IsolateListTest(port) : super('http://127.0.0.1:$port/isolates');
|
| +
|
| + int _isolateId;
|
| + onRequestCompleted(Map reply) {
|
| + IsolateListTester tester = new IsolateListTester(reply);
|
| + tester.checkIsolateCount(2);
|
| + tester.checkIsolateNameContains('isolate_stacktrace_command_script.dart');
|
| + _isolateId = tester.checkIsolateNameContains('myIsolateName');
|
| + }
|
| +}
|
| +
|
| +main() {
|
| + var process = new TestLauncher('isolate_stacktrace_command_script.dart');
|
| + process.launch().then((port) {
|
| + var test = new IsolateListTest(port);
|
| + test.makeRequest().then((_) {
|
| + var stackTraceTest =
|
| + new StackTraceTest(port, test._isolateId);
|
| + stackTraceTest.makeRequest().then((_) {
|
| + var functionTest = new FunctionTest(port, test._isolateId,
|
| + stackTraceTest._aId);
|
| + functionTest.makeRequest().then((_) {
|
| + var methodTest = new MethodTest(port, test._isolateId,
|
| + stackTraceTest._cId);
|
| + methodTest.makeRequest().then((_) {
|
| + process.requestExit();
|
| + });
|
| + });
|
| + });
|
| + });
|
| + });
|
| +}
|
|
|