Chromium Code Reviews| Index: tests/standalone/src/ProcessStdoutTest.dart |
| diff --git a/tests/standalone/src/ProcessStdoutTest.dart b/tests/standalone/src/ProcessStdoutTest.dart |
| index 51250d1a2c41d0a7dfd55f79a111c45ea2351d8a..e268d89a580adbd0088630ea1563262f28d7baa2 100644 |
| --- a/tests/standalone/src/ProcessStdoutTest.dart |
| +++ b/tests/standalone/src/ProcessStdoutTest.dart |
| @@ -11,45 +11,53 @@ |
| class ProcessStdoutTest { |
| - static void testExit() { |
| + static void testStdout() { |
| Process process = new Process("out/Debug_ia32//process_test", |
| const ["0", "1", "99", "0"]); |
| final int BUFFERSIZE = 10; |
| final int STARTCHAR = 65; |
| - List<int> buffer = new List<int>(BUFFERSIZE); |
| + List<int> data = new List<int>(BUFFERSIZE); |
| for (int i = 0; (i < BUFFERSIZE - 1); i++) { |
| - buffer[i] = STARTCHAR + i; |
| + data[i] = STARTCHAR + i; |
| } |
| - buffer[BUFFERSIZE - 1] = 10; |
| + data[BUFFERSIZE - 1] = 10; |
| InputStream input = process.stdout; |
| OutputStream output = process.stdin; |
| process.start(); |
| - List<int> readBuffer = new List<int>(BUFFERSIZE); |
| + int received = 0; |
| void dataWritten() { |
| void readData() { |
| - for (int i = 0; i < BUFFERSIZE; i++) { |
| - Expect.equals(buffer[i], readBuffer[i]); |
| + List<int> buffer = input.read(); |
| + print(buffer.length); |
|
Mads Ager (google)
2011/10/26 10:56:07
Remove?
Søren Gjesse
2011/10/26 12:03:31
Done.
|
| + for (int i = 0; i < buffer.length; i++) { |
| + Expect.equals(data[received + i], buffer[i]); |
| + } |
| + received += buffer.length; |
| + if (received == BUFFERSIZE) { |
| + process.close(); |
| } |
| - process.close(); |
| } |
| - bool read = input.read(readBuffer, 0, BUFFERSIZE, readData); |
| - if (read) { |
| - readData(); |
| + void streamClosed() { |
| + Expect.equals(BUFFERSIZE, received); |
| } |
| + |
| + input.dataHandler = readData; |
| + input.closeHandler = streamClosed; |
| } |
| - bool written = output.write(buffer, 0, BUFFERSIZE, dataWritten); |
| + |
| + bool written = output.write(data, 0, BUFFERSIZE, dataWritten); |
| if (written) { |
| dataWritten(); |
| } |
| } |
| static void testMain() { |
| - testExit(); |
| + testStdout(); |
| } |
| } |