| Index: test/shelf_io_test.dart
|
| diff --git a/test/shelf_io_test.dart b/test/shelf_io_test.dart
|
| index 586a9615858b7b59c79d9876830404f759d8d85f..11c5b7cf140d656bfc1c4bcdea5941f50ea00034 100644
|
| --- a/test/shelf_io_test.dart
|
| +++ b/test/shelf_io_test.dart
|
| @@ -10,6 +10,7 @@ import 'dart:io';
|
|
|
| import 'package:http/http.dart' as http;
|
| import 'package:http_parser/http_parser.dart' as parser;
|
| +import 'package:scheduled_test/scheduled_stream.dart';
|
| import 'package:scheduled_test/scheduled_test.dart';
|
| import 'package:shelf/shelf.dart';
|
| import 'package:shelf/shelf_io.dart' as shelf_io;
|
| @@ -331,6 +332,35 @@ void main() {
|
| });
|
| });
|
| });
|
| +
|
| + test('respects the "shelf.io.buffer_output" context parameter', () {
|
| + var controller = new StreamController();
|
| + _scheduleServer((request) {
|
| + controller.add("Hello, ");
|
| +
|
| + return new Response.ok(UTF8.encoder.bind(controller.stream),
|
| + context: {"shelf.io.buffer_output": false});
|
| + });
|
| +
|
| + schedule(() {
|
| + var request = new http.Request(
|
| + "GET", Uri.parse('http://localhost:$_serverPort/'));
|
| +
|
| + return request.send().then((response) {
|
| + var stream = new ScheduledStream(UTF8.decoder.bind(response.stream));
|
| +
|
| + return stream.next().then((data) {
|
| + expect(data, equals("Hello, "));
|
| + controller.add("world!");
|
| + return stream.next();
|
| + }).then((data) {
|
| + expect(data, equals("world!"));
|
| + controller.close();
|
| + expect(stream.hasNext, completion(isFalse));
|
| + });
|
| + });
|
| + });
|
| + });
|
| }
|
|
|
| int _serverPort;
|
|
|