old_contents: # -*- 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
  
  
  def add_to_path(path):
      """Adds an entry to sys.path if it's not already there.  This does
      not append it but moves it to the front so that we can be sure it
      is loaded.
      """
      if not os.path.isdir(path):
          raise RuntimeError('Tried to add nonexisting path')
  
      def _samefile(x, y):
          if x == y:
              return True
          try:
              return os.path.samefile(x, y)
          except (IOError, OSError, AttributeError):
              # Windows has no samefile
              return False
      sys.path[:] = [x for x in sys.path if not _samefile(path, x)]
      sys.path.insert(0, path)
  
  
  @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)
  
new_contents: # -*- 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)
  
subject: Remove old helper function