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

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

Issue 1537523002: Add dart:developer.postEvent for posting events to the service protocol from Dart code (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years 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 import 'dart:async'; 6 import 'dart:async';
7 import 'dart:convert'; 7 import 'dart:convert';
8 import 'dart:developer'; 8 import 'dart:developer';
9 import 'package:observatory/service_io.dart'; 9 import 'package:observatory/service_io.dart';
10 import 'package:observatory/cpu_profile.dart'; 10 import 'package:observatory/cpu_profile.dart';
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 49
50 Future<ServiceExtensionResponse> LanguageErrorHandler(String method, 50 Future<ServiceExtensionResponse> LanguageErrorHandler(String method,
51 Map paremeters) { 51 Map paremeters) {
52 // The following is an intentional syntax error. 52 // The following is an intentional syntax error.
53 klajsdlkjfad 53 klajsdlkjfad
54 } 54 }
55 55
56 void test() { 56 void test() {
57 registerExtension('__delay', Handler); 57 registerExtension('__delay', Handler);
58 debugger(); 58 debugger();
59 postEvent('ALPHA', {
60 'cat': 'dog'
61 });
62 debugger();
59 registerExtension('__error', Handler); 63 registerExtension('__error', Handler);
60 registerExtension('__exception', Handler); 64 registerExtension('__exception', Handler);
61 registerExtension('__null', Handler); 65 registerExtension('__null', Handler);
62 registerExtension('__nullFuture', Handler); 66 registerExtension('__nullFuture', Handler);
63 registerExtension('__success', Handler); 67 registerExtension('__success', Handler);
64 bool exceptionThrown = false; 68 bool exceptionThrown = false;
65 try { 69 try {
66 registerExtension('__delay', Handler); 70 registerExtension('__delay', Handler);
67 } catch (e) { 71 } catch (e) {
68 exceptionThrown = true; 72 exceptionThrown = true;
69 } 73 }
70 expect(exceptionThrown, isTrue); 74 expect(exceptionThrown, isTrue);
71 registerExtension('__languageError', LanguageErrorHandler); 75 registerExtension('__languageError', LanguageErrorHandler);
72 } 76 }
73 77
74 var tests = [ 78 var tests = [
75 hasStoppedAtBreakpoint, 79 hasStoppedAtBreakpoint,
76 (Isolate isolate) async { 80 (Isolate isolate) async {
77 await isolate.load(); 81 await isolate.load();
78 expect(isolate.extensionRPCs.length, 1); 82 expect(isolate.extensionRPCs.length, 1);
79 expect(isolate.extensionRPCs[0], equals('__delay')); 83 expect(isolate.extensionRPCs[0], equals('__delay'));
80 }, 84 },
85 resumeIsolateAndAwaitEvent(Isolate.kExtensionStream, (ServiceEvent event) {
86 expect(event.kind, equals(ServiceEvent.kExtension));
87 expect(event.extensionKind, equals('ALPHA'));
88 expect(event.extensionData, new isInstanceOf<Map>());
89 expect(event.extensionData['cat'], equals('dog'));
90 }),
91 hasStoppedAtBreakpoint,
81 resumeIsolateAndAwaitEvent(VM.kIsolateStream, (ServiceEvent event) { 92 resumeIsolateAndAwaitEvent(VM.kIsolateStream, (ServiceEvent event) {
82 // Check that we received an event when '__error' was registered. 93 // Check that we received an event when '__error' was registered.
83 expect(event.kind, equals(ServiceEvent.kServiceExtensionAdded)); 94 expect(event.kind, equals(ServiceEvent.kServiceExtensionAdded));
84 expect(event.extensionRPC, equals('__error')); 95 expect(event.extensionRPC, equals('__error'));
85 }), 96 }),
86 // Initial. 97 // Initial.
87 (Isolate isolate) async { 98 (Isolate isolate) async {
88 var result; 99 var result;
89 100
90 result = await isolate.invokeRpcNoUpgrade('__delay', {}); 101 result = await isolate.invokeRpcNoUpgrade('__delay', {});
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 expect(e.message, stringContainsInOrder([ 147 expect(e.message, stringContainsInOrder([
137 'Error in extension `__languageError`:', 148 'Error in extension `__languageError`:',
138 'developer_extension_test.dart', 149 'developer_extension_test.dart',
139 'semicolon expected'])); 150 'semicolon expected']));
140 } 151 }
141 152
142 }, 153 },
143 ]; 154 ];
144 155
145 main(args) async => runIsolateTests(args, tests, testeeConcurrent:test); 156 main(args) async => runIsolateTests(args, tests, testeeConcurrent:test);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698