Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Commit 37cb9ad

Browse files
committed
fix($parse): Copy inputs for expressions with expensive checks
Closes: #13871
1 parent 5a3504a commit 37cb9ad

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

src/ng/parse.js

+1
Original file line numberDiff line numberDiff line change
@@ -1819,6 +1819,7 @@ function $ParseProvider() {
18191819
for (var i = 0; fn.inputs && i < fn.inputs.length; ++i) {
18201820
fn.inputs[i] = expensiveChecksInterceptor(fn.inputs[i]);
18211821
}
1822+
expensiveCheckFn.inputs = fn.inputs;
18221823

18231824
return expensiveCheckFn;
18241825

test/ng/parseSpec.js

+7
Original file line numberDiff line numberDiff line change
@@ -2457,6 +2457,13 @@ describe('parser', function() {
24572457
expect($parse.$$runningExpensiveChecks()).toEqual(false);
24582458
});
24592459
});
2460+
2461+
it('should handle `inputs` when running with expensive checks', inject(function($parse) {
2462+
expect(function() {
2463+
scope.$watch($parse('a + b', null, true), noop);
2464+
scope.$digest();
2465+
}).not.toThrow();
2466+
}));
24602467
});
24612468
});
24622469

0 commit comments

Comments
 (0)