Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Unified Diff: third_party/pkg/angular/lib/mock/http_backend.dart

Issue 1058283006: Update pubspecs and dependencies to get pkgbuild tests working. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/pkg/angular/lib/mock/exception_handler.dart ('k') | third_party/pkg/angular/lib/mock/log.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
deleted file mode 100644
index 20a8e97a7b3d167dc81fc2d2f86b03ee761d6e64..0000000000000000000000000000000000000000
--- a/third_party/pkg/angular/lib/mock/http_backend.dart
+++ /dev/null
@@ -1,627 +0,0 @@
-part of angular.mock;
-
-class _MockXhr {
- var $$method, $$url, $$async, $$reqHeaders, $$respHeaders;
-
- void open(method, url, async) {
- $$method = method;
- $$url = url;
- $$async = async;
- $$reqHeaders = {};
- $$respHeaders = {};
- }
-
- var $$data;
-
- void send(data) {
- $$data = data;
- }
-
- void setRequestHeader(key, value) {
- $$reqHeaders[key] = value;
- }
-
- 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];
-
- String header = null;
- $$respHeaders.forEach((headerName, headerVal) {
- if (header != null) return;
- if (headerName.toLowerCase()) header = headerVal;
- });
- return header;
- }
-
- getAllResponseHeaders() {
- if ($$respHeaders == null) return '';
-
- var lines = [];
-
- $$respHeaders.forEach((key, value) {
- lines.add("$key: $value");
- });
- return lines.join('\n');
- }
-
- // noop
- abort() {}
-}
-
-/**
- * An internal class used by [MockHttpBackend].
- */
-class MockHttpExpectation {
- final method;
- final url;
- final data;
- final headers;
-
- var response;
-
- MockHttpExpectation(this.method, this.url, [this.data, this.headers]);
-
- 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;
- }
-
- bool matchUrl(u) {
- if (url == null) return true;
- if (url is RegExp) return url.hasMatch(u);
- return url == u;
- }
-
- bool matchHeaders(h) {
- if (headers == null) return true;
- if (headers is Function) return headers(h);
- return "$headers" == "$h";
- }
-
- bool matchData(d) {
- if (data == null) return true;
- 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);
- }
-
- String toString() => "$method $url";
-}
-
-
-class _Chain {
- final Function _respondFn;
- _Chain({respond}): _respondFn = respond;
- respond([x,y,z]) => _respondFn(x,y,z);
-}
-
-/**
- * A mock implementation of [HttpBackend], used in tests.
- */
-class MockHttpBackend implements HttpBackend {
- var definitions = [],
- expectations = [],
- responses = [];
-
- /**
- * This function is called from [Http] and designed to mimic the Dart APIs.
- */
- dart_async.Future request(String url,
- {String method, bool withCredentials, String responseType,
- String mimeType, Map<String, String> requestHeaders, sendData,
- void onProgress(ProgressEvent e)}) {
- dart_async.Completer c = new dart_async.Completer();
- var callback = (status, data, headers) {
- if (status >= 200 && status < 300) {
- c.complete(new MockHttpRequest(status, data, headers));
- } else {
- c.completeError(new MockProgressEvent(
- new MockHttpRequest(status, data, headers)));
- }
- };
- call(method == null ? 'GET' : method, url, sendData, callback,
- requestHeaders);
- return c.future;
- }
-
- _createResponse(statusOrDataOrFunction, dataOrHeaders, headersOrNone) {
- if (statusOrDataOrFunction is Function) return statusOrDataOrFunction;
- var status, data, headers;
- if (statusOrDataOrFunction is num) {
- status = statusOrDataOrFunction;
- data = dataOrHeaders;
- headers = headersOrNone;
- } else {
- status = 200;
- data = statusOrDataOrFunction;
- headers = dataOrHeaders;
- }
- if (data is Map || data is List) data = JSON.encode(data);
-
- return ([a,b,c,d,e]) => [status, data, headers];
- }
-
-
- /**
- * A callback oriented API. This function takes a callback with
- * will be called with (status, data, headers)
- */
- void call(method, [url, data, callback, headers, timeout]) {
- var xhr = new _MockXhr(),
- expectation = expectations.isEmpty ? null : expectations[0],
- wasExpected = false;
-
- var prettyPrint = (data) {
- return (data is String || data is Function || data is RegExp)
- ? data
- : JSON.encode(data);
- };
-
- var wrapResponse = (wrapped) {
- var handleResponse = () {
- var response = wrapped.response(method, url, data, headers);
- xhr.$$respHeaders = response[2];
- utils.relaxFnApply(callback, [response[0], response[1],
- xhr.getAllResponseHeaders()]);
- };
-
- var handleTimeout = () {
- for (var i = 0; i < responses.length; i++) {
- if (identical(responses[i], handleResponse)) {
- responses.removeAt(i);
- callback(-1, null, '');
- break;
- }
- }
- };
-
- if (timeout != null) timeout.then(handleTimeout);
- return handleResponse;
- };
-
- if (expectation != null && expectation.match(method, url)) {
- if (!expectation.matchData(data))
- throw ['Expected $expectation with different data\n' +
- 'EXPECTED: ${prettyPrint(expectation.data)}\nGOT: $data'];
-
- if (!expectation.matchHeaders(headers))
- throw ['Expected $expectation with different headers\n'
- 'EXPECTED: ${prettyPrint(expectation.headers)}\n'
- 'GOT: ${prettyPrint(headers)}'];
-
- expectations.removeAt(0);
-
- if (expectation.response != null) {
- responses.add(wrapResponse(expectation));
- return;
- }
- wasExpected = true;
- }
-
- for (var definition in definitions) {
- if (definition.match(method, url, data, headers != null ? headers : {})) {
- if (definition.response != null) {
- // if $browser specified, we do auto flush all requests
- responses.add(wrapResponse(definition));
- } else throw ['No response defined !'];
- return;
- }
- }
- throw wasExpected ?
- ['No response defined !'] :
- ['Unexpected request: $method $url\n' + (expectation != null ?
- 'Expected $expectation' :
- 'No more requests expected')];
- }
-
- /**
- * Creates a new backend definition.
- *
- * @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.
- *
- * - 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).
- */
- _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);
- });
-
- definitions.add(definition);
- return chain;
- }
-
- /**
- * @ngdoc method
- * @name ngMock.$httpBackend#whenGET
- * @methodOf ngMock.$httpBackend
- * @description
- * Creates a new backend definition for GET 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 whenGET(url, [headers]) => when('GET', url, null, headers);
-
- /**
- * @ngdoc method
- * @name ngMock.$httpBackend#whenDELETE
- * @methodOf ngMock.$httpBackend
- * @description
- * 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#whenJSONP
- * @methodOf ngMock.$httpBackend
- * @description
- * Creates a new backend definition for JSONP requests. For more info see `when()`.
- *
- * @param {string|RegExp} url HTTP url.
- * @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#whenPUT
- * @methodOf ngMock.$httpBackend
- * @description
- * 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.
- * @param {(Object|function(Object))=} headers HTTP headers.
- * @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#whenPOST
- * @methodOf ngMock.$httpBackend
- * @description
- * 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.
- * @param {(Object|function(Object))=} headers HTTP headers.
- * @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#whenHEAD
- * @methodOf ngMock.$httpBackend
- * @description
- * 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.
- */
-
- /**
- * @ngdoc method
- * @name ngMock.$httpBackend#expect
- * @methodOf ngMock.$httpBackend
- * @description
- * Creates a new request expectation.
- *
- * @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 expectation.
- * @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).
- */
- _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);
- });
- }
-
-
- /**
- * @ngdoc method
- * @name ngMock.$httpBackend#expectGET
- * @methodOf ngMock.$httpBackend
- * @description
- * Creates a new request expectation for GET 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. See #expect for more info.
- */
- _Chain expectGET(url, [headers]) => expect('GET', url, null, headers);
-
- /**
- * @ngdoc method
- * @name ngMock.$httpBackend#expectDELETE
- * @methodOf ngMock.$httpBackend
- * @description
- * 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#expectJSONP
- * @methodOf ngMock.$httpBackend
- * @description
- * Creates a new request expectation for JSONP requests. For more info see `expect()`.
- *
- * @param {string|RegExp} url HTTP url.
- * @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#expectPUT
- * @methodOf ngMock.$httpBackend
- * @description
- * 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.
- * @param {Object=} headers HTTP headers.
- * @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#expectPOST
- * @methodOf ngMock.$httpBackend
- * @description
- * 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.
- * @param {Object=} headers HTTP headers.
- * @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
- * @name ngMock.$httpBackend#expectPATCH
- * @methodOf ngMock.$httpBackend
- * @description
- * Creates a new request expectation for PATCH requests. For more info see `expect()`.
- *
- * @param {string|RegExp} url HTTP url.
- * @param {(string|RegExp)=} data HTTP request body.
- * @param {Object=} headers HTTP headers.
- * @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#expectHEAD
- * @methodOf ngMock.$httpBackend
- * @description
- * 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.
- */
-
- /**
- * @ngdoc method
- * @name ngMock.$httpBackend#flush
- * @methodOf ngMock.$httpBackend
- * @description
- * Flushes all pending requests using the trained responses.
- *
- * @param {number=} count Number of responses to flush (in the order they arrived). If undefined,
- * 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).
- */
- void flush([count]) {
- if (responses.isEmpty) throw ['No pending request to flush !'];
-
- if (count != null) {
- while (count-- > 0) {
- if (responses.isEmpty) throw ['No more pending request to flush !'];
- responses.removeAt(0)();
- }
- } else {
- while (!responses.isEmpty) {
- responses.removeAt(0)();
- }
- }
- verifyNoOutstandingExpectation();
- }
-
-
- /**
- * @ngdoc method
- * @name ngMock.$httpBackend#verifyNoOutstandingExpectation
- * @methodOf ngMock.$httpBackend
- * @description
- * Verifies that all of the requests defined via the `expect` api were made. If any of the
- * requests were not made, verifyNoOutstandingExpectation throws an exception.
- *
- * Typically, you would call this method following each test case that asserts requests using an
- * "afterEach" clause.
- *
- * <pre>
- * afterEach($httpBackend.verifyNoOutstandingExpectation);
- * </pre>
- */
- void verifyNoOutstandingExpectation() {
- if (!expectations.isEmpty) {
- throw ['Unsatisfied requests: ${expectations.join(', ')}'];
- }
- }
-
-
- /**
- * @ngdoc method
- * @name ngMock.$httpBackend#verifyNoOutstandingRequest
- * @methodOf ngMock.$httpBackend
- * @description
- * Verifies that there are no outstanding requests that need to be flushed.
- *
- * Typically, you would call this method following each test case that asserts requests using an
- * "afterEach" clause.
- *
- * <pre>
- * afterEach($httpBackend.verifyNoOutstandingRequest);
- * </pre>
- */
- void verifyNoOutstandingRequest() {
- if (!responses.isEmpty) throw ['Unflushed requests: ${responses.length}'];
- }
-
-
- /**
- * @ngdoc method
- * @name ngMock.$httpBackend#resetExpectations
- * @methodOf ngMock.$httpBackend
- * @description
- * Resets all request expectations, but preserves all backend definitions. Typically, you would
- * call resetExpectations during a multiple-phase test when you want to reuse the same instance of
- * $httpBackend mock.
- */
- void resetExpectations() {
- expectations.length = 0;
- responses.length = 0;
- }
-}
-
-/**
- * Mock implementation of the [HttpRequest] object returned from the HttpBackend.
- */
-class MockHttpRequest implements HttpRequest {
- final bool supportsCrossOrigin = false;
- final bool supportsLoadEndEvent = false;
- final bool supportsOverrideMimeType = false;
- final bool supportsProgressEvent = false;
- final Events on = null;
-
- final dart_async.Stream<ProgressEvent> onAbort = null;
- final dart_async.Stream<ProgressEvent> onError = null;
- final dart_async.Stream<ProgressEvent> onLoad = null;
- final dart_async.Stream<ProgressEvent> onLoadEnd = null;
- final dart_async.Stream<ProgressEvent> onLoadStart = null;
- final dart_async.Stream<ProgressEvent> onProgress = null;
- final dart_async.Stream<ProgressEvent> onReadyStateChange = null;
-
- final dart_async.Stream<ProgressEvent> onTimeout = null;
- final int readyState = 0;
-
- get responseText => response == null ? null : "$response";
- Map<String, String> get responseHeaders => null;
- final responseXml = null;
- final String statusText = null;
- final HttpRequestUpload upload = null;
-
- String responseType = null;
- int timeout = 0;
- bool withCredentials;
-
- final int status;
- final response;
- final String headers;
-
- MockHttpRequest(this.status, this.response, [this.headers]);
-
- void abort() {}
- bool dispatchEvent(Event event) => false;
- String getAllResponseHeaders() => headers;
- String getResponseHeader(String header) => null;
-
- void open(String method, String url, {bool async, String user, String password}) {}
- void overrideMimeType(String override) {}
- void send([data]) {}
- void setRequestHeader(String header, String value) {}
- void addEventListener(String type, EventListener listener, [bool useCapture]) {}
- void removeEventListener(String type, EventListener listener, [bool useCapture]) {}
-}
-
-class MockProgressEvent implements ProgressEvent {
- final bool bubbles = false;
- final bool cancelable = false;
- final DataTransfer clipboardData = null;
- final EventTarget currentTarget;
- final Element matchingTarget = null;
- final bool defaultPrevented = false;
- final int eventPhase = 0;
- final bool lengthComputable = false;
- final int loaded = 0;
- final List<Node> path = null;
- final int position = 0;
- final Type runtimeType = null;
- final EventTarget target = null;
- final int timeStamp = 0;
- final int total = 0;
- final int totalSize = 0;
- final String type = null;
-
- bool cancelBubble = false;
-
- MockProgressEvent(MockHttpRequest this.currentTarget);
-
- void preventDefault() {}
- void stopImmediatePropagation() {}
- void stopPropagation() {}
-}
« no previous file with comments | « third_party/pkg/angular/lib/mock/exception_handler.dart ('k') | third_party/pkg/angular/lib/mock/log.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698