From 427781bd28ccb77bc21ada8bf829bedc87119c63 Mon Sep 17 00:00:00 2001
From: eddyerburgh <edward.yerburgh@gmail.com>
Date: Sun, 11 Feb 2018 10:01:53 +0000
Subject: [PATCH 1/2] fix: don't fire event on disabled element

---
 src/wrappers/wrapper.js            |  5 +++++
 test/specs/wrapper/trigger.spec.js | 15 +++++++++++++++
 2 files changed, 20 insertions(+)

diff --git a/src/wrappers/wrapper.js b/src/wrappers/wrapper.js
index efc9fc730..bf1b6ec3f 100644
--- a/src/wrappers/wrapper.js
+++ b/src/wrappers/wrapper.js
@@ -522,6 +522,11 @@ export default class Wrapper implements BaseWrapper {
       throwError('you cannot set the target value of an event. See the notes section of the docs for more details—https://vue-test-utils.vuejs.org/en/api/wrapper/trigger.html')
     }
 
+    // Don't fire event on a disabled element
+    if(this.attributes().disabled) {
+      return
+    }
+
     const modifiers = {
       enter: 13,
       tab: 9,
diff --git a/test/specs/wrapper/trigger.spec.js b/test/specs/wrapper/trigger.spec.js
index c2c42c634..90e516fe4 100644
--- a/test/specs/wrapper/trigger.spec.js
+++ b/test/specs/wrapper/trigger.spec.js
@@ -93,6 +93,21 @@ describeWithShallowAndMount('trigger', (mountingMethod) => {
     expect(clickHandler.calledOnce).to.equal(true)
   })
 
+  it('does not fire on disabled elements', () => {
+    const clickHandler = sinon.stub()
+    const TestComponent = {
+      template: '<button disabled @click="clickHandler"/>',
+      props: ['clickHandler']
+    }
+    const wrapper = mountingMethod(TestComponent, {
+      propsData: {
+        clickHandler
+      }
+    })
+    wrapper.trigger('click')
+    expect(clickHandler.called).to.equal(false)
+  })
+
   it('handles .prevent', () => {
     const TestComponent = {
       template: '<input @keydown.enter.prevent="enter">'

From 5ee68dbae28924b632781bd2a2fd9cb28817f7c7 Mon Sep 17 00:00:00 2001
From: eddyerburgh <edward.yerburgh@gmail.com>
Date: Sun, 11 Feb 2018 10:26:07 +0000
Subject: [PATCH 2/2] fix: linting error

---
 src/wrappers/wrapper.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/wrappers/wrapper.js b/src/wrappers/wrapper.js
index bf1b6ec3f..3851a50fc 100644
--- a/src/wrappers/wrapper.js
+++ b/src/wrappers/wrapper.js
@@ -523,7 +523,7 @@ export default class Wrapper implements BaseWrapper {
     }
 
     // Don't fire event on a disabled element
-    if(this.attributes().disabled) {
+    if (this.attributes().disabled) {
       return
     }