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

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

Issue 1160873002: Sundry service protocol cleanups before version 1.0. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: pre commit Created 5 years, 6 months 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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 inbound_references_test; 6 library inbound_references_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 import 'test_helper.dart'; 10 import 'test_helper.dart';
(...skipping 10 matching lines...) Expand all
21 n = new Node(); 21 n = new Node();
22 e = new Edge(); 22 e = new Edge();
23 n.edge = e; 23 n.edge = e;
24 array = new List(2); 24 array = new List(2);
25 array[0] = n; 25 array[0] = n;
26 array[1] = e; 26 array[1] = e;
27 } 27 }
28 28
29 var tests = [ 29 var tests = [
30 30
31 (Isolate isolate) => 31 (Isolate isolate) async {
32 isolate.rootLibrary.load().then((Library lib) { 32 var lib = await isolate.rootLibrary.load();
33 Instance e = lib.variables.where((v) => v.name == 'e').single.value; 33 var field = lib.variables.where((v) => v.name == 'e').single;
34 return isolate.getInboundReferences(e, 100).then( 34 await field.load();
35 (ServiceMap response) { 35 Instance e = field.staticValue;
36 List references = response['references']; 36 ServiceMap response = await isolate.getInboundReferences(e, 100);
37 hasReferenceSuchThat(predicate) { 37 List references = response['references'];
38 expect(references.any(predicate), isTrue); 38 hasReferenceSuchThat(predicate) {
39 } 39 expect(references.any(predicate), isTrue);
40 }
40 41
41 // Assert e is referenced by at least n, array, and the top-level 42 // Assert e is referenced by at least n, array, and the top-level
42 // field e. 43 // field e.
43 hasReferenceSuchThat((r) => r['slot'] is Field && 44 hasReferenceSuchThat((r) => r['slot'] is Field &&
44 r['slot'].name=='edge' && 45 r['slot'].name=='edge' &&
45 r['source'].isInstance && 46 r['source'].isInstance &&
46 r['source'].clazz.name=='Node'); 47 r['source'].clazz.name=='Node');
47 hasReferenceSuchThat((r) => r['slot'] == 1 && 48 hasReferenceSuchThat((r) => r['slot'] == 1 &&
48 r['source'].isList); 49 r['source'].isList);
49 hasReferenceSuchThat((r) => r['slot']=='<unknown>' && 50 hasReferenceSuchThat((r) => r['slot']=='<unknown>' &&
50 r['source'] is Field); 51 r['source'] is Field);
51 }); 52 }
52 }),
53 53
54 ]; 54 ];
55 55
56 main(args) => runIsolateTests(args, tests, testeeBefore: script); 56 main(args) => runIsolateTests(args, tests, testeeBefore: script);
OLDNEW
« no previous file with comments | « runtime/observatory/tests/service/graph_test.dart ('k') | runtime/observatory/tests/service/mirror_references_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698