| // 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. | |
| library response_test; | |
| import 'dart:async'; | |
| import 'package:http/http.dart' as http; | |
| import 'package:unittest/unittest.dart'; | |
| void main() { | |
| group('()', () { | |
| test('sets body', () { | |
| var response = new http.Response("Hello, world!", 200); | |
| expect(response.body, equals("Hello, world!")); | |
| }); | |
| test('sets bodyBytes', () { | |
| var response = new http.Response("Hello, world!", 200); | |
| expect(response.bodyBytes, equals( | |
| [72, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33])); | |
| }); | |
| test('respects the inferred encoding', () { | |
| var response = new http.Response("föøbãr", 200, | |
| headers: {'content-type': 'text/plain; charset=iso-8859-1'}); | |
| expect(response.bodyBytes, equals( | |
| [102, 246, 248, 98, 227, 114])); | |
| }); | |
| }); | |
| group('.bytes()', () { | |
| test('sets body', () { | |
| var response = new http.Response.bytes([104, 101, 108, 108, 111], 200); | |
| expect(response.body, equals("hello")); | |
| }); | |
| test('sets bodyBytes', () { | |
| var response = new http.Response.bytes([104, 101, 108, 108, 111], 200); | |
| expect(response.bodyBytes, equals([104, 101, 108, 108, 111])); | |
| }); | |
| test('respects the inferred encoding', () { | |
| var response = new http.Response.bytes([102, 246, 248, 98, 227, 114], 200, | |
| headers: {'content-type': 'text/plain; charset=iso-8859-1'}); | |
| expect(response.body, equals("föøbãr")); | |
| }); | |
| }); | |
| group('.fromStream()', () { | |
| test('sets body', () { | |
| var controller = new StreamController(sync: true); | |
| var streamResponse = new http.StreamedResponse( | |
| controller.stream, 200, contentLength: 13); | |
| var future = http.Response.fromStream(streamResponse) | |
| .then((response) => response.body); | |
| expect(future, completion(equals("Hello, world!"))); | |
| controller.add([72, 101, 108, 108, 111, 44, 32]); | |
| controller.add([119, 111, 114, 108, 100, 33]); | |
| controller.close(); | |
| }); | |
| test('sets bodyBytes', () { | |
| var controller = new StreamController(sync: true); | |
| var streamResponse = new http.StreamedResponse( | |
| controller.stream, 200, contentLength: 5); | |
| var future = http.Response.fromStream(streamResponse) | |
| .then((response) => response.bodyBytes); | |
| expect(future, completion(equals([104, 101, 108, 108, 111]))); | |
| controller.add([104, 101, 108, 108, 111]); | |
| controller.close(); | |
| }); | |
| }); | |
| } |