mirror of https://github.com/mitsuhiko/flask.git
Markus Unterwaditzer
10 years ago
4 changed files with 35 additions and 96 deletions
@ -1,62 +0,0 @@
|
||||
# -*- coding: utf-8 -*- |
||||
""" |
||||
tests |
||||
~~~~~~~~~~~~~~~ |
||||
|
||||
Tests Flask itself. The majority of Flask is already tested |
||||
as part of Werkzeug. |
||||
|
||||
:copyright: (c) 2014 by Armin Ronacher. |
||||
:license: BSD, see LICENSE for more details. |
||||
""" |
||||
|
||||
from __future__ import print_function |
||||
|
||||
import os |
||||
import sys |
||||
import warnings |
||||
from functools import update_wrapper |
||||
from contextlib import contextmanager |
||||
from flask._compat import StringIO |
||||
|
||||
|
||||
@contextmanager |
||||
def catch_warnings(): |
||||
"""Catch warnings in a with block in a list""" |
||||
# make sure deprecation warnings are active in tests |
||||
warnings.simplefilter('default', category=DeprecationWarning) |
||||
|
||||
filters = warnings.filters |
||||
warnings.filters = filters[:] |
||||
old_showwarning = warnings.showwarning |
||||
log = [] |
||||
|
||||
def showwarning(message, category, filename, lineno, file=None, line=None): |
||||
log.append(locals()) |
||||
try: |
||||
warnings.showwarning = showwarning |
||||
yield log |
||||
finally: |
||||
warnings.filters = filters |
||||
warnings.showwarning = old_showwarning |
||||
|
||||
|
||||
@contextmanager |
||||
def catch_stderr(): |
||||
"""Catch stderr in a StringIO""" |
||||
old_stderr = sys.stderr |
||||
sys.stderr = rv = StringIO() |
||||
try: |
||||
yield rv |
||||
finally: |
||||
sys.stderr = old_stderr |
||||
|
||||
|
||||
def emits_module_deprecation_warning(f): |
||||
def new_f(self, *args, **kwargs): |
||||
with catch_warnings() as log: |
||||
f(self, *args, **kwargs) |
||||
assert log, 'expected deprecation warning' |
||||
for entry in log: |
||||
assert 'Modules are deprecated' in str(entry['message']) |
||||
return update_wrapper(new_f, f) |
Loading…
Reference in new issue