old_contents: """Tests for kernel utility functions
  
  Authors
  -------
  * MinRK
  """
  #-----------------------------------------------------------------------------
  # Copyright (c) 2011, the IPython Development Team.
  #
  # Distributed under the terms of the Modified BSD License.
  #
  # The full license is in the file COPYING.txt, distributed with this software.
  #-----------------------------------------------------------------------------
  
  #-----------------------------------------------------------------------------
  # Imports
  #-----------------------------------------------------------------------------
  
  # Stdlib imports
  from unittest import TestCase
  
  # Third-party imports
  import nose.tools as nt
  
  # Our own imports
  from IPython.testing import decorators as dec
  from IPython.kernel.launcher import swallow_argv
  
  #-----------------------------------------------------------------------------
  # Classes and functions
  #-----------------------------------------------------------------------------
  
  @dec.parametric
  def test_swallow_argv():
      tests = [
          # expected  , argv       , aliases, flags
          (['-a', '5'], ['-a', '5'], None, None),
          (['5'], ['-a', '5'], None, ['a']),
          ([], ['-a', '5'], ['a'], None),
          ([], ['-a', '5'], ['a'], ['a']),
          ([], ['--foo'], None, ['foo']),
          (['--foo'], ['--foo'], ['foobar'], []),
          ([], ['--foo', '5'], ['foo'], []),
          ([], ['--foo=5'], ['foo'], []),
          (['--foo=5'], ['--foo=5'], [], ['foo']),
          (['5'], ['--foo', '5'], [], ['foo']),
          (['bar'], ['--foo', '5', 'bar'], ['foo'], ['foo']),
          (['bar'], ['--foo=5', 'bar'], ['foo'], ['foo']),
          (['5','bar'], ['--foo', '5', 'bar'], None, ['foo']),
          (['bar'], ['--foo', '5', 'bar'], ['foo'], None),
          (['bar'], ['--foo=5', 'bar'], ['foo'], None),
      ]
      for expected, argv, aliases, flags in tests:
          stripped = swallow_argv(argv, aliases=aliases, flags=flags)
          message = '\n'.join(['',
              "argv: %r" % argv,
              "aliases: %r" % aliases,
              "flags : %r" % flags,
              "expected : %r" % expected,
              "returned : %r" % stripped,
          ])
          yield nt.assert_equal(expected, stripped, message)
  
  
new_contents: """Tests for kernel utility functions
  
  Authors
  -------
  * MinRK
  """
  #-----------------------------------------------------------------------------
  # Copyright (c) 2011, the IPython Development Team.
  #
  # Distributed under the terms of the Modified BSD License.
  #
  # The full license is in the file COPYING.txt, distributed with this software.
  #-----------------------------------------------------------------------------
  
  #-----------------------------------------------------------------------------
  # Imports
  #-----------------------------------------------------------------------------
  
  # Stdlib imports
  from unittest import TestCase
  
  # Third-party imports
  import nose.tools as nt
  
  # Our own imports
  from IPython.testing import decorators as dec
  from IPython.kernel.launcher import swallow_argv
  
  #-----------------------------------------------------------------------------
  # Classes and functions
  #-----------------------------------------------------------------------------
  
  @dec.parametric
  def test_swallow_argv():
      tests = [
          # expected  , argv       , aliases, flags
          (['-a', '5'], ['-a', '5'], None, None),
          (['5'], ['-a', '5'], None, ['a']),
          ([], ['-a', '5'], ['a'], None),
          ([], ['-a', '5'], ['a'], ['a']),
          ([], ['--foo'], None, ['foo']),
          ([], ['--foo'], ['foobar'], []),
          ([], ['--foo', '5'], ['foo'], []),
          ([], ['--foo=5'], ['foo'], []),
          (['--foo=5'], ['--foo=5'], [], ['foo']),
          (['5'], ['--foo', '5'], [], ['foo']),
          (['bar'], ['--foo', '5', 'bar'], ['foo'], ['foo']),
          (['bar'], ['--foo=5', 'bar'], ['foo'], ['foo']),
          (['5','bar'], ['--foo', '5', 'bar'], None, ['foo']),
          (['bar'], ['--foo', '5', 'bar'], ['foo'], None),
          (['bar'], ['--foo=5', 'bar'], ['foo'], None),
      ]
      for expected, argv, aliases, flags in tests:
          stripped = swallow_argv(argv, aliases=aliases, flags=flags)
          message = '\n'.join(['',
              "argv: %r" % argv,
              "aliases: %r" % aliases,
              "flags : %r" % flags,
              "expected : %r" % expected,
              "returned : %r" % stripped,
          ])
          yield nt.assert_equal(expected, stripped, message)
  
  
subject: update swallow_argv test with prefix-matching