| Index: third_party/pkg/angular/lib/mock/http_backend.dart
|
| diff --git a/third_party/pkg/angular/lib/mock/http_backend.dart b/third_party/pkg/angular/lib/mock/http_backend.dart
|
| index b7a5623c0f8c396e0826be24662de49425a95b95..20a8e97a7b3d167dc81fc2d2f86b03ee761d6e64 100644
|
| --- a/third_party/pkg/angular/lib/mock/http_backend.dart
|
| +++ b/third_party/pkg/angular/lib/mock/http_backend.dart
|
| @@ -3,7 +3,7 @@ part of angular.mock;
|
| class _MockXhr {
|
| var $$method, $$url, $$async, $$reqHeaders, $$respHeaders;
|
|
|
| - open(method, url, async) {
|
| + void open(method, url, async) {
|
| $$method = method;
|
| $$url = url;
|
| $$async = async;
|
| @@ -13,24 +13,21 @@ class _MockXhr {
|
|
|
| var $$data;
|
|
|
| - send(data) {
|
| + void send(data) {
|
| $$data = data;
|
| }
|
|
|
| - setRequestHeader(key, value) {
|
| + void setRequestHeader(key, value) {
|
| $$reqHeaders[key] = value;
|
| }
|
|
|
| - getResponseHeader(name) {
|
| - // the lookup must be case insensitive, that's why we try two quick lookups and full scan at last
|
| - if ($$respHeaders.containsKey(name)) {
|
| - return $$respHeaders[name];
|
| - }
|
| + String getResponseHeader(name) {
|
| + // the lookup must be case insensitive, that's why we try two quick
|
| + // lookups and full scan at last
|
| + if ($$respHeaders.containsKey(name)) return $$respHeaders[name];
|
|
|
| name = name.toLowerCase();
|
| - if ($$respHeaders.containsKey(name)) {
|
| - return $$respHeaders[name];
|
| - }
|
| + if ($$respHeaders.containsKey(name)) return $$respHeaders[name];
|
|
|
| String header = null;
|
| $$respHeaders.forEach((headerName, headerVal) {
|
| @@ -59,53 +56,51 @@ class _MockXhr {
|
| * An internal class used by [MockHttpBackend].
|
| */
|
| class MockHttpExpectation {
|
| -
|
| - var method, url, data, headers;
|
| + final method;
|
| + final url;
|
| + final data;
|
| + final headers;
|
|
|
| var response;
|
|
|
| MockHttpExpectation(this.method, this.url, [this.data, this.headers]);
|
|
|
| - match(m, u, [d, h]) {
|
| - if (method != m) return false;
|
| - if (!matchUrl(u)) return false;
|
| - if (d != null && !matchData(d)) return false;
|
| - if (h != null && !matchHeaders(h)) return false;
|
| + bool match(method, url, [data, headers]) {
|
| + if (method != method) return false;
|
| + if (!matchUrl(url)) return false;
|
| + if (data != null && !matchData(data)) return false;
|
| + if (headers != null && !matchHeaders(headers)) return false;
|
| return true;
|
| }
|
|
|
| - matchUrl(u) {
|
| + bool matchUrl(u) {
|
| if (url == null) return true;
|
| if (url is RegExp) return url.hasMatch(u);
|
| return url == u;
|
| }
|
|
|
| - matchHeaders(h) {
|
| + bool matchHeaders(h) {
|
| if (headers == null) return true;
|
| if (headers is Function) return headers(h);
|
| return "$headers" == "$h";
|
| }
|
|
|
| - matchData(d) {
|
| + bool matchData(d) {
|
| if (data == null) return true;
|
| - if (d == null) return false; // data is not null, but d is.
|
| + if (d == null) return false;
|
| if (data is File) return data == d;
|
| assert(d is String);
|
| if (data is RegExp) return data.hasMatch(d);
|
| return JSON.encode(data) == JSON.encode(d);
|
| }
|
|
|
| - toString() {
|
| - return "$method $url";
|
| - }
|
| + String toString() => "$method $url";
|
| }
|
|
|
|
|
| class _Chain {
|
| - var _respondFn;
|
| - _Chain({respond}) {
|
| - _respondFn = respond;
|
| - }
|
| + final Function _respondFn;
|
| + _Chain({respond}): _respondFn = respond;
|
| respond([x,y,z]) => _respondFn(x,y,z);
|
| }
|
|
|
| @@ -129,12 +124,12 @@ class MockHttpBackend implements HttpBackend {
|
| if (status >= 200 && status < 300) {
|
| c.complete(new MockHttpRequest(status, data, headers));
|
| } else {
|
| - c.completeError(
|
| - new MockProgressEvent(
|
| - new MockHttpRequest(status, data, headers)));
|
| + c.completeError(new MockProgressEvent(
|
| + new MockHttpRequest(status, data, headers)));
|
| }
|
| };
|
| - call(method == null ? 'GET' : method, url, sendData, callback, requestHeaders);
|
| + call(method == null ? 'GET' : method, url, sendData, callback,
|
| + requestHeaders);
|
| return c.future;
|
| }
|
|
|
| @@ -150,9 +145,7 @@ class MockHttpBackend implements HttpBackend {
|
| data = statusOrDataOrFunction;
|
| headers = dataOrHeaders;
|
| }
|
| - if (data is Map || data is List) {
|
| - data = JSON.encode(data);
|
| - }
|
| + if (data is Map || data is List) data = JSON.encode(data);
|
|
|
| return ([a,b,c,d,e]) => [status, data, headers];
|
| }
|
| @@ -162,7 +155,7 @@ class MockHttpBackend implements HttpBackend {
|
| * A callback oriented API. This function takes a callback with
|
| * will be called with (status, data, headers)
|
| */
|
| - call(method, [url, data, callback, headers, timeout]) {
|
| + void call(method, [url, data, callback, headers, timeout]) {
|
| var xhr = new _MockXhr(),
|
| expectation = expectations.isEmpty ? null : expectations[0],
|
| wasExpected = false;
|
| @@ -177,11 +170,12 @@ class MockHttpBackend implements HttpBackend {
|
| var handleResponse = () {
|
| var response = wrapped.response(method, url, data, headers);
|
| xhr.$$respHeaders = response[2];
|
| - utils.relaxFnApply(callback, [response[0], response[1], xhr.getAllResponseHeaders()]);
|
| + utils.relaxFnApply(callback, [response[0], response[1],
|
| + xhr.getAllResponseHeaders()]);
|
| };
|
|
|
| var handleTimeout = () {
|
| - for (var i = 0, ii = responses.length; i < ii; i++) {
|
| + for (var i = 0; i < responses.length; i++) {
|
| if (identical(responses[i], handleResponse)) {
|
| responses.removeAt(i);
|
| callback(-1, null, '');
|
| @@ -200,8 +194,9 @@ class MockHttpBackend implements HttpBackend {
|
| 'EXPECTED: ${prettyPrint(expectation.data)}\nGOT: $data'];
|
|
|
| if (!expectation.matchHeaders(headers))
|
| - throw ['Expected $expectation with different headers\n' +
|
| - 'EXPECTED: ${prettyPrint(expectation.headers)}\nGOT: ${prettyPrint(headers)}'];
|
| + throw ['Expected $expectation with different headers\n'
|
| + 'EXPECTED: ${prettyPrint(expectation.headers)}\n'
|
| + 'GOT: ${prettyPrint(headers)}'];
|
|
|
| expectations.removeAt(0);
|
|
|
| @@ -223,8 +218,9 @@ class MockHttpBackend implements HttpBackend {
|
| }
|
| throw wasExpected ?
|
| ['No response defined !'] :
|
| - ['Unexpected request: $method $url\n' +
|
| - (expectation != null ? 'Expected $expectation' : 'No more requests expected')];
|
| + ['Unexpected request: $method $url\n' + (expectation != null ?
|
| + 'Expected $expectation' :
|
| + 'No more requests expected')];
|
| }
|
|
|
| /**
|
| @@ -233,21 +229,22 @@ class MockHttpBackend implements HttpBackend {
|
| * @param {string} method HTTP method.
|
| * @param {string|RegExp} url HTTP url.
|
| * @param {(string|RegExp)=} data HTTP request body.
|
| - * @param {(Object|function(Object))=} headers HTTP headers or function that receives http header
|
| - * object and returns true if the headers match the current definition.
|
| - * @returns {requestHandler} Returns an object with `respond` method that control how a matched
|
| - * request is handled.
|
| + * @param {(Object|function(Object))=} headers HTTP headers or function that
|
| + * receives http header object and returns true if the headers match the
|
| + * current definition.
|
| + * @returns {requestHandler} Returns an object with `respond` method that
|
| + * control how a matched request is handled.
|
| *
|
| * - respond – `{function([status,] data[, headers])|function(function(method, url, data, headers)}`
|
| * – The respond method takes a set of static data to be returned or a function that can return
|
| * an array containing response status (number), response data (string) and response headers
|
| * (Object).
|
| */
|
| - when(method, [url, data, headers]) {
|
| + _Chain when(method, [url, data, headers]) {
|
| var definition = new MockHttpExpectation(method, url, data, headers),
|
| chain = new _Chain(respond: (status, data, headers) {
|
| - definition.response = _createResponse(status, data, headers);
|
| - });
|
| + definition.response = _createResponse(status, data, headers);
|
| + });
|
|
|
| definitions.add(definition);
|
| return chain;
|
| @@ -265,54 +262,41 @@ class MockHttpBackend implements HttpBackend {
|
| * @returns {requestHandler} Returns an object with `respond` method that control how a matched
|
| * request is handled.
|
| */
|
| -
|
| -
|
| - whenGET(url, [headers]) =>
|
| - when('GET', url, null, headers);
|
| - whenDELETE(url, [headers]) =>
|
| - when('DELETE', url, null, headers);
|
| - whenJSONP(url, [headers]) =>
|
| - when('JSONP', url, null, headers);
|
| -
|
| - whenPUT(url, [data, headers]) =>
|
| - when('PUT', url, data, headers);
|
| - whenPOST(url, [data, headers]) =>
|
| - when('POST', url, data, headers);
|
| - whenPATCH(url, [data, headers]) =>
|
| - when('PATCH', url, data, headers);
|
| + _Chain whenGET(url, [headers]) => when('GET', url, null, headers);
|
|
|
| /**
|
| * @ngdoc method
|
| - * @name ngMock.$httpBackend#whenHEAD
|
| + * @name ngMock.$httpBackend#whenDELETE
|
| * @methodOf ngMock.$httpBackend
|
| * @description
|
| - * Creates a new backend definition for HEAD requests. For more info see `when()`.
|
| + * Creates a new backend definition for DELETE requests. For more info see `when()`.
|
| *
|
| * @param {string|RegExp} url HTTP url.
|
| * @param {(Object|function(Object))=} headers HTTP headers.
|
| * @returns {requestHandler} Returns an object with `respond` method that control how a matched
|
| * request is handled.
|
| */
|
| + _Chain whenDELETE(url, [headers]) => when('DELETE', url, null, headers);
|
|
|
| /**
|
| * @ngdoc method
|
| - * @name ngMock.$httpBackend#whenDELETE
|
| + * @name ngMock.$httpBackend#whenJSONP
|
| * @methodOf ngMock.$httpBackend
|
| * @description
|
| - * Creates a new backend definition for DELETE requests. For more info see `when()`.
|
| + * Creates a new backend definition for JSONP requests. For more info see `when()`.
|
| *
|
| * @param {string|RegExp} url HTTP url.
|
| - * @param {(Object|function(Object))=} headers HTTP headers.
|
| * @returns {requestHandler} Returns an object with `respond` method that control how a matched
|
| * request is handled.
|
| */
|
| + _Chain whenJSONP(url, [headers]) => when('JSONP', url, null, headers);
|
|
|
| /**
|
| * @ngdoc method
|
| - * @name ngMock.$httpBackend#whenPOST
|
| + * @name ngMock.$httpBackend#whenPUT
|
| * @methodOf ngMock.$httpBackend
|
| * @description
|
| - * Creates a new backend definition for POST requests. For more info see `when()`.
|
| + * Creates a new backend definition for PUT requests. For more info see `when()`.
|
| *
|
| * @param {string|RegExp} url HTTP url.
|
| * @param {(string|RegExp)=} data HTTP request body.
|
| @@ -320,13 +304,14 @@ class MockHttpBackend implements HttpBackend {
|
| * @returns {requestHandler} Returns an object with `respond` method that control how a matched
|
| * request is handled.
|
| */
|
| + _Chain whenPUT(url, [data, headers]) => when('PUT', url, data, headers);
|
|
|
| /**
|
| * @ngdoc method
|
| - * @name ngMock.$httpBackend#whenPUT
|
| + * @name ngMock.$httpBackend#whenPOST
|
| * @methodOf ngMock.$httpBackend
|
| * @description
|
| - * Creates a new backend definition for PUT requests. For more info see `when()`.
|
| + * Creates a new backend definition for POST requests. For more info see `when()`.
|
| *
|
| * @param {string|RegExp} url HTTP url.
|
| * @param {(string|RegExp)=} data HTTP request body.
|
| @@ -334,20 +319,22 @@ class MockHttpBackend implements HttpBackend {
|
| * @returns {requestHandler} Returns an object with `respond` method that control how a matched
|
| * request is handled.
|
| */
|
| + _Chain whenPOST(url, [data, headers]) => when('POST', url, data, headers);
|
| +
|
| + _Chain whenPATCH(url, [data, headers]) => when('PATCH', url, data, headers);
|
|
|
| /**
|
| * @ngdoc method
|
| - * @name ngMock.$httpBackend#whenJSONP
|
| + * @name ngMock.$httpBackend#whenHEAD
|
| * @methodOf ngMock.$httpBackend
|
| * @description
|
| - * Creates a new backend definition for JSONP requests. For more info see `when()`.
|
| + * Creates a new backend definition for HEAD requests. For more info see `when()`.
|
| *
|
| * @param {string|RegExp} url HTTP url.
|
| + * @param {(Object|function(Object))=} headers HTTP headers.
|
| * @returns {requestHandler} Returns an object with `respond` method that control how a matched
|
| * request is handled.
|
| */
|
| - //createShortMethods('when');
|
| -
|
|
|
| /**
|
| * @ngdoc method
|
| @@ -369,12 +356,12 @@ class MockHttpBackend implements HttpBackend {
|
| * an array containing response status (number), response data (string) and response headers
|
| * (Object).
|
| */
|
| - expect(method, [url, data, headers]) {
|
| + _Chain expect(method, [url, data, headers]) {
|
| var expectation = new MockHttpExpectation(method, url, data, headers);
|
| expectations.add(expectation);
|
| return new _Chain(respond: (status, data, headers) {
|
| - expectation.response = _createResponse(status, data, headers);
|
| - });
|
| + expectation.response = _createResponse(status, data, headers);
|
| + });
|
| }
|
|
|
|
|
| @@ -390,52 +377,41 @@ class MockHttpBackend implements HttpBackend {
|
| * @returns {requestHandler} Returns an object with `respond` method that control how a matched
|
| * request is handled. See #expect for more info.
|
| */
|
| - expectGET(url, [headers]) =>
|
| - expect('GET', url, null, headers);
|
| - expectDELETE(url, [headers]) =>
|
| - expect('DELETE', url, null, headers);
|
| - expectJSONP(url, [headers]) =>
|
| - expect('JSONP', url, null, headers);
|
| -
|
| - expectPUT(url, [data, headers]) =>
|
| - expect('PUT', url, data, headers);
|
| - expectPOST(url, [data, headers]) =>
|
| - expect('POST', url, data, headers);
|
| - expectPATCH(url, [data, headers]) =>
|
| - expect('PATCH', url, data, headers);
|
| + _Chain expectGET(url, [headers]) => expect('GET', url, null, headers);
|
|
|
| /**
|
| * @ngdoc method
|
| - * @name ngMock.$httpBackend#expectHEAD
|
| + * @name ngMock.$httpBackend#expectDELETE
|
| * @methodOf ngMock.$httpBackend
|
| * @description
|
| - * Creates a new request expectation for HEAD requests. For more info see `expect()`.
|
| + * Creates a new request expectation for DELETE requests. For more info see `expect()`.
|
| *
|
| * @param {string|RegExp} url HTTP url.
|
| * @param {Object=} headers HTTP headers.
|
| * @returns {requestHandler} Returns an object with `respond` method that control how a matched
|
| * request is handled.
|
| */
|
| + _Chain expectDELETE(url, [headers]) => expect('DELETE', url, null, headers);
|
|
|
| /**
|
| * @ngdoc method
|
| - * @name ngMock.$httpBackend#expectDELETE
|
| + * @name ngMock.$httpBackend#expectJSONP
|
| * @methodOf ngMock.$httpBackend
|
| * @description
|
| - * Creates a new request expectation for DELETE requests. For more info see `expect()`.
|
| + * Creates a new request expectation for JSONP requests. For more info see `expect()`.
|
| *
|
| * @param {string|RegExp} url HTTP url.
|
| - * @param {Object=} headers HTTP headers.
|
| * @returns {requestHandler} Returns an object with `respond` method that control how a matched
|
| * request is handled.
|
| */
|
| + _Chain expectJSONP(url, [headers]) => expect('JSONP', url, null, headers);
|
|
|
| /**
|
| * @ngdoc method
|
| - * @name ngMock.$httpBackend#expectPOST
|
| + * @name ngMock.$httpBackend#expectPUT
|
| * @methodOf ngMock.$httpBackend
|
| * @description
|
| - * Creates a new request expectation for POST requests. For more info see `expect()`.
|
| + * Creates a new request expectation for PUT requests. For more info see `expect()`.
|
| *
|
| * @param {string|RegExp} url HTTP url.
|
| * @param {(string|RegExp)=} data HTTP request body.
|
| @@ -443,13 +419,14 @@ class MockHttpBackend implements HttpBackend {
|
| * @returns {requestHandler} Returns an object with `respond` method that control how a matched
|
| * request is handled.
|
| */
|
| + _Chain expectPUT(url, [data, headers]) => expect('PUT', url, data, headers);
|
|
|
| /**
|
| * @ngdoc method
|
| - * @name ngMock.$httpBackend#expectPUT
|
| + * @name ngMock.$httpBackend#expectPOST
|
| * @methodOf ngMock.$httpBackend
|
| * @description
|
| - * Creates a new request expectation for PUT requests. For more info see `expect()`.
|
| + * Creates a new request expectation for POST requests. For more info see `expect()`.
|
| *
|
| * @param {string|RegExp} url HTTP url.
|
| * @param {(string|RegExp)=} data HTTP request body.
|
| @@ -457,6 +434,7 @@ class MockHttpBackend implements HttpBackend {
|
| * @returns {requestHandler} Returns an object with `respond` method that control how a matched
|
| * request is handled.
|
| */
|
| + _Chain expectPOST(url, [data, headers]) => expect('POST', url, data, headers);
|
|
|
| /**
|
| * @ngdoc method
|
| @@ -471,20 +449,20 @@ class MockHttpBackend implements HttpBackend {
|
| * @returns {requestHandler} Returns an object with `respond` method that control how a matched
|
| * request is handled.
|
| */
|
| + _Chain expectPATCH(url, [data, headers]) => expect('PATCH', url, data, headers);
|
|
|
| /**
|
| * @ngdoc method
|
| - * @name ngMock.$httpBackend#expectJSONP
|
| + * @name ngMock.$httpBackend#expectHEAD
|
| * @methodOf ngMock.$httpBackend
|
| * @description
|
| - * Creates a new request expectation for JSONP requests. For more info see `expect()`.
|
| + * Creates a new request expectation for HEAD requests. For more info see `expect()`.
|
| *
|
| * @param {string|RegExp} url HTTP url.
|
| + * @param {Object=} headers HTTP headers.
|
| * @returns {requestHandler} Returns an object with `respond` method that control how a matched
|
| * request is handled.
|
| */
|
| - //createShortMethods('expect');
|
| -
|
|
|
| /**
|
| * @ngdoc method
|
| @@ -497,7 +475,7 @@ class MockHttpBackend implements HttpBackend {
|
| * all pending requests will be flushed. If there are no pending requests when the flush method
|
| * is called an exception is thrown (as this typically a sign of programming error).
|
| */
|
| - flush([count]) {
|
| + void flush([count]) {
|
| if (responses.isEmpty) throw ['No pending request to flush !'];
|
|
|
| if (count != null) {
|
| @@ -529,7 +507,7 @@ class MockHttpBackend implements HttpBackend {
|
| * afterEach($httpBackend.verifyNoOutstandingExpectation);
|
| * </pre>
|
| */
|
| - verifyNoOutstandingExpectation() {
|
| + void verifyNoOutstandingExpectation() {
|
| if (!expectations.isEmpty) {
|
| throw ['Unsatisfied requests: ${expectations.join(', ')}'];
|
| }
|
| @@ -550,10 +528,8 @@ class MockHttpBackend implements HttpBackend {
|
| * afterEach($httpBackend.verifyNoOutstandingRequest);
|
| * </pre>
|
| */
|
| - verifyNoOutstandingRequest() {
|
| - if (!responses.isEmpty) {
|
| - throw ['Unflushed requests: ${responses.length}'];
|
| - }
|
| + void verifyNoOutstandingRequest() {
|
| + if (!responses.isEmpty) throw ['Unflushed requests: ${responses.length}'];
|
| }
|
|
|
|
|
| @@ -566,7 +542,7 @@ class MockHttpBackend implements HttpBackend {
|
| * call resetExpectations during a multiple-phase test when you want to reuse the same instance of
|
| * $httpBackend mock.
|
| */
|
| - resetExpectations() {
|
| + void resetExpectations() {
|
| expectations.length = 0;
|
| responses.length = 0;
|
| }
|
| @@ -611,10 +587,7 @@ class MockHttpRequest implements HttpRequest {
|
|
|
| void abort() {}
|
| bool dispatchEvent(Event event) => false;
|
| - String getAllResponseHeaders() {
|
| - if (headers == null) return null;
|
| - return headers;
|
| - }
|
| + String getAllResponseHeaders() => headers;
|
| String getResponseHeader(String header) => null;
|
|
|
| void open(String method, String url, {bool async, String user, String password}) {}
|
|
|