Index: pkg/shelf/test/response_test.dart |
diff --git a/pkg/shelf/test/response_test.dart b/pkg/shelf/test/response_test.dart |
index 9ee47c5f93360f8a62b82680a7bdd597ff12be3e..0227a02cf0f8dd8f21b569aa84e15eaafbdfb14e 100644 |
--- a/pkg/shelf/test/response_test.dart |
+++ b/pkg/shelf/test/response_test.dart |
@@ -7,62 +7,24 @@ library shelf.response_test; |
import 'dart:async'; |
import 'dart:convert'; |
-import 'package:shelf/shelf.dart'; |
+import 'package:shelf/shelf.dart' hide Request; |
import 'package:unittest/unittest.dart'; |
-void main() { |
- group("readAsString", () { |
- test("supports a null body", () { |
- var response = new Response(200); |
- expect(response.readAsString(), completion(equals(""))); |
- }); |
+import 'test_change.dart'; |
+import 'test_util.dart'; |
- test("supports a String body", () { |
+void main() { |
+ group("supports a String body", () { |
+ test("readAsString", () { |
var response = new Response.ok("hello, world"); |
expect(response.readAsString(), completion(equals("hello, world"))); |
}); |
- test("supports a Stream<List<int>> body", () { |
- var controller = new StreamController(); |
- var response = new Response.ok(controller.stream); |
- expect(response.readAsString(), completion(equals("hello, world"))); |
- |
- controller.add([104, 101, 108, 108, 111, 44]); |
- return new Future(() { |
- controller |
- ..add([32, 119, 111, 114, 108, 100]) |
- ..close(); |
- }); |
- }); |
- }); |
- |
- group("read", () { |
- test("supports a null body", () { |
- var response = new Response(200); |
- expect(response.read().toList(), completion(isEmpty)); |
- }); |
+ test("read", () { |
+ var helloWorldBytes = new List.from(HELLO_BYTES)..addAll(WORLD_BYTES); |
- test("supports a String body", () { |
var response = new Response.ok("hello, world"); |
- expect(response.read().toList(), completion(equals([[ |
- 104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100 |
- ]]))); |
- }); |
- |
- test("supports a Stream<List<int>> body", () { |
- var controller = new StreamController(); |
- var response = new Response.ok(controller.stream); |
- expect(response.read().toList(), completion(equals([ |
- [104, 101, 108, 108, 111, 44], |
- [32, 119, 111, 114, 108, 100] |
- ]))); |
- |
- controller.add([104, 101, 108, 108, 111, 44]); |
- return new Future(() { |
- controller |
- ..add([32, 119, 111, 114, 108, 100]) |
- ..close(); |
- }); |
+ expect(response.read().toList(), completion(equals([helloWorldBytes]))); |
}); |
}); |
@@ -157,4 +119,34 @@ void main() { |
}).lastModified, equals(DateTime.parse("1994-11-06 08:49:37z"))); |
}); |
}); |
+ |
+ group('change', () { |
+ test('with no arguments returns instance with equal values', () { |
nweiz
2014/04/29 19:48:48
Why isn't this part of [testChange]?
kevmoo
2014/04/30 14:27:52
Because I'm ensuring that all of the non-common fi
|
+ var controller = new StreamController(); |
+ |
+ var request = new Response(345, body: 'hèllo, world', encoding: LATIN1, |
+ headers: {'header1': 'header value 1'}, |
+ context: {'context1': 'context value 1'}); |
+ |
+ var copy = request.change(); |
+ |
+ expect(copy.statusCode, request.statusCode); |
+ expect(copy.readAsString(), completion('hèllo, world')); |
+ expect(copy.headers, same(request.headers)); |
+ expect(copy.encoding, request.encoding); |
+ expect(copy.context, same(request.context)); |
+ |
+ controller.add(HELLO_BYTES); |
+ return new Future(() { |
+ controller |
+ ..add(WORLD_BYTES) |
+ ..close(); |
+ }); |
+ }); |
+ |
+ testChange(({headers, context}) { |
+ return new Response.ok(null, headers: headers, |
+ context: context); |
+ }); |
+ }); |
} |