| Index: tests/standalone/io/regress-6521.dart | 
| diff --git a/tests/standalone/io/regress-6521.dart b/tests/standalone/io/regress-6521.dart | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..a02025d2cb74ad103b4f4440d687cc7b66adf021 | 
| --- /dev/null | 
| +++ b/tests/standalone/io/regress-6521.dart | 
| @@ -0,0 +1,41 @@ | 
| +// Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 
| +// for details. All rights reserved. Use of this source code is governed by a | 
| +// BSD-style license that can be found in the LICENSE file. | 
| +// | 
| +// Regression test for http://code.google.com/p/dart/issues/detail?id=6393. | 
| + | 
| +import "dart:io"; | 
| +import "dart:uri"; | 
| + | 
| +var client = new HttpClient(); | 
| +var clientRequest; | 
| + | 
| +void main() { | 
| +  var server = new HttpServer(); | 
| +  server.listen("127.0.0.1", 0); | 
| +  server.defaultRequestHandler = (req, rsp) { | 
| +    req.inputStream.onData = () { | 
| +      req.inputStream.read(); | 
| +      rsp.outputStream.close(); | 
| +    }; | 
| +    req.inputStream.onClosed = () { | 
| +      client.shutdown(); | 
| +      server.close(); | 
| +    }; | 
| +  }; | 
| + | 
| +  var connection = client.openUrl( | 
| +      "POST", | 
| +      new Uri.fromString("http://localhost:${server.port}/")); | 
| +  connection.onRequest = (request) { | 
| +    // Keep a reference to the client request object. | 
| +    clientRequest = request; | 
| +    request.outputStream.write([0]); | 
| +  }; | 
| +  connection.onResponse = (response) { | 
| +    response.inputStream.onClosed = () { | 
| +      // Wait with closing the client request until the response is done. | 
| +      clientRequest.outputStream.close(); | 
| +    }; | 
| +  }; | 
| +} | 
|  |