pdfium/PRESUBMIT_test_mocks.py
K. Moon f01a27d2b3 Fix non-compliant copyright headers
Fixes copyright headers that neither match the old nor the new style. In
most of these cases, this is because the copyright header was copied
from another project, such as Chromium.

Bug: pdfium:1884
Change-Id: I1943df9c2f8a0282be9f7691bdd38b054d237458
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/100391
Auto-Submit: K. Moon <kmoon@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
2022-10-31 19:41:39 +00:00

79 lines
2.0 KiB
Python

# Copyright 2020 The PDFium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import re
class MockInputApi(object):
"""Mock class for the InputApi class.
This class can be used for unittests for presubmit by initializing the files
attribute as the list of changed files.
"""
def __init__(self):
self.files = []
self.re = re
def AffectedFiles(self, file_filter=None, include_deletes=False):
# pylint: disable=unused-argument
return self.files
class MockOutputApi(object):
"""Mock class for the OutputApi class.
An instance of this class can be passed to presubmit unittests for outputting
various types of results.
"""
class PresubmitResult(object):
def __init__(self, message, items=None, long_text=''):
self.message = message
self.items = items
self.long_text = long_text
def __repr__(self):
return self.message
class PresubmitError(PresubmitResult):
def __init__(self, message, items=None, long_text=''):
MockOutputApi.PresubmitResult.__init__(self, message, items, long_text)
self.type = 'error'
class PresubmitPromptWarning(PresubmitResult):
def __init__(self, message, items=None, long_text=''):
MockOutputApi.PresubmitResult.__init__(self, message, items, long_text)
self.type = 'warning'
class MockFile(object):
"""Mock class for the File class.
This class can be used to form the mock list of changed files in
MockInputApi for presubmit unittests.
"""
def __init__(self,
local_path,
new_contents=None,
old_contents=None,
action='A'):
self._local_path = local_path
if new_contents is None:
new_contents = []
self._new_contents = new_contents
self._changed_contents = [(i + 1, l) for i, l in enumerate(new_contents)]
self._action = action
self._old_contents = old_contents
def ChangedContents(self):
return self._changed_contents
def LocalPath(self):
return self._local_path