old_contents: from bpython import autocomplete
  
  import unittest
  try:
      from unittest import skip
  except ImportError:
      def skip(f):
          return lambda self: None
  
  #TODO: Parts of autocompletion to test:
  # Test that the right matches come back from find_matches (test that priority is correct)
  # Test the various complete methods (import, filename) to see if right matches
  # Test that MatchesIterator.substitute correctly subs given a match and a completer
  
  class TestSafeEval(unittest.TestCase):
      def test_catches_syntax_error(self):
          with self.assertRaises(autocomplete.EvaluationError):
              autocomplete.safe_eval('1re',{})
  
  
  class TestFormatters(unittest.TestCase):
  
      def test_filename(self):
          last_part_of_filename = autocomplete.FilenameCompletion.format
          self.assertEqual(last_part_of_filename('abc'), 'abc')
          self.assertEqual(last_part_of_filename('abc/'), 'abc/')
          self.assertEqual(last_part_of_filename('abc/efg'), 'efg')
          self.assertEqual(last_part_of_filename('abc/efg/'), 'efg/')
          self.assertEqual(last_part_of_filename('/abc'), 'abc')
          self.assertEqual(last_part_of_filename('ab.c/e.f.g/'), 'e.f.g/')
  
      def test_attribute(self):
          self.assertEqual(autocomplete.after_last_dot('abc.edf'), 'edf')
  
new_contents: from bpython import autocomplete
  
  import unittest
  try:
      from unittest import skip
  except ImportError:
      def skip(f):
          return lambda self: None
  
  #TODO: Parts of autocompletion to test:
  # Test that the right matches come back from find_matches (test that priority is correct)
  # Test the various complete methods (import, filename) to see if right matches
  # Test that MatchesIterator.substitute correctly subs given a match and a completer
  
  class TestSafeEval(unittest.TestCase):
      def test_catches_syntax_error(self):
          self.assertRaises(autocomplete.EvaluationError,
                            autocomplete.safe_eval, '1re', {})
  
  
  class TestFormatters(unittest.TestCase):
  
      def test_filename(self):
          last_part_of_filename = autocomplete.FilenameCompletion.format
          self.assertEqual(last_part_of_filename('abc'), 'abc')
          self.assertEqual(last_part_of_filename('abc/'), 'abc/')
          self.assertEqual(last_part_of_filename('abc/efg'), 'efg')
          self.assertEqual(last_part_of_filename('abc/efg/'), 'efg/')
          self.assertEqual(last_part_of_filename('/abc'), 'abc')
          self.assertEqual(last_part_of_filename('ab.c/e.f.g/'), 'e.f.g/')
  
      def test_attribute(self):
          self.assertEqual(autocomplete.after_last_dot('abc.edf'), 'edf')
  
subject: Make test work under Python 2.6.