diff --git a/src/ng/parse.js b/src/ng/parse.js index 93d88229cc27..01df46857069 100644 --- a/src/ng/parse.js +++ b/src/ng/parse.js @@ -1775,7 +1775,7 @@ function $ParseProvider() { return addInterceptor(exp, interceptorFn); default: - return noop; + return addInterceptor(noop, interceptorFn); } }; diff --git a/test/ng/parseSpec.js b/test/ng/parseSpec.js index 3f0027e604ff..82c6223e86ae 100644 --- a/test/ng/parseSpec.js +++ b/test/ng/parseSpec.js @@ -3165,6 +3165,17 @@ describe('parser', function() { expect(called).toBe(true); })); + it('should invoke interceptors when the expression is `undefined`', inject(function($parse) { + var called = false; + function interceptor(v) { + called = true; + return v; + } + scope.$watch($parse(undefined, interceptor)); + scope.$digest(); + expect(called).toBe(true); + })); + it('should treat filters with constant input as constants', inject(function($parse) { var filterCalls = 0; $filterProvider.register('foo', valueFn(function(input) {