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'); | 
