Commits

Florent Xicluna committed 6579157

Fix Pyflakes tests for Python 2.5, and add a reporter

  • Participants
  • Parent commits ffeca0f
  • Branches flint-merge

Comments (0)

Files changed (2)

File flake8/tests/test_flakes.py

+# -*- coding: utf-8 -*-
+import sys
+
 from unittest import TestCase
 from pyflakes.api import check
 
 
-code = """
+class FlakesTestReporter(object):
+    def __init__(self):
+        self.messages = []
+        self.flakes = self.messages.append
+
+    def unexpectedError(self, filename, msg):
+        self.flakes('[unexpectedError] %s: %s' % (filename, msg))
+
+    def syntaxError(self, filename, msg, lineno, offset, text):
+        self.flakes('[syntaxError] %s:%d: %s' % (filename, lineno, msg))
+
+
+code0 = """
+try:
+    pass
+except ValueError, err:
+    print(err)
+"""
+
+code1 = """
 try:
     pass
 except ValueError as err:
 class TestFlake(TestCase):
 
     def test_exception(self):
-        for c in (code, code2, code3):
-            warnings = check(code, '(stdin)')
+        codes = [code1, code2, code3]
+        if sys.version_info < (2, 6):
+            codes[0] = code0
+        elif sys.version_info < (3,):
+            codes.insert(0, code0)
+        for code in codes:
+            reporter = FlakesTestReporter()
+            warnings = check(code, '(stdin)', reporter)
+            self.assertFalse(reporter.messages)
             self.assertEqual(warnings, 0)
 
     def test_from_import_exception_in_scope(self):
-        warnings = check(code_from_import_exception, '(stdin)')
+        reporter = FlakesTestReporter()
+        warnings = check(code_from_import_exception, '(stdin)', reporter)
+        self.assertFalse(reporter.messages)
         self.assertEqual(warnings, 0)
 
     def test_import_exception_in_scope(self):
-        warnings = check(code_import_exception, '(stdin)')
+        reporter = FlakesTestReporter()
+        warnings = check(code_import_exception, '(stdin)', reporter)
+        self.assertFalse(reporter.messages)
         self.assertEqual(warnings, 0)

File flake8/tests/test_mccabe.py

+# -*- coding: utf-8 -*-
 import unittest
 import sys
 try: