From bf8e0540f8195edbaaa3d0138bd6a26e79e1ab58 Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Thu, 24 Nov 2011 03:40:27 -0800 Subject: feat(dump): add support for arrays, functions, errors --- src/angular-mocks.js | 47 +++++++++++++++++++++++++++++++---------------- 1 file changed, 31 insertions(+), 16 deletions(-) (limited to 'src/angular-mocks.js') diff --git a/src/angular-mocks.js b/src/angular-mocks.js index 6f69f0d6..903e6ff1 100644 --- a/src/angular-mocks.js +++ b/src/angular-mocks.js @@ -534,24 +534,38 @@ angular.module.ngMock.TzDate.prototype = Date.prototype; * @return a serialized string of the argument */ angular.module.ngMock.dump = function(object){ - var out; - if (angular.isElement(object)) { - object = angular.element(object); - out = angular.element('
') - angular.forEach(object, function(element){ - out.append(angular.element(element).clone()); - }); - out = out.html(); - } else if (angular.isObject(object)) { - if (angular.isFunction(object.$eval) && angular.isFunction(object.$apply)) { - out = serializeScope(object); + return serialize(object); + + function serialize(object) { + var out; + + if (angular.isElement(object)) { + object = angular.element(object); + out = angular.element('
') + angular.forEach(object, function(element){ + out.append(angular.element(element).clone()); + }); + out = out.html(); + } else if (angular.isArray(object)) { + out = []; + angular.forEach(object, function(o) { + out.push(serialize(o)); + }); + out = '[ ' + out.join(', ') + ' ]'; + } else if (angular.isObject(object)) { + if (angular.isFunction(object.$eval) && angular.isFunction(object.$apply)) { + out = serializeScope(object); + } else if (object instanceof Error) { + out = object.stack || ('' + object.name + ': ' + object.message); + } else { + out = angular.toJson(object, true); + } } else { - out = angular.toJson(object, true); + out = String(object); } - } else { - out = String(object); + + return out; } - return out; function serializeScope(scope, offset) { offset = offset || ' '; @@ -666,8 +680,9 @@ angular.module.ngMock.$HttpBackendProvider = function() { responses.shift()(); } } else { - while (responses.length) + while (responses.length) { responses.shift()(); + } } $httpBackend.verifyNoOutstandingExpectation(); }; -- cgit v1.2.3