Re-raise BuildError with traceback.

This commit is contained in:
Ron DuPlain 2012-04-22 12:51:31 -04:00
parent bb31188ec3
commit 8c8c524ddb
2 changed files with 20 additions and 1 deletions

View file

@ -698,8 +698,23 @@ class BasicFunctionalityTestCase(FlaskTestCase):
def test_build_error_handler(self):
app = flask.Flask(__name__)
# Test base case, a URL which results in a BuildError.
with app.test_request_context():
self.assertRaises(BuildError, flask.url_for, 'spam')
# Verify the error is re-raised if not the current exception.
try:
with app.test_request_context():
flask.url_for('spam')
except BuildError, error:
pass
try:
raise RuntimeError('Test case where BuildError is not current.')
except RuntimeError:
self.assertRaises(BuildError, app.handle_build_error, error, 'spam')
# Test a custom handler.
def handler(error, endpoint, **values):
# Just a test.
return '/test_handler/'