diff --git a/src/ngMock/angular-mocks.js b/src/ngMock/angular-mocks.js index 9a45939c08d8..ae57902af6a8 100644 --- a/src/ngMock/angular-mocks.js +++ b/src/ngMock/angular-mocks.js @@ -1542,7 +1542,8 @@ function MockHttpExpectation(method, url, data, headers) { if (angular.isUndefined(data)) return true; if (data && angular.isFunction(data.test)) return data.test(d); if (data && angular.isFunction(data)) return data(d); - if (data && !angular.isString(data)) return angular.equals(data, angular.fromJson(d)); + if (data && !angular.isString(data)) + return angular.equals(angular.fromJson(angular.toJson(data)), angular.fromJson(d)); return data == d; }; diff --git a/test/ng/httpSpec.js b/test/ng/httpSpec.js index 192fde5c3a45..504903296d6a 100644 --- a/test/ng/httpSpec.js +++ b/test/ng/httpSpec.js @@ -963,6 +963,12 @@ describe('$http', function() { }); + it('should transform object with date into json', function() { + $httpBackend.expect('POST', '/url', {"date": new Date(Date.UTC(2013, 11, 25))}).respond(''); + $http({method: 'POST', url: '/url', data: {date: new Date(Date.UTC(2013, 11, 25))}}); + }); + + it('should ignore strings', function() { $httpBackend.expect('POST', '/url', 'string-data').respond(''); $http({method: 'POST', url: '/url', data: 'string-data'});