From 2ea943e690d8f09d07c13ca4d513cfafbfba33f1 Mon Sep 17 00:00:00 2001
From: Michael Merickel <michael@merickel.org>
Date: Thu, 15 Jun 2017 08:26:02 +0200
Subject: [PATCH] Merge pull request #3085 from mmerickel/reraise-invoke-exception-view

---
 pyramid/tests/test_view.py |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/pyramid/tests/test_view.py b/pyramid/tests/test_view.py
index a9ce223..e03487a 100644
--- a/pyramid/tests/test_view.py
+++ b/pyramid/tests/test_view.py
@@ -886,6 +886,18 @@
         else: # pragma: no cover
             self.fail()
 
+    def test_it_reraises_if_not_found(self):
+        request = self._makeOne()
+        dummy_exc = RuntimeError()
+        try:
+            raise dummy_exc
+        except RuntimeError:
+            self.assertRaises(
+                RuntimeError,
+                lambda: request.invoke_exception_view(reraise=True))
+        else: # pragma: no cover
+            self.fail()
+
     def test_it_raises_predicate_mismatch(self):
         from pyramid.exceptions import PredicateMismatch
         def exc_view(exc, request): pass
@@ -900,6 +912,21 @@
         else: # pragma: no cover
             self.fail()
 
+    def test_it_reraises_after_predicate_mismatch(self):
+        def exc_view(exc, request): pass
+        self.config.add_view(exc_view, context=Exception, request_method='POST')
+        request = self._makeOne()
+        request.method = 'GET'
+        dummy_exc = RuntimeError()
+        try:
+            raise dummy_exc
+        except RuntimeError:
+            self.assertRaises(
+                RuntimeError,
+                lambda: request.invoke_exception_view(reraise=True))
+        else: # pragma: no cover
+            self.fail()
+
 class ExceptionResponse(Exception):
     status = '404 Not Found'
     app_iter = ['Not Found']

--
Gitblit v1.9.3