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

Unified Diff: sync/PRESUBMIT_test.py

Issue 2130453004: [Sync] Move //sync to //components/sync. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 4 years, 5 months 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 | « sync/PRESUBMIT.py ('k') | sync/android/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sync/PRESUBMIT_test.py
diff --git a/sync/PRESUBMIT_test.py b/sync/PRESUBMIT_test.py
deleted file mode 100644
index fdcae2453b092443a66ae0091eab420b5304b518..0000000000000000000000000000000000000000
--- a/sync/PRESUBMIT_test.py
+++ /dev/null
@@ -1,139 +0,0 @@
-# Copyright (c) 2016 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 os
-import re
-import sys
-import unittest
-import PRESUBMIT
-
-sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
-from PRESUBMIT_test_mocks import MockOutputApi, MockChange
-
-class MockInputApi(object):
- """ Mocked input api for unit testing of presubmit.
- This lets us mock things like file system operations and changed files.
- """
- def __init__(self):
- self.re = re
- self.os_path = os.path
- self.files = []
- self.is_committing = False
-
- def AffectedFiles(self):
- return self.files
-
- def AffectedSourceFiles(self):
- return self.files
-
- def ReadFile(self, f):
- """ Returns the mock contents of f if they've been defined.
- """
- for api_file in self.files:
- if api_file.LocalPath() == f:
- return api_file.NewContents()
-
-
-class MockFile(object):
- """Mock file object so that presubmit can act invoke file system operations.
- """
- 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
-
- def AbsoluteLocalPath(self):
- return self._local_path
-# Format string used as the contents of a mock sync.proto in order to
-# test presubmit parsing of EntitySpecifics definition in that file.
-MOCK_PROTOFILE_CONTENTS = ('\n'
- 'message EntitySpecifics {\n'
- '//comment\n'
- '\n'
- 'optional AutofillSpecifics autofill = 123;\n'
- 'optional AppSpecifics app = 456;\n'
- 'optional AppSettingSpecifics app_setting = 789;\n'
- '//comment\n'
- '}\n')
-
-
-# Format string used as the contents of a mock model_type.cc
-# in order to test presubmit parsing of the ModelTypeInfoMap in that file.
-MOCK_MODELTYPE_CONTENTS =('\n'
- 'const ModelTypeInfo kModelTypeInfoMap[] = {\n'
- '{APP_SETTINGS, "APP_SETTING", "app_settings", "App settings",\n'
- 'sync_pb::EntitySpecifics::kAppSettingFieldNumber, 13},\n'
- '%s\n'
- '};\n')
-
-
-class ModelTypeInfoChangeTest(unittest.TestCase):
- """Unit testing class that contains tests for sync/PRESUBMIT.py.
- """
- def test_ValidChangeMultiLine(self):
- results = self._testChange('{APPS, "APP", "apps", "Apps",\n'
- 'sync_pb::EntitySpecifics::kAppFieldNumber, 12},')
- self.assertEqual(0, len(results))
-
- def testValidChangeToleratesPluralization(self):
- results = self._testChange('{APPS, "APP", "apps", "App",\n'
- 'sync_pb::EntitySpecifics::kAppFieldNumber, 12},')
- self.assertEqual(0, len(results))
-
- def testValidChangeGrandfatheredEntry(self):
- results = self._testChange('{PROXY_TABS, "", "", "Tabs", -1, 25},')
- self.assertEqual(0, len(results))
-
- def testInvalidChangeMismatchedNotificationType(self):
- results = self._testChange('{AUTOFILL, "AUTOFILL_WRONG", "autofill",\n'
- '"Autofill",sync_pb::EntitySpecifics::kAutofillFieldNumber, 6},')
- self.assertEqual(1, len(results))
- self.assertTrue('notification type' in results[0].message)
-
- def testInvalidChangeInconsistentModelType(self):
- results = self._testChange('{AUTOFILL, "AUTOFILL", "autofill",\n'
- '"Autofill Extra",sync_pb::EntitySpecifics::kAutofillFieldNumber, 6},')
- self.assertEqual(1, len(results))
- self.assertTrue('model type string' in results[0].message)
-
- def testInvalidChangeNotTitleCased(self):
- results = self._testChange('{AUTOFILL, "AUTOFILL", "autofill",\n'
- '"autofill",sync_pb::EntitySpecifics::kAutofillFieldNumber, 6},')
- self.assertEqual(1, len(results))
- self.assertTrue('title' in results[0].message)
-
- def testInvalidChangeInconsistentRootTag(self):
- results = self._testChange('{AUTOFILL, "AUTOFILL", "autofill root",\n'
- '"Autofill",sync_pb::EntitySpecifics::kAutofillFieldNumber, 6},')
- self.assertEqual(1, len(results))
- self.assertTrue('root tag' in results[0].message)
-
- def testInvalidChangeDuplicatedValues(self):
- results = self._testChange('{APP_SETTINGS, "APP_SETTING",\n'
- '"app_settings", "App settings",\n'
- 'sync_pb::EntitySpecifics::kAppSettingFieldNumber, 13},\n')
- self.assertEqual(6, len(results))
- self.assertTrue('APP_SETTINGS' in results[0].message)
-
- def _testChange(self, modeltype_literal):
- mock_input_api = MockInputApi()
- mock_input_api.files = [
- MockFile(os.path.abspath('./protocol/sync.proto'),
- MOCK_PROTOFILE_CONTENTS),
- MockFile(os.path.abspath('./syncable/model_type.cc'),
- MOCK_MODELTYPE_CONTENTS % (modeltype_literal))
- ]
-
- return PRESUBMIT.CheckChangeOnCommit(mock_input_api, MockOutputApi())
-if __name__ == '__main__':
- unittest.main()
« no previous file with comments | « sync/PRESUBMIT.py ('k') | sync/android/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698