diff options
| -rw-r--r-- | src/ngResource/resource.js | 3 | ||||
| -rw-r--r-- | test/ngResource/resourceSpec.js | 20 | 
2 files changed, 16 insertions, 7 deletions
diff --git a/src/ngResource/resource.js b/src/ngResource/resource.js index cd03d2d2..0a40cedd 100644 --- a/src/ngResource/resource.js +++ b/src/ngResource/resource.js @@ -285,7 +285,8 @@ angular.module('ngResource', ['ng']).          params = params || {};          forEach(this.urlParams, function(_, urlParam){ -          if (val = (params[urlParam] || self.defaults[urlParam])) { +          val = params.hasOwnProperty(urlParam) ? params[urlParam] : self.defaults[urlParam]; +          if (isDefined(val) && val !== null) {              encodedVal = encodeUriSegment(val);              url = url.replace(new RegExp(":" + urlParam + "(\\W)", "g"), encodedVal + "$1");            } else { diff --git a/test/ngResource/resourceSpec.js b/test/ngResource/resourceSpec.js index 37a8d568..dc837f80 100644 --- a/test/ngResource/resourceSpec.js +++ b/test/ngResource/resourceSpec.js @@ -51,14 +51,22 @@ describe("resource", function() {    it('should ignore slashes of undefinend parameters', function() {      var R = $resource('/Path/:a/:b/:c'); -    $httpBackend.when('GET').respond('{}'); -    $httpBackend.expect('GET', '/Path'); -    $httpBackend.expect('GET', '/Path/1'); -    $httpBackend.expect('GET', '/Path/2/3'); -    $httpBackend.expect('GET', '/Path/4/5'); -    $httpBackend.expect('GET', '/Path/6/7/8'); +    $httpBackend.when('GET', '/Path').respond('{}'); +    $httpBackend.when('GET', '/Path/0').respond('{}'); +    $httpBackend.when('GET', '/Path/false').respond('{}'); +    $httpBackend.when('GET', '/Path').respond('{}'); +    $httpBackend.when('GET', '/Path/').respond('{}'); +    $httpBackend.when('GET', '/Path/1').respond('{}'); +    $httpBackend.when('GET', '/Path/2/3').respond('{}'); +    $httpBackend.when('GET', '/Path/4/5').respond('{}'); +    $httpBackend.when('GET', '/Path/6/7/8').respond('{}');      R.get({}); +    R.get({a:0}); +    R.get({a:false}); +    R.get({a:null}); +    R.get({a:undefined}); +    R.get({a:''});      R.get({a:1});      R.get({a:2, b:3});      R.get({a:4, c:5});  | 
