diff options
| -rw-r--r-- | src/ngResource/resource.js | 2 | ||||
| -rw-r--r-- | test/ngResource/resourceSpec.js | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/ngResource/resource.js b/src/ngResource/resource.js index a2e915e8..c165ffab 100644 --- a/src/ngResource/resource.js +++ b/src/ngResource/resource.js @@ -392,7 +392,7 @@ angular.module('ngResource', ['ng']). actionParams = extend({}, paramDefaults, actionParams); forEach(actionParams, function(value, key){ if (isFunction(value)) { value = value(); } - ids[key] = value.charAt && value.charAt(0) == '@' ? getter(data, value.substr(1)) : value; + ids[key] = value && value.charAt && value.charAt(0) == '@' ? getter(data, value.substr(1)) : value; }); return ids; } diff --git a/test/ngResource/resourceSpec.js b/test/ngResource/resourceSpec.js index 916fa455..ec7f1476 100644 --- a/test/ngResource/resourceSpec.js +++ b/test/ngResource/resourceSpec.js @@ -205,6 +205,16 @@ describe("resource", function() { }); + it('should not throw TypeError on null default params', function() { + $httpBackend.expect('GET', '/Path?').respond('{}'); + var R = $resource('/Path', {param: null}, {get: {method: 'GET'}}); + + expect(function() { + R.get({}); + }).not.toThrow(); + }); + + it('should handle multiple params with same name', function() { var R = $resource('/:id/:id'); |
