コード例 #1
0
    def test_process_files__with_ignore(self):
        config = {'standard': 'PSR2', 'ignore': 'tests/fixtures/phpcs/*'}
        tool = Phpcs(self.problems, config)
        tool.process_files([self.fixtures[1]])

        problems = self.problems.all(self.fixtures[1])

        eq_(0, len(problems), 'ignore option should exclude files')
コード例 #2
0
ファイル: test_phpcs.py プロジェクト: minichate/lint-review
    def test_process_files_with_config(self):
        config = {'standard': 'Zend'}
        tool = Phpcs(self.problems, config)
        tool.process_files([self.fixtures[1]])

        problems = self.problems.all(self.fixtures[1])

        eq_(8, len(problems), 'Changing standards changes error counts')
コード例 #3
0
ファイル: test_init.py プロジェクト: tedmdelacruz/lint-review
def test_run_fixers__integration():
    # Test fixer integration with phpcs.
    tail_path = 'tests/fixtures/phpcs/has_errors.php'
    phpcs = Phpcs(Mock(), {'fixer': True}, clone_path)

    diff = fixers.run_fixers([phpcs], clone_path, [tail_path])
    eq_(1, len(diff))
    eq_(tail_path, diff[0].filename)
コード例 #4
0
    def test_execute_fixer(self):
        tool = Phpcs(self.problems, {'fixer': True})

        original = read_file(self.fixtures[1])
        tool.execute_fixer(self.fixtures)

        updated = read_and_restore_file(self.fixtures[1], original)
        assert original != updated, 'File content should change.'
        eq_(0, len(self.problems.all()), 'No errors should be recorded')
コード例 #5
0
    def test_process_files__with_config(self):
        config = {'standard': 'Zend'}
        tool = Phpcs(self.problems, config, root_dir)
        tool.process_files([self.fixtures[1]])

        problems = self.problems.all(self.fixtures[1])

        self.assertEqual(3, len(problems),
                         'Changing standards changes error counts')
コード例 #6
0
    def test_execute_fixer__no_problems_remain(self):
        tool = Phpcs(self.problems, {'fixer': True})

        # The fixture file can have all problems fixed by phpcs
        original = read_file(self.fixtures[1])
        tool.execute_fixer(self.fixtures)
        tool.process_files(self.fixtures)

        read_and_restore_file(self.fixtures[1], original)
        eq_(0, len(self.problems.all()), 'All errors should be autofixed')
コード例 #7
0
ファイル: test_phpcs.py プロジェクト: des4maisons/lint-review
 def test_create_command__with_path_based_standard(self):
     config = {'standard': 'test/CodeStandards'}
     tool = Phpcs(self.problems, config, '/some/path')
     result = tool.create_command(['some/file.php'])
     expected = [
         'phpcs', '--report=checkstyle',
         '--standard=/some/path/test/CodeStandards', '--extensions=php',
         'some/file.php'
     ]
     eq_(result, expected)
コード例 #8
0
    def test_process_files__with_invalid_exclude(self):
        config = {'standard': 'PSR2', 'exclude': 'Derpity.Derp'}
        tool = Phpcs(self.problems, config)
        tool.process_files([self.fixtures[1]])

        problems = self.problems.all()
        eq_(1, len(problems), 'A failure comment should be logged.')

        error = problems[0].body
        ok_('Your PHPCS configuration output the following error' in error)
        ok_('Derpity.Derp' in error)
コード例 #9
0
    def test_process_files__with_exclude(self):
        config = {
            'standard': 'PSR2',
            'exclude': 'Generic.WhiteSpace.DisallowTabIndent'
        }
        tool = Phpcs(self.problems, config)
        tool.process_files([self.fixtures[1]])

        problems = self.problems.all(self.fixtures[1])

        eq_(1, len(problems), 'exclude option should reduce errors.')
