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

Side by Side Diff: mojo/dart/test/validation_test.dart

Issue 959993002: Dart: Removes name conflicts from generated bindings. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 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
« no previous file with comments | « mojo/dart/test/bindings_generation_test.dart ('k') | mojo/public/dart/src/application.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 import 'dart:async'; 5 import 'dart:async';
6 import 'dart:convert'; 6 import 'dart:convert';
7 import 'dart:isolate'; 7 import 'dart:isolate';
8 import 'dart:typed_data'; 8 import 'dart:typed_data';
9 import 'mojo:bindings'; 9 import 'mojo:bindings';
10 import 'mojo:builtin' as builtin; 10 import 'mojo:builtin' as builtin;
11 import 'mojo:core'; 11 import 'mojo:core';
12 12
13 import 'package:mojo/dart/testing/validation_test_input_parser.dart' as parser; 13 import 'package:mojo/dart/testing/validation_test_input_parser.dart' as parser;
14 import 'package:mojo/public/interfaces/bindings/tests/validation_test_interfaces .mojom.dart'; 14 import 'package:mojo/public/interfaces/bindings/tests/validation_test_interfaces .mojom.dart';
15 15
16 class ConfrmanceTestInterfaceImpl extends ConformanceTestInterface { 16 class ConfrmanceTestInterfaceImpl implements ConformanceTestInterface {
17 ConformanceTestInterfaceStub _stub;
17 Completer _completer; 18 Completer _completer;
18 19
19 ConfrmanceTestInterfaceImpl(this._completer, MojoMessagePipeEndpoint endpoint) 20 ConfrmanceTestInterfaceImpl(this._completer,
sky 2015/02/26 18:21:15 You've got a mispelling here.
zra 2015/02/26 19:58:29 Fixed.
20 : super(endpoint) { 21 MojoMessagePipeEndpoint endpoint) {
21 super.delegate = this; 22 _stub = new ConformanceTestInterfaceStub.fromEndpoint(endpoint)
23 ..delegate = this
24 ..listen();
22 } 25 }
23 26
24 void _complete() => _completer.complete(null); 27 void _complete() => _completer.complete(null);
25 28
26 method0(double param0) => _complete(); 29 method0(double param0) => _complete();
27 method1(StructA param0) => _complete(); 30 method1(StructA param0) => _complete();
28 method2(StructB param0, StructA param1) => _complete(); 31 method2(StructB param0, StructA param1) => _complete();
29 method3(List<bool> param0) => _complete(); 32 method3(List<bool> param0) => _complete();
30 method4(StructC param0, List<int> param1) => _complete(); 33 method4(StructC param0, List<int> param1) => _complete();
31 method5(StructE param0, MojoDataPipeProducer param1) => _complete(); 34 method5(StructE param0, MojoDataPipeProducer param1) => _complete();
32 method6(List<List<int>> param0) => _complete(); 35 method6(List<List<int>> param0) => _complete();
33 method7(StructF param0, List<List<int>> param1) => _complete(); 36 method7(StructF param0, List<List<int>> param1) => _complete();
34 method8(List<List<String>> param0) => _complete(); 37 method8(List<List<String>> param0) => _complete();
35 method9(List<List<MojoHandle>> param0) => _complete(); 38 method9(List<List<MojoHandle>> param0) => _complete();
36 method10(Map<String, int> param0) => _complete(); 39 method10(Map<String, int> param0) => _complete();
40
41 void close({bool nodefer : false}) => _stub.close(nodefer: nodefer);
37 } 42 }
38 43
39 parser.ValidationParseResult readAndParseTest(String test) { 44 parser.ValidationParseResult readAndParseTest(String test) {
40 List<int> data = builtin.readSync("${test}.data"); 45 List<int> data = builtin.readSync("${test}.data");
41 String input = new Utf8Decoder().convert(data).trim(); 46 String input = new Utf8Decoder().convert(data).trim();
42 return parser.parse(input); 47 return parser.parse(input);
43 } 48 }
44 49
45 String expectedResult(String test) { 50 String expectedResult(String test) {
46 List<int> data = builtin.readSync("${test}.expected"); 51 List<int> data = builtin.readSync("${test}.expected");
47 return new Utf8Decoder().convert(data).trim(); 52 return new Utf8Decoder().convert(data).trim();
48 } 53 }
49 54
50 runTest(String name, parser.ValidationParseResult test, String expected) { 55 runTest(String name, parser.ValidationParseResult test, String expected) {
51 var handles = new List.generate(test.numHandles, 56 var handles = new List.generate(test.numHandles,
52 (_) => new MojoSharedBuffer.create(10).handle); 57 (_) => new MojoSharedBuffer.create(10).handle);
53 var pipe = new MojoMessagePipe(); 58 var pipe = new MojoMessagePipe();
54 var completer = new Completer(); 59 var completer = new Completer();
55 var conformanceImpl = new ConfrmanceTestInterfaceImpl( 60 var conformanceImpl;
56 completer, pipe.endpoints[0]);
57 61
58 runZoned(() { 62 runZoned(() {
59 conformanceImpl.listen(); 63 conformanceImpl = new ConfrmanceTestInterfaceImpl(
64 completer, pipe.endpoints[0]);
60 }, 65 },
61 onError: (e, stackTrace) { 66 onError: (e, stackTrace) {
62 assert(e is MojoCodecError); 67 assert(e is MojoCodecError);
63 // TODO(zra): Make the error messages conform? 68 // TODO(zra): Make the error messages conform?
64 // assert(e == expected); 69 // assert(e == expected);
65 conformanceImpl.close(nodefer: true); 70 conformanceImpl.close(nodefer: true);
66 pipe.endpoints[0].handle.close(); 71 pipe.endpoints[0].handle.close();
67 handles.forEach((h) => h.close()); 72 handles.forEach((h) => h.close());
68 }); 73 });
69 74
(...skipping 23 matching lines...) Expand all
93 98
94 // First test the parser. 99 // First test the parser.
95 parser.parserTests(); 100 parser.parserTests();
96 101
97 // Then run the conformance tests. 102 // Then run the conformance tests.
98 getTestFiles(path, "$path/conformance_").forEach((test) { 103 getTestFiles(path, "$path/conformance_").forEach((test) {
99 runTest(test, readAndParseTest(test), expectedResult(test)); 104 runTest(test, readAndParseTest(test), expectedResult(test));
100 }); 105 });
101 // TODO(zra): Add integration tests when they no longer rely on Client=. 106 // TODO(zra): Add integration tests when they no longer rely on Client=.
102 } 107 }
OLDNEW
« no previous file with comments | « mojo/dart/test/bindings_generation_test.dart ('k') | mojo/public/dart/src/application.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698