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

Side by Side Diff: tests/standalone/io/secure_multiple_client_server_test.dart

Issue 12504006: Make IOSink implement StringSink (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Addressed second round of review comments Created 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 // 4 //
5 // VMOptions= 5 // VMOptions=
6 // VMOptions=--short_socket_read 6 // VMOptions=--short_socket_read
7 // VMOptions=--short_socket_write 7 // VMOptions=--short_socket_write
8 // VMOptions=--short_socket_read --short_socket_write 8 // VMOptions=--short_socket_read --short_socket_write
9 9
10 import "dart:async"; 10 import "dart:async";
11 import "dart:io"; 11 import "dart:io";
12 import "dart:isolate"; 12 import "dart:isolate";
13 13
14 const SERVER_ADDRESS = "127.0.0.1"; 14 const SERVER_ADDRESS = "127.0.0.1";
15 const HOST_NAME = "localhost"; 15 const HOST_NAME = "localhost";
16 const CERTIFICATE = "localhost_cert"; 16 const CERTIFICATE = "localhost_cert";
17 Future<SecureServerSocket> startServer() { 17 Future<SecureServerSocket> startServer() {
18 return SecureServerSocket.bind(SERVER_ADDRESS, 18 return SecureServerSocket.bind(SERVER_ADDRESS,
19 0, 19 0,
20 5, 20 5,
21 CERTIFICATE).then((server) { 21 CERTIFICATE).then((server) {
22 server.listen((SecureSocket client) { 22 server.listen((SecureSocket client) {
23 client.reduce(<int>[], (message, data) => message..addAll(data)) 23 client.reduce(<int>[], (message, data) => message..addAll(data))
24 .then((message) { 24 .then((message) {
25 String received = new String.fromCharCodes(message); 25 String received = new String.fromCharCodes(message);
26 Expect.isTrue(received.contains("Hello from client ")); 26 Expect.isTrue(received.contains("Hello from client "));
27 String name = received.substring(received.indexOf("client ") + 7); 27 String name = received.substring(received.indexOf("client ") + 7);
28 client.add("Welcome, client $name".codeUnits); 28 client.writeBytes("Welcome, client $name".codeUnits);
29 client.close(); 29 client.close();
30 }); 30 });
31 }); 31 });
32 return server; 32 return server;
33 }); 33 });
34 } 34 }
35 35
36 Future testClient(server, name) { 36 Future testClient(server, name) {
37 return SecureSocket.connect(HOST_NAME, server.port).then((socket) { 37 return SecureSocket.connect(HOST_NAME, server.port).then((socket) {
38 socket.add("Hello from client $name".codeUnits); 38 socket.writeBytes("Hello from client $name".codeUnits);
39 socket.close(); 39 socket.close();
40 return socket.reduce(<int>[], (message, data) => message..addAll(data)) 40 return socket.reduce(<int>[], (message, data) => message..addAll(data))
41 .then((message) { 41 .then((message) {
42 Expect.listEquals("Welcome, client $name".codeUnits, message); 42 Expect.listEquals("Welcome, client $name".codeUnits, message);
43 return server; 43 return server;
44 }); 44 });
45 }); 45 });
46 } 46 }
47 47
48 void main() { 48 void main() {
49 Path scriptDir = new Path(new Options().script).directoryPath; 49 Path scriptDir = new Path(new Options().script).directoryPath;
50 Path certificateDatabase = scriptDir.append('pkcert'); 50 Path certificateDatabase = scriptDir.append('pkcert');
51 SecureSocket.initialize(database: certificateDatabase.toNativePath(), 51 SecureSocket.initialize(database: certificateDatabase.toNativePath(),
52 password: 'dartdart'); 52 password: 'dartdart');
53 53
54 startServer() 54 startServer()
55 .then((server) => Future.wait( 55 .then((server) => Future.wait(
56 ['able', 'baker', 'charlie', 'dozen', 'elapse'] 56 ['able', 'baker', 'charlie', 'dozen', 'elapse']
57 .map((name) => testClient(server, name)))) 57 .map((name) => testClient(server, name))))
58 .then((servers) => servers.first.close()); 58 .then((servers) => servers.first.close());
59 } 59 }
OLDNEW
« no previous file with comments | « tests/standalone/io/secure_client_server_test.dart ('k') | tests/standalone/io/secure_server_socket_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698