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

Unified Diff: chrome/common/extensions/PRESUBMIT_test.py

Issue 10885049: Extensions Docs Server: KILL BUILD.PY (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: better Created 8 years, 4 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 | « chrome/common/extensions/PRESUBMIT.py ('k') | chrome/common/extensions/docs/build/build.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/common/extensions/PRESUBMIT_test.py
diff --git a/chrome/common/extensions/PRESUBMIT_test.py b/chrome/common/extensions/PRESUBMIT_test.py
deleted file mode 100755
index d20ab93081631ec287598f6f70d7103d3f96a363..0000000000000000000000000000000000000000
--- a/chrome/common/extensions/PRESUBMIT_test.py
+++ /dev/null
@@ -1,461 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2012 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 unittest
-import os.path
-import PRESUBMIT
-
-
-class FakeInputApi(object):
- os_path = os.path
- def __init__(self, affected_files=[]):
- self.affected_files = affected_files
- def AffectedFiles(self):
- return self.affected_files
- def LocalPaths(self):
- return [af.LocalPath() for af in self.AffectedFiles()]
-
-
-class FakeAffectedFile(object):
- def __init__(self, local_path='', changed_contents=None):
- self._local_path = os.path.normpath(local_path)
- self._changed_contents = changed_contents
- def LocalPath(self):
- return self._local_path
- def ChangedContents(self):
- return self._changed_contents
-
-
-class FakeOutputApi(object):
- def PresubmitPromptWarning(self, warning_msg):
- return warning_msg
-
-
-class TestPresubmit(unittest.TestCase):
- def setUp(self):
- self.input_api = FakeInputApi()
- self.output_api = FakeOutputApi()
-
- def assertPathsEqual(self, path1, path2):
- self.assertEqual(os.path.normpath(path1), os.path.normpath(path2))
-
- def testCheckDocsChanges_NoFiles(self):
- input_api = FakeInputApi(affected_files=[])
- self.assertEqual([], PRESUBMIT.CheckDocChanges(input_api, self.output_api))
-
- def testCheckDocsChanges_OnlyExcpetions(self):
- input_api = FakeInputApi(affected_files=[
- FakeAffectedFile(local_path='chrome/common/extensions/docs/README'),
- FakeAffectedFile(local_path='chrome/common/extensions/docs/OWNERS')])
- self.assertEqual([], PRESUBMIT.CheckDocChanges(input_api, self.output_api))
-
- def testCheckDocsChanges_NoGeneratedFiles(self):
- input_api = FakeInputApi(affected_files=[
- FakeAffectedFile(
- local_path='chrome/common/extensions/api/foo.json'),
- FakeAffectedFile(
- local_path='chrome/common/extensions/docs/examples/foo/b/bz.js'),
- FakeAffectedFile(
- local_path='chrome/common/extensions/docs/static/foo.html')])
- expected_warning = (
- 'This change modifies the extension docs but the generated docs '
- 'have not been updated properly. See %s for more info.\n'
- ' - Changes to %s not reflected in generated doc.\n'
- ' - Changes to sample %s have not been re-zipped.\n'
- ' - Docs out of sync with %s changes.\n'
- 'First build DumpRenderTree, then update the docs by running:\n %s'
- ' --page-name=<apiName>' %
- (os.path.normpath('chrome/common/extensions/docs/README.txt'),
- os.path.normpath('chrome/common/extensions/docs/static/foo.html'),
- os.path.normpath('chrome/common/extensions/docs/examples/foo/b/bz.js'),
- os.path.normpath('chrome/common/extensions/api/foo.json'),
- os.path.normpath('chrome/common/extensions/docs/build/build.py')))
- self.assertEqual([expected_warning],
- PRESUBMIT.CheckDocChanges(input_api, self.output_api))
-
- def testCheckDocsChanges_OnlyGeneratedDocs(self):
- input_api = FakeInputApi(affected_files=[
- FakeAffectedFile(
- local_path='chrome/common/extensions/docs/apps/foo.html'),
- FakeAffectedFile(
- local_path='chrome/common/extensions/docs/extensions/foo.html'),
- FakeAffectedFile(
- local_path='chrome/common/extensions/docs/apps/bar.html'),
- FakeAffectedFile(
- local_path='chrome/common/extensions/docs/extensions/baz.html')])
- expected_warning = (
- 'This change modifies the extension docs but the generated docs '
- 'have not been updated properly. See %s for more info.\n'
- ' - Changes to generated doc %s not reflected in non-generated files.\n'
- ' - Changes to generated doc %s not reflected in non-generated files.\n'
- ' - Changes to generated doc %s not reflected in non-generated files.\n'
- ' - Changes to generated doc %s not reflected in non-generated files.\n'
- 'First build DumpRenderTree, then update the docs by running:\n %s'
- ' --page-name=<apiName>' %
- (os.path.normpath('chrome/common/extensions/docs/README.txt'),
- os.path.normpath('chrome/common/extensions/docs/apps/bar.html'),
- os.path.normpath('chrome/common/extensions/docs/apps/foo.html'),
- os.path.normpath('chrome/common/extensions/docs/extensions/baz.html'),
- os.path.normpath('chrome/common/extensions/docs/extensions/foo.html'),
- os.path.normpath('chrome/common/extensions/docs/build/build.py')))
- self.assertEqual([expected_warning],
- PRESUBMIT.CheckDocChanges(input_api, self.output_api))
-
- def testIsSkippedFile(self):
- self.assertTrue(PRESUBMIT.IsSkippedFile(
- os.path.normpath('chrome/common/extensions/docs/README.txt'),
- self.input_api))
- self.assertTrue(PRESUBMIT.IsSkippedFile(
- os.path.normpath('chrome/common/extensions/OWNERS'), self.input_api))
- self.assertTrue(PRESUBMIT.IsSkippedFile(
- os.path.normpath('chrome/common/extensions/api/README'),
- self.input_api))
- self.assertTrue(PRESUBMIT.IsSkippedFile(
- os.path.normpath('foo/bar/README.txt'), self.input_api))
- self.assertFalse(PRESUBMIT.IsSkippedFile(
- os.path.normpath('chrome/common/extensions/README/foo'),
- self.input_api))
-
- def testIsApiFile(self):
- self.assertFalse(PRESUBMIT.IsApiFile(
- os.path.normpath('chrome/common/extensions/docs/foo.html'),
- self.input_api))
- self.assertTrue(PRESUBMIT.IsApiFile(
- os.path.normpath('chrome/common/extensions/api/foo.json'),
- self.input_api))
- self.assertFalse(PRESUBMIT.IsApiFile(
- os.path.normpath('chrome/common/extensions/api/foo.html'),
- self.input_api))
- self.assertFalse(PRESUBMIT.IsApiFile(
- os.path.normpath('chrome/common/extensions/docs/api/foo.html'),
- self.input_api))
-
- def testIsBuildFile(self):
- self.assertTrue(PRESUBMIT.IsBuildFile(
- os.path.normpath('chrome/common/extensions/docs/build/foo.py'),
- self.input_api))
- self.assertTrue(PRESUBMIT.IsBuildFile(
- os.path.normpath('chrome/common/extensions/docs/build/bar.html'),
- self.input_api))
- self.assertFalse(PRESUBMIT.IsBuildFile(
- os.path.normpath('chrome/common/extensions/docs/build.py'),
- self.input_api))
- self.assertFalse(PRESUBMIT.IsBuildFile(
- os.path.normpath('chrome/common/extensions/build/foo.py'),
- self.input_api))
-
- def testIsTemplateFile(self):
- self.assertTrue(PRESUBMIT.IsTemplateFile(
- os.path.normpath('chrome/common/extensions/docs/template/foo.html'),
- self.input_api))
- self.assertTrue(PRESUBMIT.IsTemplateFile(
- os.path.normpath('chrome/common/extensions/docs/template/bar.js'),
- self.input_api))
- self.assertFalse(PRESUBMIT.IsTemplateFile(
- os.path.normpath('chrome/common/extensions/docs/template.html'),
- self.input_api))
- self.assertFalse(PRESUBMIT.IsTemplateFile(
- os.path.normpath('chrome/common/extensions/template/foo.html'),
- self.input_api))
-
- def testIsStaticDoc(self):
- self.assertFalse(PRESUBMIT.IsStaticDoc(
- os.path.normpath('chrome/common/extensions/docs/foo.html'),
- self.input_api))
- self.assertTrue(PRESUBMIT.IsStaticDoc(
- os.path.normpath('chrome/common/extensions/docs/static/foo.html'),
- self.input_api))
- self.assertFalse(PRESUBMIT.IsStaticDoc(
- os.path.normpath('chrome/common/extensions/docs/api/foo.html'),
- self.input_api))
- self.assertFalse(PRESUBMIT.IsStaticDoc(
- os.path.normpath('chrome/common/extensions/docs/static/foo.css'),
- self.input_api))
-
- def testIsSampleFile(self):
- self.assertTrue(PRESUBMIT.IsSampleFile(
- os.path.normpath(
- 'chrome/common/extensions/docs/examples/ex1/manifest.json'),
- self.input_api))
- self.assertTrue(PRESUBMIT.IsSampleFile(
- os.path.normpath(
- 'chrome/common/extensions/docs/examples/ex1/images/icon.png'),
- self.input_api))
- self.assertTrue(PRESUBMIT.IsSampleFile(
- os.path.normpath('chrome/common/extensions/docs/examples/dir'),
- self.input_api))
- self.assertTrue(PRESUBMIT.IsSampleFile(
- os.path.normpath('chrome/common/extensions/docs/examples/dir/'),
- self.input_api))
- self.assertFalse(PRESUBMIT.IsSampleFile(
- os.path.normpath(
- 'chrome/common/extensions/docs/samples/ex1/manifest.json'),
- self.input_api))
-
- def testIsJsFile(self):
- self.assertFalse(PRESUBMIT.IsJsFile(
- os.path.normpath('chrome/common/extensions/docs/foo.js'),
- self.input_api))
- self.assertTrue(PRESUBMIT.IsJsFile(
- os.path.normpath('chrome/common/extensions/docs/js/foo.js'),
- self.input_api))
- self.assertFalse(PRESUBMIT.IsJsFile(
- os.path.normpath('chrome/common/extensions/docs/js/foo.html'),
- self.input_api))
-
- def testIsCssFile(self):
- self.assertFalse(PRESUBMIT.IsCssFile(
- os.path.normpath('chrome/common/extensions/docs/foo.css'),
- self.input_api))
- self.assertTrue(PRESUBMIT.IsCssFile(
- os.path.normpath('chrome/common/extensions/docs/css/foo.css'),
- self.input_api))
- self.assertFalse(PRESUBMIT.IsCssFile(
- os.path.normpath('chrome/common/extensions/docs/css/foo.html'),
- self.input_api))
-
- def testIsGeneratedDoc(self):
- self.assertTrue(PRESUBMIT.IsGeneratedDoc(
- os.path.normpath('chrome/common/extensions/docs/apps/foo.html'),
- self.input_api))
- self.assertTrue(PRESUBMIT.IsGeneratedDoc(
- os.path.normpath('chrome/common/extensions/docs/extensions/foo.html'),
- self.input_api))
- self.assertFalse(PRESUBMIT.IsGeneratedDoc(
- os.path.normpath('chrome/common/extensions/docs/static/foo.html'),
- self.input_api))
- self.assertFalse(PRESUBMIT.IsGeneratedDoc(
- os.path.normpath('chrome/common/extensions/docs/api/foo.html'),
- self.input_api))
- self.assertFalse(PRESUBMIT.IsGeneratedDoc(
- os.path.normpath('chrome/common/extensions/docs/foo.css'),
- self.input_api))
-
- def testDocsGenerated_SomeGeneratedDocs(self):
- for path in ['apps', 'extensions']:
- input_api = FakeInputApi(affected_files=[
- FakeAffectedFile(
- local_path='chrome/common/extensions/docs/%s/foo.html' % path)])
- self.assertTrue(PRESUBMIT.DocsGenerated(input_api))
-
- def testDocsGenerated_NoGeneratedDocs(self):
- api_file = FakeAffectedFile(
- local_path='chrome/common/extensions/api/foo.json')
- input_api = FakeInputApi(affected_files=[api_file])
- self.assertFalse(PRESUBMIT.DocsGenerated(input_api))
-
- def testNonGeneratedFilesEdited_SomeNonGeneratedFiles(self):
- input_api = FakeInputApi(affected_files=[
- FakeAffectedFile(local_path='chrome/common/extensions/api/foo.json'),
- FakeAffectedFile(
- local_path='chrome/common/extensions/docs/static/index.html')])
- self.assertTrue(PRESUBMIT.NonGeneratedFilesEdited(input_api))
-
- def testNonGeneratedFilesEdited_ZeroNonGeneratedFiles(self):
- input_api = FakeInputApi(affected_files=[
- FakeAffectedFile(local_path='chrome/common/extensions/docs/one.html'),
- FakeAffectedFile(local_path='chrome/common/extensions/docs/two.html')])
- self.assertFalse(PRESUBMIT.NonGeneratedFilesEdited(input_api))
-
- def testStaticDocBuilt_ChangesMatchApps(self):
- static_file = FakeAffectedFile(
- local_path='chrome/common/extensions/docs/static/index.html',
- changed_contents=[(3, 'foo!'), (4, 'bar!')])
- generated_apps_file = FakeAffectedFile(
- local_path='chrome/common/extensions/docs/apps/index.html',
- changed_contents=[(13, 'foo!'), (14, 'bar!')])
- input_api = FakeInputApi(affected_files=[
- generated_apps_file,
- static_file])
-
- self.assertTrue(PRESUBMIT.StaticDocBuilt(static_file, input_api))
-
- def testStaticDocBuilt_ChangesMatchExtensions(self):
- static_file = FakeAffectedFile(
- local_path='chrome/common/extensions/docs/static/index.html',
- changed_contents=[(3, 'foo!'), (4, 'bar!')])
- generated_extensions_file = FakeAffectedFile(
- local_path='chrome/common/extensions/docs/extensions/index.html',
- changed_contents=[(13, 'foo!'), (14, 'bar!')])
- input_api = FakeInputApi(affected_files=[
- generated_extensions_file,
- static_file])
-
- self.assertTrue(PRESUBMIT.StaticDocBuilt(static_file, input_api))
-
- def testStaticDocBuilt_OnlyStaticChanged(self):
- static_file = FakeAffectedFile(
- local_path='chrome/common/extensions/docs/static/index.html',
- changed_contents=[(3, 'foo!'), (4, 'bar!')])
- other_static_file = FakeAffectedFile(
- local_path='chrome/common/extensions/docs/static/next.html',
- changed_contents=[(3, 'double foo!'), (4, 'double bar!')])
- input_api = FakeInputApi(affected_files=[static_file, other_static_file])
-
- self.assertFalse(PRESUBMIT.StaticDocBuilt(static_file, input_api))
- self.assertFalse(PRESUBMIT.StaticDocBuilt(other_static_file, input_api))
-
- def testStaticDocBuilt_ChangesDoNotMatch(self):
- static_file = FakeAffectedFile(
- local_path='chrome/common/extensions/docs/static/index.html',
- changed_contents=[(3, 'double foo!'), (4, 'double bar!')])
- generated_file = FakeAffectedFile(
- local_path='chrome/common/extensions/docs/index.html',
- changed_contents=[(13, 'foo!'), (14, 'bar!')])
- input_api = FakeInputApi(affected_files=[generated_file, static_file])
-
- self.assertFalse(PRESUBMIT.StaticDocBuilt(static_file, input_api))
-
- def testAlternateFilePath(self):
- path = os.path.normpath('foo/bar/baz.html')
- alt_dir = os.path.normpath('woop/dee/doo')
- self.assertPathsEqual('woop/dee/doo/baz.html',
- PRESUBMIT._AlternateFilePath(path, alt_dir,
- self.input_api))
- alt_dir = 'foo'
- self.assertPathsEqual('foo/baz.html',
- PRESUBMIT._AlternateFilePath(path, alt_dir,
- self.input_api))
- alt_dir = ''
- self.assertPathsEqual('baz.html',
- PRESUBMIT._AlternateFilePath(path, alt_dir,
- self.input_api))
-
- def testFindFileInAlternateDir(self):
- input_api = FakeInputApi(affected_files=[
- FakeAffectedFile(local_path='dir/1.html'),
- FakeAffectedFile(local_path='dir/2.html'),
- FakeAffectedFile(local_path='dir/alt/1.html'),
- FakeAffectedFile(local_path='dir/alt/3.html')])
- alt_dir = os.path.normpath('dir/alt')
-
- # Both files in affected files.
- alt_file = PRESUBMIT._FindFileInAlternateDir(
- FakeAffectedFile(local_path='dir/1.html'), alt_dir, input_api)
- self.assertTrue(alt_file)
- self.assertPathsEqual('dir/alt/1.html', alt_file.LocalPath())
-
- # Given file not in affected files.
- alt_file = PRESUBMIT._FindFileInAlternateDir(
- FakeAffectedFile(local_path='dir/3.html'), alt_dir, input_api)
- self.assertTrue(alt_file)
- self.assertPathsEqual('dir/alt/3.html', alt_file.LocalPath())
-
- # Alternate file not found.
- alt_file = PRESUBMIT._FindFileInAlternateDir(
- FakeAffectedFile(local_path='dir/2.html'), alt_dir, input_api)
- self.assertFalse(alt_file)
-
- def testChangesMatch_Same(self):
- af1 = FakeAffectedFile(changed_contents=[(1, 'foo'), (14, 'bar')])
- af2 = FakeAffectedFile(changed_contents=[(1, 'foo'), (14, 'bar')])
- self.assertTrue(PRESUBMIT._ChangesMatch(af1, af2))
- self.assertTrue(PRESUBMIT._ChangesMatch(af2, af1))
-
- def testChangesMatch_OneFileNone(self):
- af1 = FakeAffectedFile(changed_contents=[(1, 'foo'), (14, 'bar')])
- af2 = None
- self.assertFalse(PRESUBMIT._ChangesMatch(af1, af2))
- self.assertFalse(PRESUBMIT._ChangesMatch(af2, af1))
-
- def testChangesMatch_BothFilesNone(self):
- af1 = None
- af2 = None
- self.assertTrue(PRESUBMIT._ChangesMatch(af1, af2))
- self.assertTrue(PRESUBMIT._ChangesMatch(af2, af1))
-
- def testChangesMatch_DifferentLineNumbers(self):
- af1 = FakeAffectedFile(changed_contents=[(1, 'foo'), (14, 'bar')])
- af2 = FakeAffectedFile(changed_contents=[(1, 'foo'), (15, 'bar')])
- self.assertTrue(PRESUBMIT._ChangesMatch(af1, af2))
- self.assertTrue(PRESUBMIT._ChangesMatch(af2, af1))
-
- def testChangesMatch_DifferentOrder(self):
- af = FakeAffectedFile(changed_contents=[(1, 'foo'), (2, 'bar')])
- af2 = FakeAffectedFile(changed_contents=[(1, 'bar'), (2, 'foo')])
- self.assertFalse(PRESUBMIT._ChangesMatch(af, af2))
- self.assertFalse(PRESUBMIT._ChangesMatch(af2, af))
-
- def testChangesMatch_DifferentLength(self):
- af = FakeAffectedFile(changed_contents=[(14, 'bar'), (15, 'qxxy')])
- af_extra = FakeAffectedFile(changed_contents=[(1, 'foo'), (14, 'bar'),
- (23, 'baz'), (25, 'qxxy')])
- # The generated file (first arg) may have extra lines.
- self.assertTrue(PRESUBMIT._ChangesMatch(af_extra, af))
- # But not the static file (second arg).
- self.assertFalse(PRESUBMIT._ChangesMatch(af, af_extra))
-
- def testChangesMatch_SameLengthButDifferentText(self):
- af1 = FakeAffectedFile(changed_contents=[(1, 'foo'), (14, 'bar')])
- af2 = FakeAffectedFile(changed_contents=[(1, 'foo'), (14, 'baz')])
- self.assertFalse(PRESUBMIT._ChangesMatch(af1, af2))
- self.assertFalse(PRESUBMIT._ChangesMatch(af2, af1))
-
- def testChangesMatch_LineIsSubstring(self):
- af = FakeAffectedFile(changed_contents=[(1, 'foo'), (2, 'bar')])
- af_plus = FakeAffectedFile(changed_contents=[(6, 'foo'), (9, '<b>bar</b>')])
- # The generated file (first arg) can have extra formatting.
- self.assertTrue(PRESUBMIT._ChangesMatch(af_plus, af))
- # But not the static file (second arg).
- self.assertFalse(PRESUBMIT._ChangesMatch(af, af_plus))
-
- def testChangesMatch_DuplicateLines(self):
- af = FakeAffectedFile(changed_contents=[(1, 'foo'), (2, 'bar')])
- af_dups = FakeAffectedFile(changed_contents=[(7, 'foo'), (8, 'foo'),
- (9, 'bar')])
- # Duplciate lines in the generated file (first arg) will be ignored
- # like extra lines.
- self.assertTrue(PRESUBMIT._ChangesMatch(af_dups, af))
- # Duplicate lines in static file (second arg) must each have a matching
- # line in the generated file.
- self.assertFalse(PRESUBMIT._ChangesMatch(af, af_dups))
-
- def testChangesMatch_SkipEmptyLinesInStaticFile(self):
- generated_file = FakeAffectedFile(changed_contents=[(1, 'foo'),
- (14, 'bar')])
- static_file = FakeAffectedFile(changed_contents=[(1, 'foo'),
- (2, ''),
- (14, 'bar')])
- self.assertTrue(PRESUBMIT._ChangesMatch(generated_file, static_file))
-
- def testChangesMatch_SkipExtraTextInGeneratedFile(self):
- generated_file = FakeAffectedFile(changed_contents=[(1, 'foo'),
- (14, 'bar'),
- (15, 'baz')])
- static_file = FakeAffectedFile(changed_contents=[(1, 'bar')])
- self.assertTrue(PRESUBMIT._ChangesMatch(generated_file, static_file))
-
- def testChangesMatch_Multiline(self):
- generated_file = FakeAffectedFile(changed_contents=[(1, '<pre>{')])
- static_file = FakeAffectedFile(changed_contents=[(1, 'pre'), (2, '{')])
- self.assertTrue(PRESUBMIT._ChangesMatch(generated_file, static_file))
-
- def testSampleZipped_ZipInAffectedFiles(self):
- sample_file = FakeAffectedFile(
- local_path='chrome/common/extensions/docs/examples/foo/bar/baz.jpg')
- zip_file = FakeAffectedFile(
- local_path='chrome/common/extensions/docs/examples/foo/bar.zip')
- input_api = FakeInputApi(affected_files=[sample_file, zip_file])
- self.assertTrue(PRESUBMIT.SampleZipped(sample_file, input_api))
-
- def testSampleZipped_NoZip(self):
- sample_file = FakeAffectedFile(
- local_path='chrome/common/extensions/docs/examples/foo/bar.jpg')
- input_api = FakeInputApi(affected_files=[sample_file])
-
- self.assertFalse(PRESUBMIT.SampleZipped(sample_file, input_api))
-
- def testSampleZipped_WrongZip(self):
- sample_file = FakeAffectedFile(
- local_path='chrome/common/extensions/docs/examples/foo/bar.jpg')
- zip_file = FakeAffectedFile(
- local_path='chrome/common/extensions/docs/examples/baz.zip')
- input_api = FakeInputApi(affected_files=[sample_file, zip_file])
-
- self.assertFalse(PRESUBMIT.SampleZipped(sample_file, input_api))
-
-
-if __name__ == '__main__':
- unittest.main()
« no previous file with comments | « chrome/common/extensions/PRESUBMIT.py ('k') | chrome/common/extensions/docs/build/build.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698