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

Commit 0b7fff3

Browse files
lgalfasogkalpak
authored andcommitted
fix($parse): Copy inputs for expressions with expensive checks
Closes: #13871
1 parent 96d62cc commit 0b7fff3

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

src/ng/parse.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1797,6 +1797,7 @@ function $ParseProvider() {
17971797
for (var i = 0; fn.inputs && i < fn.inputs.length; ++i) {
17981798
fn.inputs[i] = expensiveChecksInterceptor(fn.inputs[i]);
17991799
}
1800+
expensiveCheckFn.inputs = fn.inputs;
18001801

18011802
return expensiveCheckFn;
18021803

test/ng/parseSpec.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2429,6 +2429,13 @@ describe('parser', function() {
24292429
expect($parse.$$runningExpensiveChecks()).toEqual(false);
24302430
});
24312431
});
2432+
2433+
it('should handle `inputs` when running with expensive checks', inject(function($parse) {
2434+
expect(function() {
2435+
scope.$watch($parse('a + b', null, true), noop);
2436+
scope.$digest();
2437+
}).not.toThrow();
2438+
}));
24322439
});
24332440
});
24342441

0 commit comments

Comments
 (0)