Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(37)

Unified Diff: PRESUBMIT_test_mocks.py

Issue 719463003: Presubmit checks for user actions intorduced in HTML files. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: actions.xml as a temporary file Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « PRESUBMIT_test.py ('k') | chrome/browser/resources/PRESUBMIT.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: PRESUBMIT_test_mocks.py
diff --git a/PRESUBMIT_test_mocks.py b/PRESUBMIT_test_mocks.py
new file mode 100644
index 0000000000000000000000000000000000000000..1b32eb5d5152a35a33deb58f6e6ce33c1089ab0e
--- /dev/null
+++ b/PRESUBMIT_test_mocks.py
@@ -0,0 +1,85 @@
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import json
+import os
+import re
+import subprocess
+import sys
+
+
+class MockInputApi(object):
brettw 2014/12/03 19:28:02 Can these classes have class-level comments explai
+ def __init__(self):
+ self.json = json
+ self.re = re
+ self.os_path = os.path
+ self.python_executable = sys.executable
+ self.subprocess = subprocess
+ self.files = []
+ self.is_committing = False
+
+ def AffectedFiles(self, file_filter=None):
+ return self.files
+
+ def PresubmitLocalPath(self):
+ return os.path.dirname(__file__)
+
+ def ReadFile(self, filename, mode='rU'):
+ for file_ in self.files:
+ if file_.LocalPath() == filename:
+ return '\n'.join(file_.NewContents())
+ # Otherwise, file is not in our mock API.
+ raise IOError, "No such file or directory: '%s'" % filename
+
+
+class MockOutputApi(object):
+ class PresubmitResult(object):
+ def __init__(self, message, items=None, long_text=''):
+ self.message = message
+ self.items = items
+ self.long_text = long_text
+
+ class PresubmitError(PresubmitResult):
+ def __init__(self, message, items, long_text=''):
+ MockOutputApi.PresubmitResult.__init__(self, message, items, long_text)
+ self.type = 'error'
+
+ class PresubmitPromptWarning(PresubmitResult):
+ def __init__(self, message, items, long_text=''):
+ MockOutputApi.PresubmitResult.__init__(self, message, items, long_text)
+ self.type = 'warning'
+
+ class PresubmitNotifyResult(PresubmitResult):
+ def __init__(self, message, items, long_text=''):
+ MockOutputApi.PresubmitResult.__init__(self, message, items, long_text)
+ self.type = 'notify'
+
+ class PresubmitPromptOrNotify(PresubmitResult):
+ def __init__(self, message, items, long_text=''):
+ MockOutputApi.PresubmitResult.__init__(self, message, items, long_text)
+ self.type = 'promptOrNotify'
+
+
+class MockFile(object):
+ def __init__(self, local_path, new_contents):
+ self._local_path = local_path
+ self._new_contents = new_contents
+ self._changed_contents = [(i + 1, l) for i, l in enumerate(new_contents)]
+
+ def ChangedContents(self):
+ return self._changed_contents
+
+ def NewContents(self):
+ return self._new_contents
+
+ def LocalPath(self):
+ return self._local_path
+
+
+class MockChange(object):
+ def __init__(self, changed_files):
+ self._changed_files = changed_files
+
+ def LocalPaths(self):
+ return self._changed_files
« no previous file with comments | « PRESUBMIT_test.py ('k') | chrome/browser/resources/PRESUBMIT.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698