| Index: pkg/http/test/request_test.dart
|
| diff --git a/pkg/http/test/request_test.dart b/pkg/http/test/request_test.dart
|
| index 08e2ef95165992175e887d57bdd90cb537d2e1c0..28759282ba03e637c2332087065215b66bf101ed 100644
|
| --- a/pkg/http/test/request_test.dart
|
| +++ b/pkg/http/test/request_test.dart
|
| @@ -5,7 +5,6 @@
|
| library request_test;
|
|
|
| import 'dart:convert';
|
| -import 'dart:io';
|
|
|
| import 'package:http/http.dart' as http;
|
| import 'package:unittest/unittest.dart';
|
| @@ -13,30 +12,6 @@ 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);
|
| - });
|
| -
|
| group('#contentLength', () {
|
| test('is computed from bodyBytes', () {
|
| var request = new http.Request('POST', dummyUrl);
|
| @@ -74,8 +49,7 @@ void main() {
|
|
|
| test('is based on the content-type charset if it exists', () {
|
| var request = new http.Request('POST', dummyUrl);
|
| - request.headers[HttpHeaders.CONTENT_TYPE] =
|
| - 'text/plain; charset=iso-8859-1';
|
| + request.headers['Content-Type'] = 'text/plain; charset=iso-8859-1';
|
| expect(request.encoding.name, equals(LATIN1.name));
|
| });
|
|
|
| @@ -83,17 +57,16 @@ void main() {
|
| () {
|
| var request = new http.Request('POST', dummyUrl);
|
| request.encoding = LATIN1;
|
| - request.headers[HttpHeaders.CONTENT_TYPE] =
|
| - 'text/plain; charset=utf-8';
|
| + request.headers['Content-Type'] = 'text/plain; charset=utf-8';
|
| expect(request.encoding.name, equals(UTF8.name));
|
|
|
| - request.headers.remove(HttpHeaders.CONTENT_TYPE);
|
| + request.headers.remove('Content-Type');
|
| expect(request.encoding.name, equals(LATIN1.name));
|
| });
|
|
|
| test('throws an error if the content-type charset is unknown', () {
|
| var request = new http.Request('POST', dummyUrl);
|
| - request.headers[HttpHeaders.CONTENT_TYPE] =
|
| + request.headers['Content-Type'] =
|
| 'text/plain; charset=not-a-real-charset';
|
| expect(() => request.encoding, throwsFormatException);
|
| });
|
| @@ -159,19 +132,19 @@ void main() {
|
|
|
| test("can't be read with the wrong content-type", () {
|
| var request = new http.Request('POST', dummyUrl);
|
| - request.headers[HttpHeaders.CONTENT_TYPE] = 'text/plain';
|
| + request.headers['Content-Type'] = 'text/plain';
|
| expect(() => request.bodyFields, throwsStateError);
|
| });
|
|
|
| test("can't be set with the wrong content-type", () {
|
| var request = new http.Request('POST', dummyUrl);
|
| - request.headers[HttpHeaders.CONTENT_TYPE] = 'text/plain';
|
| + request.headers['Content-Type'] = 'text/plain';
|
| expect(() => request.bodyFields = {}, throwsStateError);
|
| });
|
|
|
| test('defaults to empty', () {
|
| var request = new http.Request('POST', dummyUrl);
|
| - request.headers[HttpHeaders.CONTENT_TYPE] =
|
| + request.headers['Content-Type'] =
|
| 'application/x-www-form-urlencoded';
|
| expect(request.bodyFields, isEmpty);
|
| });
|
| @@ -184,7 +157,7 @@ void main() {
|
|
|
| test('changes when body changes', () {
|
| var request = new http.Request('POST', dummyUrl);
|
| - request.headers[HttpHeaders.CONTENT_TYPE] =
|
| + request.headers['Content-Type'] =
|
| 'application/x-www-form-urlencoded';
|
| request.body = 'key%201=value&key+2=other%2bvalue';
|
| expect(request.bodyFields,
|
| @@ -193,7 +166,7 @@ void main() {
|
|
|
| test('is encoded according to the given encoding', () {
|
| var request = new http.Request('POST', dummyUrl);
|
| - request.headers[HttpHeaders.CONTENT_TYPE] =
|
| + request.headers['Content-Type'] =
|
| 'application/x-www-form-urlencoded';
|
| request.encoding = LATIN1;
|
| request.bodyFields = {"föø": "bãr"};
|
| @@ -202,7 +175,7 @@ void main() {
|
|
|
| test('is decoded according to the given encoding', () {
|
| var request = new http.Request('POST', dummyUrl);
|
| - request.headers[HttpHeaders.CONTENT_TYPE] =
|
| + request.headers['Content-Type'] =
|
| 'application/x-www-form-urlencoded';
|
| request.encoding = LATIN1;
|
| request.body = 'f%F6%F8=b%E3r';
|
| @@ -210,65 +183,16 @@ void main() {
|
| });
|
| });
|
|
|
| - test('#followRedirects', () {
|
| - print("This test is known to be flaky, please ignore "
|
| - "(debug prints below added by sgjesse@)");
|
| - print("#followRedirects test starting server...");
|
| - expect(startServer().then((_) {
|
| - print("#followRedirects test server running");
|
| -
|
| - var request = new http.Request('POST', serverUrl.resolve('/redirect'))
|
| - ..followRedirects = false;
|
| - var future = request.send().then((response) {
|
| - print("#followRedirects test response received");
|
| - expect(response.statusCode, equals(302));
|
| - });
|
| - expect(future.catchError((_) {}).then((_) {
|
| - print("#followRedirects test stopping server...");
|
| - stopServer();
|
| - print("#followRedirects test server stopped");
|
| - }), completes);
|
| -
|
| - expect(future, completes);
|
| - print("#followRedirects test started");
|
| - }), completes);
|
| - });
|
| -
|
| - test('#maxRedirects', () {
|
| - print("This test is known to be flaky, please ignore "
|
| - "(debug prints below added by sgjesse@)");
|
| - print("#maxRedirects test starting server...");
|
| - expect(startServer().then((_) {
|
| - print("#maxRedirects test server running");
|
| -
|
| - var request = new http.Request('POST', serverUrl.resolve('/loop?1'))
|
| - ..maxRedirects = 2;
|
| - var future = request.send().catchError((error) {
|
| - print("#maxRedirects test exception received");
|
| - expect(error, isRedirectLimitExceededException);
|
| - expect(error.redirects.length, equals(2));
|
| - });
|
| - expect(future.catchError((_) {}).then((_) {
|
| - print("#maxRedirects test stopping server...");
|
| - stopServer();
|
| - print("#maxRedirects test server stopped");
|
| - }), completes);
|
| -
|
| - expect(future, completes);
|
| - print("#maxRedirects test started");
|
| - }), completes);
|
| - });
|
| -
|
| group('content-type header', () {
|
| test('defaults to empty', () {
|
| var request = new http.Request('POST', dummyUrl);
|
| - expect(request.headers[HttpHeaders.CONTENT_TYPE], isNull);
|
| + expect(request.headers['Content-Type'], isNull);
|
| });
|
|
|
| test('defaults to empty if only encoding is set', () {
|
| var request = new http.Request('POST', dummyUrl);
|
| request.encoding = LATIN1;
|
| - expect(request.headers[HttpHeaders.CONTENT_TYPE], isNull);
|
| + expect(request.headers['Content-Type'], isNull);
|
| });
|
|
|
| test('name is case insensitive', () {
|
| @@ -282,7 +206,7 @@ void main() {
|
| 'bodyFields is set', () {
|
| var request = new http.Request('POST', dummyUrl);
|
| request.bodyFields = {'hello': 'world'};
|
| - expect(request.headers[HttpHeaders.CONTENT_TYPE],
|
| + expect(request.headers['Content-Type'],
|
| equals('application/x-www-form-urlencoded; charset=utf-8'));
|
| });
|
|
|
| @@ -291,7 +215,7 @@ void main() {
|
| var request = new http.Request('POST', dummyUrl);
|
| request.encoding = LATIN1;
|
| request.bodyFields = {'hello': 'world'};
|
| - expect(request.headers[HttpHeaders.CONTENT_TYPE],
|
| + expect(request.headers['Content-Type'],
|
| equals('application/x-www-form-urlencoded; charset=iso-8859-1'));
|
| });
|
|
|
| @@ -300,50 +224,50 @@ void main() {
|
| var request = new http.Request('POST', dummyUrl);
|
| request.encoding = LATIN1;
|
| request.body = 'hello, world';
|
| - expect(request.headers[HttpHeaders.CONTENT_TYPE],
|
| + expect(request.headers['Content-Type'],
|
| equals('text/plain; charset=iso-8859-1'));
|
| });
|
|
|
| test('is modified to include utf-8 if body is set', () {
|
| var request = new http.Request('POST', dummyUrl);
|
| - request.headers[HttpHeaders.CONTENT_TYPE] = 'application/json';
|
| + request.headers['Content-Type'] = 'application/json';
|
| request.body = '{"hello": "world"}';
|
| - expect(request.headers[HttpHeaders.CONTENT_TYPE],
|
| + expect(request.headers['Content-Type'],
|
| equals('application/json; charset=utf-8'));
|
| });
|
|
|
| test('is modified to include the given encoding if encoding is set', () {
|
| var request = new http.Request('POST', dummyUrl);
|
| - request.headers[HttpHeaders.CONTENT_TYPE] = 'application/json';
|
| + request.headers['Content-Type'] = 'application/json';
|
| request.encoding = LATIN1;
|
| - expect(request.headers[HttpHeaders.CONTENT_TYPE],
|
| + expect(request.headers['Content-Type'],
|
| equals('application/json; charset=iso-8859-1'));
|
| });
|
|
|
| test('has its charset overridden by an explicit encoding', () {
|
| var request = new http.Request('POST', dummyUrl);
|
| - request.headers[HttpHeaders.CONTENT_TYPE] =
|
| + request.headers['Content-Type'] =
|
| 'application/json; charset=utf-8';
|
| request.encoding = LATIN1;
|
| - expect(request.headers[HttpHeaders.CONTENT_TYPE],
|
| + expect(request.headers['Content-Type'],
|
| equals('application/json; charset=iso-8859-1'));
|
| });
|
|
|
| test("doen't have its charset overridden by setting bodyFields", () {
|
| var request = new http.Request('POST', dummyUrl);
|
| - request.headers[HttpHeaders.CONTENT_TYPE] =
|
| + request.headers['Content-Type'] =
|
| 'application/x-www-form-urlencoded; charset=iso-8859-1';
|
| request.bodyFields = {'hello': 'world'};
|
| - expect(request.headers[HttpHeaders.CONTENT_TYPE],
|
| + expect(request.headers['Content-Type'],
|
| equals('application/x-www-form-urlencoded; charset=iso-8859-1'));
|
| });
|
|
|
| test("doen't have its charset overridden by setting body", () {
|
| var request = new http.Request('POST', dummyUrl);
|
| - request.headers[HttpHeaders.CONTENT_TYPE] =
|
| + request.headers['Content-Type'] =
|
| 'application/json; charset=iso-8859-1';
|
| request.body = '{"hello": "world"}';
|
| - expect(request.headers[HttpHeaders.CONTENT_TYPE],
|
| + expect(request.headers['Content-Type'],
|
| equals('application/json; charset=iso-8859-1'));
|
| });
|
| });
|
|
|