The test client now properly pops response contexts on __exit__

This commit is contained in:
Armin Ronacher 2011-08-26 14:01:46 +01:00
parent c8ec453d86
commit d49221bf2e
4 changed files with 48 additions and 4 deletions

View file

@ -126,6 +126,38 @@ class TestToolsTestCase(FlaskTestCase):
else:
raise AssertionError('some kind of exception expected')
def test_reuse_client(self):
app = flask.Flask(__name__)
c = app.test_client()
with c:
self.assert_equal(c.get('/').status_code, 404)
with c:
self.assert_equal(c.get('/').status_code, 404)
def test_test_client_calls_teardown_handlers(self):
app = flask.Flask(__name__)
called = []
@app.teardown_request
def remember(error):
called.append(error)
with app.test_client() as c:
self.assert_equal(called, [])
c.get('/')
self.assert_equal(called, [])
self.assert_equal(called, [None])
del called[:]
with app.test_client() as c:
self.assert_equal(called, [])
c.get('/')
self.assert_equal(called, [])
c.get('/')
self.assert_equal(called, [None])
self.assert_equal(called, [None, None])
def suite():
suite = unittest.TestSuite()