aboutsummaryrefslogtreecommitdiffstats
path: root/src/ngScenario/Scenario.js
diff options
context:
space:
mode:
authorMichał Gołębiowski2013-12-05 14:59:13 +0100
committerIgor Minar2013-12-30 15:09:49 -0800
commit1147f21999edf9a434cd8d24865a6455e744d858 (patch)
tree259a8f54f69f1d3273b598ff912ca22ca8d5a334 /src/ngScenario/Scenario.js
parentbddd46c8ecf49cfe6c999cd6b4a69b7d7e1f9a33 (diff)
downloadangular.js-1147f21999edf9a434cd8d24865a6455e744d858.tar.bz2
fix(input): prevent double $digest when using jQuery trigger.
If an event was performed natively, jQuery sets the isTrigger property. When triggering event manually, the field is not present. Manually triggered events are performed synchronously which causes the "$digest already in progress" error. Closes #5293
Diffstat (limited to 'src/ngScenario/Scenario.js')
-rw-r--r--src/ngScenario/Scenario.js3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/ngScenario/Scenario.js b/src/ngScenario/Scenario.js
index 9a30d8a9..f323e01d 100644
--- a/src/ngScenario/Scenario.js
+++ b/src/ngScenario/Scenario.js
@@ -239,7 +239,8 @@ function callerFile(offset) {
* To work around this we instead use our own handler that fires a real event.
*/
(function(fn){
- var parentTrigger = fn.trigger;
+ // We need a handle to the original trigger function for input tests.
+ var parentTrigger = fn._originalTrigger = fn.trigger;
fn.trigger = function(type) {
if (/(click|change|keydown|blur|input|mousedown|mouseup)/.test(type)) {
var processDefaults = [];