diff --git a/tests/TestCase/Model/Behavior/TrashBehaviorTest.php b/tests/TestCase/Model/Behavior/TrashBehaviorTest.php
index <HASH>..<HASH> 100644
--- a/tests/TestCase/Model/Behavior/TrashBehaviorTest.php
+++ b/tests/TestCase/Model/Behavior/TrashBehaviorTest.php
@@ -164,6 +164,33 @@ class TrashBehaviorTest extends TestCase
     }
 
     /**
+     * Test the beforeDelete callback.
+     *
+     * @return void
+     */
+    public function testBeforeDeleteAbort()
+    {
+        $article = $this->Articles->get(1);
+
+        $this->Articles->getEventManager()->on(
+            'Model.beforeSave',
+            [],
+            function (Event $event, EntityInterface $entity, ArrayObject $options) use (&$hasDeleteOptionsBefore) {
+                $entity->setError('id', 'Save aborted');
+                $event->setResult(false);
+                $event->stopPropagation();
+            }
+
+        );
+
+        $result = $this->Articles->delete($article);
+
+        $this->assertFalse($result);
+        $this->assertArrayHasKey('id', $article->getErrors());
+    }
+
+
+    /**
      * Tests that the options passed to the `delete()` method are being passed on into
      * the cascading delete process.
      *
Added test for aborting delete due to a beforeSave listener