| Index: pkg/http/test/io/request_test.dart
|
| diff --git a/pkg/http/test/io/request_test.dart b/pkg/http/test/io/request_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..025957198ea9f1c7294595e7e8bc8531bb803065
|
| --- /dev/null
|
| +++ b/pkg/http/test/io/request_test.dart
|
| @@ -0,0 +1,61 @@
|
| +// Copyright (c) 2014, 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 http.test.io.request_test;
|
| +
|
| +import 'package:http/http.dart' as http;
|
| +import 'package:unittest/unittest.dart';
|
| +
|
| +import 'utils.dart';
|
| +
|
| +void main() {
|
| + test('.send', () {
|
| + expect(startServer().then((_) {
|
| +
|
| + var request = new http.Request('POST', serverUrl);
|
| + request.body = "hello";
|
| + request.headers['User-Agent'] = 'Dart';
|
| +
|
| + expect(request.send().then((response) {
|
| + expect(response.statusCode, equals(200));
|
| + return response.stream.bytesToString();
|
| + }).whenComplete(stopServer), completion(parse(equals({
|
| + 'method': 'POST',
|
| + 'path': '/',
|
| + 'headers': {
|
| + 'content-type': ['text/plain; charset=utf-8'],
|
| + 'accept-encoding': ['gzip'],
|
| + 'user-agent': ['Dart'],
|
| + 'content-length': ['5']
|
| + },
|
| + 'body': 'hello'
|
| + }))));
|
| + }), completes);
|
| + });
|
| +
|
| + test('#followRedirects', () {
|
| + expect(startServer().then((_) {
|
| + var request = new http.Request('POST', serverUrl.resolve('/redirect'))
|
| + ..followRedirects = false;
|
| + var future = request.send().then((response) {
|
| + expect(response.statusCode, equals(302));
|
| + });
|
| + expect(future.catchError((_) {}).then((_) => stopServer()), completes);
|
| + expect(future, completes);
|
| + }), completes);
|
| + });
|
| +
|
| + test('#maxRedirects', () {
|
| + expect(startServer().then((_) {
|
| + var request = new http.Request('POST', serverUrl.resolve('/loop?1'))
|
| + ..maxRedirects = 2;
|
| + var future = request.send().catchError((error) {
|
| + expect(error, isRedirectLimitExceededException);
|
| + expect(error.redirects.length, equals(2));
|
| + });
|
| + expect(future.catchError((_) {}).then((_) => stopServer()), completes);
|
| + expect(future, completes);
|
| + }), completes);
|
| + });
|
| +}
|
|
|