| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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:io"); | 10 #import("dart:io"); |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 156 connection.inputStream.pipe(connection.outputStream); | 156 connection.inputStream.pipe(connection.outputStream); |
| 157 } | 157 } |
| 158 } | 158 } |
| 159 | 159 |
| 160 | 160 |
| 161 // Test piping from one file to another and closing both streams | 161 // Test piping from one file to another and closing both streams |
| 162 // after wards. | 162 // after wards. |
| 163 testFileToFilePipe1() { | 163 testFileToFilePipe1() { |
| 164 // Force test to timeout if one of the handlers is | 164 // Force test to timeout if one of the handlers is |
| 165 // not called. | 165 // not called. |
| 166 ReceivePort donePort = new ReceivePort.singleShot(); | 166 ReceivePort donePort = new ReceivePort(); |
| 167 donePort.receive((message, ignore) {}); | 167 donePort.receive((message, ignore) { donePort.close(); }); |
| 168 | 168 |
| 169 String srcFileName = | 169 String srcFileName = |
| 170 getDataFilename("tests/standalone/src/io/readline_test1.dat"); | 170 getDataFilename("tests/standalone/src/io/readline_test1.dat"); |
| 171 var srcStream = new File(srcFileName).openInputStream(); | 171 var srcStream = new File(srcFileName).openInputStream(); |
| 172 | 172 |
| 173 var tempDir = new Directory(''); | 173 var tempDir = new Directory(''); |
| 174 tempDir.createTempSync(); | 174 tempDir.createTempSync(); |
| 175 String dstFileName = tempDir.path + "/readline_test1.dat"; | 175 String dstFileName = tempDir.path + "/readline_test1.dat"; |
| 176 new File(dstFileName).createSync(); | 176 new File(dstFileName).createSync(); |
| 177 var dstStream = new File(dstFileName).openOutputStream(); | 177 var dstStream = new File(dstFileName).openOutputStream(); |
| 178 | 178 |
| 179 dstStream.onClosed = () { | 179 dstStream.onClosed = () { |
| 180 bool result = compareFileContent(srcFileName, dstFileName); | 180 bool result = compareFileContent(srcFileName, dstFileName); |
| 181 new File(dstFileName).deleteSync(); | 181 new File(dstFileName).deleteSync(); |
| 182 tempDir.deleteSync(); | 182 tempDir.deleteSync(); |
| 183 Expect.isTrue(result); | 183 Expect.isTrue(result); |
| 184 donePort.toSendPort().send(null); | 184 donePort.toSendPort().send(null); |
| 185 }; | 185 }; |
| 186 | 186 |
| 187 srcStream.pipe(dstStream); | 187 srcStream.pipe(dstStream); |
| 188 } | 188 } |
| 189 | 189 |
| 190 | 190 |
| 191 // Test piping from one file to another and write additional data to | 191 // Test piping from one file to another and write additional data to |
| 192 // the output stream after piping finished. | 192 // the output stream after piping finished. |
| 193 testFileToFilePipe2() { | 193 testFileToFilePipe2() { |
| 194 // Force test to timeout if one of the handlers is | 194 // Force test to timeout if one of the handlers is |
| 195 // not called. | 195 // not called. |
| 196 ReceivePort donePort = new ReceivePort.singleShot(); | 196 ReceivePort donePort = new ReceivePort(); |
| 197 donePort.receive((message, ignore) {}); | 197 donePort.receive((message, ignore) { donePort.close(); }); |
| 198 | 198 |
| 199 String srcFileName = | 199 String srcFileName = |
| 200 getDataFilename("tests/standalone/src/io/readline_test1.dat"); | 200 getDataFilename("tests/standalone/src/io/readline_test1.dat"); |
| 201 var srcFile = new File(srcFileName); | 201 var srcFile = new File(srcFileName); |
| 202 var srcStream = srcFile.openInputStream(); | 202 var srcStream = srcFile.openInputStream(); |
| 203 | 203 |
| 204 var tempDir = new Directory(''); | 204 var tempDir = new Directory(''); |
| 205 tempDir.createTempSync(); | 205 tempDir.createTempSync(); |
| 206 var dstFileName = tempDir.path + "/readline_test1.dat"; | 206 var dstFileName = tempDir.path + "/readline_test1.dat"; |
| 207 var dstFile = new File(dstFileName); | 207 var dstFile = new File(dstFileName); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 233 }; | 233 }; |
| 234 | 234 |
| 235 srcStream.pipe(dstStream, close: false); | 235 srcStream.pipe(dstStream, close: false); |
| 236 } | 236 } |
| 237 | 237 |
| 238 | 238 |
| 239 // Test piping two copies of one file to another. | 239 // Test piping two copies of one file to another. |
| 240 testFileToFilePipe3() { | 240 testFileToFilePipe3() { |
| 241 // Force test to timeout if one of the handlers is | 241 // Force test to timeout if one of the handlers is |
| 242 // not called. | 242 // not called. |
| 243 ReceivePort donePort = new ReceivePort.singleShot(); | 243 ReceivePort donePort = new ReceivePort(); |
| 244 donePort.receive((message, ignore) {}); | 244 donePort.receive((message, ignore) { donePort.close(); }); |
| 245 | 245 |
| 246 String srcFileName = | 246 String srcFileName = |
| 247 getDataFilename("tests/standalone/src/io/readline_test1.dat"); | 247 getDataFilename("tests/standalone/src/io/readline_test1.dat"); |
| 248 var srcFile = new File(srcFileName); | 248 var srcFile = new File(srcFileName); |
| 249 var srcStream = srcFile.openInputStream(); | 249 var srcStream = srcFile.openInputStream(); |
| 250 | 250 |
| 251 var tempDir = new Directory(''); | 251 var tempDir = new Directory(''); |
| 252 tempDir.createTempSync(); | 252 tempDir.createTempSync(); |
| 253 var dstFileName = tempDir.path + "/readline_test1.dat"; | 253 var dstFileName = tempDir.path + "/readline_test1.dat"; |
| 254 var dstFile = new File(dstFileName); | 254 var dstFile = new File(dstFileName); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 285 srcStream.pipe(dstStream, close: false); | 285 srcStream.pipe(dstStream, close: false); |
| 286 } | 286 } |
| 287 | 287 |
| 288 | 288 |
| 289 main() { | 289 main() { |
| 290 testFileToFilePipe1(); | 290 testFileToFilePipe1(); |
| 291 testFileToFilePipe2(); | 291 testFileToFilePipe2(); |
| 292 testFileToFilePipe3(); | 292 testFileToFilePipe3(); |
| 293 PipeServerGame echoServerGame = new PipeServerGame.start(); | 293 PipeServerGame echoServerGame = new PipeServerGame.start(); |
| 294 } | 294 } |
| OLD | NEW |