| Index: third_party/WebKit/PRESUBMIT_test.py
|
| diff --git a/third_party/WebKit/PRESUBMIT_test.py b/third_party/WebKit/PRESUBMIT_test.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..6a87437b7fc03b522de3bb18fd04ff976466de1b
|
| --- /dev/null
|
| +++ b/third_party/WebKit/PRESUBMIT_test.py
|
| @@ -0,0 +1,69 @@
|
| +# disable camel case warning
|
| +# pylint: disable=C0103
|
| +import PRESUBMIT
|
| +
|
| +import mock
|
| +import subprocess
|
| +import unittest
|
| +
|
| +from PRESUBMIT_test_mocks import MockInputApi, MockOutputApi, MockAffectedFile # pylint: disable=F0401
|
| +
|
| +
|
| +class Capture(object):
|
| + """
|
| + Class to capture a call argument that can be tested later on.
|
| + """
|
| + def __init__(self):
|
| + self.value = None
|
| +
|
| + def __eq__(self, other):
|
| + self.value = other
|
| + return True
|
| +
|
| +
|
| +class PresubmitTest(unittest.TestCase):
|
| +
|
| + @mock.patch('subprocess.Popen')
|
| + def testCheckChangeOnUploadWithWebKitAndChromiumFiles(self, _):
|
| + """
|
| + This verifies that CheckChangeOnUpload will only call check-webkit-style
|
| + on WebKit files.
|
| + """
|
| + diff_file_webkit_h = ['some diff']
|
| + diff_file_chromium_h = ['another diff']
|
| + mock_input_api = MockInputApi()
|
| + mock_input_api.files = [MockAffectedFile('FileWebkit.h',
|
| + diff_file_webkit_h),
|
| + MockAffectedFile('file_chromium.h',
|
| + diff_file_chromium_h)]
|
| + # Access to a protected member _CheckStyle
|
| + # pylint: disable=W0212
|
| + PRESUBMIT._CheckStyle(mock_input_api, MockOutputApi())
|
| + capture = Capture()
|
| + # pylint: disable=E1101
|
| + subprocess.Popen.assert_called_with(capture, stderr=-1)
|
| + self.assertEqual(4, len(capture.value))
|
| + self.assertEqual('../../FileWebkit.h', capture.value[3])
|
| +
|
| + @mock.patch('subprocess.Popen')
|
| + def testCheckChangeOnUploadWithEmptyAffectedFileList(self, _):
|
| + """
|
| + This verifies that CheckChangeOnUpload will skip calling
|
| + check-webkit-style if the affected file list is empty.
|
| + """
|
| + diff_file_chromium1_h = ['some diff']
|
| + diff_file_chromium2_h = ['another diff']
|
| + mock_input_api = MockInputApi()
|
| + mock_input_api.files = [MockAffectedFile('first_file_chromium.h',
|
| + diff_file_chromium1_h),
|
| + MockAffectedFile('second_file_chromium.h',
|
| + diff_file_chromium2_h)]
|
| + # Access to a protected member _CheckStyle
|
| + # pylint: disable=W0212
|
| + PRESUBMIT._CheckStyle(mock_input_api, MockOutputApi())
|
| + # pylint: disable=E1101
|
| + subprocess.Popen.assert_not_called()
|
| +
|
| +
|
| +if __name__ == '__main__':
|
| + unittest.main()
|
|
|