コード例 #10
0
    def test_process_files__with_optional_package(self):
        config = {
            'standard': 'CakePHP4'
        }
        tool = Phpcs(self.problems, config, root_dir)
        tool.process_files([self.fixtures[1]])

        problems = self.problems.all(self.fixtures[1])
        assert 'strict_types' in problems[0].body, 'Should use custom rules'

        for image in docker.images():
            self.assertNotIn('phpcs-', image, 'no phpcs image remains')
コード例 #11
0
 def test_create_command__with_builtin_standard(self):
     config = {
         'standard': 'Zend',
         'tab_width': 4,
     }
     tool = Phpcs(self.problems, config, root_dir)
     result = tool.create_command(['some/file.php'])
     expected = [
         'phpcs', '--report=checkstyle', '--standard=Zend',
         '--extensions=php', '--tab-width=4', '/src/some/file.php'
     ]
     self.assertEqual(result, expected)
コード例 #12
0
 def test_create_command__with_builtin_standard(self):
     command = 'vendor/bin/phpcs'
     if phpcs_missing:
         command = 'phpcs'
     config = {
         'standard': 'Zend',
         'tab_width': 4,
     }
     tool = Phpcs(self.problems, config, '/some/path')
     result = tool.create_command(['some/file.php'])
     expected = [
         command, '--report=checkstyle', '--standard=Zend',
         '--extensions=php', '--tab-width=4', 'some/file.php'
     ]
     eq_(result, expected)
コード例 #13
0
 def test_create_command__ignore_option_as_list(self):
     config = {
         'standard': 'PSR2',
         'extensions': ['php', 'ctp'],
         'exclude': ['rule1', 'rule2'],
         'ignore': ['tests/fixtures/phpcs/*', 'tests/fixtures/eslint/*']
     }
     tool = Phpcs(self.problems, config, root_dir)
     result = tool.create_command(['some/file.php'])
     expected = [
         'phpcs', '--report=checkstyle', '--standard=PSR2',
         '--ignore=tests/fixtures/phpcs/*,tests/fixtures/eslint/*',
         '--exclude=rule1,rule2', '--extensions=php,ctp',
         '/src/some/file.php'
     ]
     self.assertEqual(result, expected)
コード例 #14
0
 def test_create_command__ignore_option_as_list(self):
     config = {
         'standard': 'PSR2',
         'extensions': ['php', 'ctp'],
         'exclude': ['rule1', 'rule2'],
         'ignore': ['tests/fixtures/phpcs/*', 'tests/fixtures/eslint/*']
     }
     tool = Phpcs(self.problems, config)
     result = tool.create_command(['some/file.php'])
     command = 'vendor/bin/phpcs'
     if phpcs_missing:
         command = 'phpcs'
     expected = [
         command, '--report=checkstyle', '--standard=PSR2',
         '--ignore=tests/fixtures/phpcs/*,tests/fixtures/eslint/*',
         '--exclude=rule1,rule2', '--extensions=php,ctp', 'some/file.php'
     ]
     eq_(result, expected)
コード例 #15
0
 def test_has_fixer__enabled(self):
     tool = Phpcs(self.problems, {'fixer': True})
     self.assertEqual(True, tool.has_fixer())
コード例 #16
0
 def test_has_fixer__not_enabled(self):
     tool = Phpcs(self.problems, {})
     self.assertEqual(False, tool.has_fixer())
コード例 #17
0
 def setUp(self):
     self.problems = Problems()
     self.tool = Phpcs(self.problems, base_path=root_dir)
コード例 #18
0
 def test_has_fixer__not_enabled(self):
     tool = Phpcs(self.problems, {})
     eq_(False, tool.has_fixer())
コード例 #19
0
ファイル: test_phpcs.py プロジェクト: minichate/lint-review
 def setUp(self):
     self.problems = Problems()
     self.tool = Phpcs(self.problems)
コード例 #20
0
 def test_has_fixer__enabled(self):
     tool = Phpcs(self.problems, {'fixer': True})
     eq_(True, tool.has_fixer())