You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			352 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			352 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Python
		
	
# coding: utf-8
 | 
						|
# 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.
 | 
						|
 | 
						|
"""Samples patches to test patch.py."""
 | 
						|
 | 
						|
 | 
						|
class RAW(object):
 | 
						|
  PATCH = (
 | 
						|
      'Index: chrome/file.cc\n'
 | 
						|
      '===================================================================\n'
 | 
						|
      '--- chrome/file.cc\t(revision 74690)\n'
 | 
						|
      '+++ chrome/file.cc\t(working copy)\n'
 | 
						|
      '@@ -3,6 +3,7 @@ bb\n'
 | 
						|
      ' ccc\n'
 | 
						|
      ' dd\n'
 | 
						|
      ' e\n'
 | 
						|
      '+FOO!\n'
 | 
						|
      ' ff\n'
 | 
						|
      ' ggg\n'
 | 
						|
      ' hh\n')
 | 
						|
 | 
						|
  NEW = (
 | 
						|
      '--- /dev/null\n'
 | 
						|
      '+++ foo\n'
 | 
						|
      '@@ -0,0 +1 @@\n'
 | 
						|
      '+bar\n')
 | 
						|
 | 
						|
  NEW_NOT_NULL = (
 | 
						|
      '--- file_a\n'
 | 
						|
      '+++ file_a\n'
 | 
						|
      '@@ -0,0 +1 @@\n'
 | 
						|
      '+foo\n')
 | 
						|
 | 
						|
  MINIMAL_NEW = (
 | 
						|
      '--- /dev/null\t2\n'
 | 
						|
      '+++ chrome/file.cc\tfoo\n')
 | 
						|
 | 
						|
  MINIMAL = (
 | 
						|
      '--- file_a\n'
 | 
						|
      '+++ file_a\n')
 | 
						|
 | 
						|
  MINIMAL_RENAME = (
 | 
						|
      '--- file_a\n'
 | 
						|
      '+++ file_b\n')
 | 
						|
 | 
						|
  DELETE = (
 | 
						|
      '--- tools/clang_check/README.chromium\n'
 | 
						|
      '+++ /dev/null\n'
 | 
						|
      '@@ -1,1 +0,0 @@\n'
 | 
						|
      '-bar\n')
 | 
						|
 | 
						|
  MINIMAL_DELETE = (
 | 
						|
      '--- chrome/file.cc\tbar\n'
 | 
						|
      '+++ /dev/null\tfoo\n')
 | 
						|
 | 
						|
  DELETE2 = (
 | 
						|
      'Index: browser/extensions/extension_sidebar_api.cc\n'
 | 
						|
      '===================================================================\n'
 | 
						|
      '--- browser/extensions/extension_sidebar_api.cc\t(revision 116830)\n'
 | 
						|
      '+++ browser/extensions/extension_sidebar_api.cc\t(working copy)\n'
 | 
						|
      '@@ -1,19 +0,0 @@\n'
 | 
						|
      '-// Copyright (c) 2011 The Chromium Authors. All rights reserved.\n'
 | 
						|
      '-// Use of this source code is governed by a BSD-style license that\n'
 | 
						|
      '-// found in the LICENSE file.\n'
 | 
						|
      '-\n'
 | 
						|
      '-#include "base/command_line.h"\n'
 | 
						|
      '-#include "chrome/browser/extensions/extension_apitest.h"\n'
 | 
						|
      '-#include "chrome/common/chrome_switches.h"\n'
 | 
						|
      '-\n'
 | 
						|
      '-class SidebarApiTest : public ExtensionApiTest {\n'
 | 
						|
      '- public:\n'
 | 
						|
      '-  void SetUpCommandLine(CommandLine* command_line) {\n'
 | 
						|
      '-    ExtensionApiTest::SetUpCommandLine(command_line);\n'
 | 
						|
      '-    command_line->AppendSwitch(switches::Bleh);\n'
 | 
						|
      '-  }\n'
 | 
						|
      '-};\n'
 | 
						|
      '-\n'
 | 
						|
      '-IN_PROC_BROWSER_TEST_F(SidebarApiTest, Sidebar) {\n'
 | 
						|
      '-  ASSERT_TRUE(RunExtensionTest("sidebar")) << message_;\n'
 | 
						|
      '-}\n')
 | 
						|
 | 
						|
  # http://codereview.chromium.org/api/7530007/5001
 | 
						|
  # http://codereview.chromium.org/download/issue7530007_5001_4011.diff
 | 
						|
  CRAP_ONLY = (
 | 
						|
      'Index: scripts/master/factory/skia/__init__.py\n'
 | 
						|
      '===================================================================\n')
 | 
						|
 | 
						|
  TWO_HUNKS = (
 | 
						|
      'Index: chrome/app/generated_resources.grd\n'
 | 
						|
      '===================================================================\n'
 | 
						|
      '--- chrome/app/generated_resources.grd\t(revision 116830)\n'
 | 
						|
      '+++ chrome/app/generated_resources.grd\t(working copy)\n'
 | 
						|
      '@@ -4169,9 +4169,6 @@\n'
 | 
						|
      '       <message name="IDS_EXTENSION_LOAD_OPTIONS_PAGE_FAILED" desc="">\n'
 | 
						|
      '   Could not load options page \'<ph name="OPTIONS_PAGE">$1<ex....\n'
 | 
						|
      ' </message>\n'
 | 
						|
      '-      <message name="IDS_EXTENSION_LOAD_SIDEBAR_PAGE_FAILED" desc="">\n'
 | 
						|
      '-        Could not load sidebar page \'<ph name="SIDEBAR_PAGE">$1<e...\n'
 | 
						|
      '-      </message>\n'
 | 
						|
      '       <if expr="is_win">\n'
 | 
						|
      '         <message name="IDS_EXTENSION_UNPACK_FAILED" desc="On wind...\n'
 | 
						|
      '           Can not unpack extension.  To safely unpack an extensio...\n'
 | 
						|
      '@@ -5593,9 +5590,6 @@\n'
 | 
						|
      '       <message name="IDS_ACCNAME_WEB_CONTENTS" desc="The acces...\n'
 | 
						|
      '         Web Contents\n'
 | 
						|
      '       </message>\n'
 | 
						|
      '-      <message name="IDS_ACCNAME_SIDE_BAR" desc="The acces...\n'
 | 
						|
      '-        Sidebar\n'
 | 
						|
      '-      </message>\n'
 | 
						|
      ' \n'
 | 
						|
      '       <!-- Browser Hung Plugin Detector -->\n'
 | 
						|
      '       <message name="IDS_UNKNOWN_PLUGIN_NAME" ...\n')
 | 
						|
 | 
						|
  # http://codereview.chromium.org/download/issue9091003_9005_8009.diff
 | 
						|
  DIFFERENT = (
 | 
						|
      'Index: master/unittests/data/processes-summary.dat\n'
 | 
						|
      '===================================================================\n'
 | 
						|
      '--- master/unittests/data/processes-summary.dat\t(revision 116240)\n'
 | 
						|
      '+++ master/unittests/data/processes-summary.dat\t(working copy)\n'
 | 
						|
      '@@ -1 +1 @@\n'
 | 
						|
      '-{"traces": {"1t_proc": ["2.0", "0.0"], "1t_proc_ref": ["1.0", ...\n'
 | 
						|
      '+{"traces": {"1t_proc": ["2.0", "0.0"], "1t_proc_ref": ["1.0", ...\n')
 | 
						|
 | 
						|
  RENAME_UTF8 = (
 | 
						|
      u'--- file_à\n'
 | 
						|
      u'+++ filé_b\n'
 | 
						|
      u'@@ -3,6 +3,7 @@ bb\n'
 | 
						|
      u' ccc\n'
 | 
						|
      u' ddé\n'
 | 
						|
      u' e\n'
 | 
						|
      u'+FÔÒ!\n'
 | 
						|
      u' ff\n'
 | 
						|
      u' ggg\n'
 | 
						|
      u' hh\n').encode('utf-8')
 | 
						|
 | 
						|
 | 
						|
class GIT(object):
 | 
						|
  """Sample patches generated by git diff."""
 | 
						|
  PATCH = (
 | 
						|
      'diff --git a/chrome/file.cc b/chrome/file.cc\n'
 | 
						|
      'index 0e4de76..8320059 100644\n'
 | 
						|
      '--- a/chrome/file.cc\n'
 | 
						|
      '+++ b/chrome/file.cc\n'
 | 
						|
      '@@ -3,6 +3,7 @@ bb\n'
 | 
						|
      ' ccc\n'
 | 
						|
      ' dd\n'
 | 
						|
      ' e\n'
 | 
						|
      '+FOO!\n'
 | 
						|
      ' ff\n'
 | 
						|
      ' ggg\n'
 | 
						|
      ' hh\n')
 | 
						|
 | 
						|
  # http://codereview.chromium.org/download/issue10868039_12001_10003.diff
 | 
						|
  PATCH_SHORT_HUNK_HEADER = (
 | 
						|
      'Index: chrome/browser/api/OWNERS\n'
 | 
						|
      'diff --git a/chrome/browser/api/OWNERS b/chrome/browser/api/OWNERS\n'
 | 
						|
      '--- a/chrome/browser/api/OWNERS\n'
 | 
						|
      '+++ b/chrome/browser/api/OWNERS\n'
 | 
						|
      '@@ -1 +1,2 @@\n'
 | 
						|
      '+erikwright@chromium.org\n'
 | 
						|
      ' joi@chromium.org\n')
 | 
						|
 | 
						|
  # http://codereview.chromium.org/download/issue6368055_22_29.diff
 | 
						|
  DELETE = (
 | 
						|
      'Index: tools/clang_check/README.chromium\n'
 | 
						|
      'diff --git a/tools/clang_check/README.chromium '
 | 
						|
          'b/tools/clang_check/README.chromium\n'
 | 
						|
      'deleted file mode 100644\n'
 | 
						|
      'index fcaa7e0e94bb604a026c4f478fecb1c5796f5413..'
 | 
						|
          '0000000000000000000000000000000000000000\n'
 | 
						|
      '--- a/tools/clang_check/README.chromium\n'
 | 
						|
      '+++ /dev/null\n'
 | 
						|
      '@@ -1,9 +0,0 @@\n'
 | 
						|
      '-These are terrible, terrible hacks.\n'
 | 
						|
      '-\n'
 | 
						|
      '-They are meant \n'
 | 
						|
      '-AND doing the normal \n'
 | 
						|
      '-run during normal \n'
 | 
						|
      '-build system to do a syntax check.\n'
 | 
						|
      '-\n'
 | 
						|
      '-Also see\n'
 | 
						|
      '\n')
 | 
						|
 | 
						|
  # http://codereview.chromium.org/download/issue8508015_6001_7001.diff
 | 
						|
  DELETE_EMPTY = (
 | 
						|
      'Index: tests/__init__.py\n'
 | 
						|
      'diff --git a/tests/__init__.py b/tests/__init__.py\n'
 | 
						|
      'deleted file mode 100644\n'
 | 
						|
      'index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..'
 | 
						|
          '0000000000000000000000000000000000000000\n')
 | 
						|
 | 
						|
  # http://codereview.chromium.org/download/issue6250123_3013_6010.diff
 | 
						|
  RENAME_PARTIAL = (
 | 
						|
      'Index: chromeos/views/webui_menu_widget.h\n'
 | 
						|
      'diff --git a/chromeos/views/DOMui_menu_widget.h '
 | 
						|
          'b/chromeos/views/webui_menu_widget.h\n'
 | 
						|
      'similarity index 79%\n'
 | 
						|
      'rename from chromeos/views/DOMui_menu_widget.h\n'
 | 
						|
      'rename to chromeos/views/webui_menu_widget.h\n'
 | 
						|
      'index 095d4c474fd9718f5aebfa41a1ccb2d951356d41..'
 | 
						|
          '157925075434b590e8acaaf605a64f24978ba08b 100644\n'
 | 
						|
      '--- a/chromeos/views/DOMui_menu_widget.h\n'
 | 
						|
      '+++ b/chromeos/views/webui_menu_widget.h\n'
 | 
						|
      '@@ -1,9 +1,9 @@\n'
 | 
						|
      '-// Copyright (c) 2010\n'
 | 
						|
      '+// Copyright (c) 2011\n'
 | 
						|
      ' // Use of this source code\n'
 | 
						|
      ' // found in the LICENSE file.\n'
 | 
						|
      ' \n'
 | 
						|
      '-#ifndef DOM\n'
 | 
						|
      '-#define DOM\n'
 | 
						|
      '+#ifndef WEB\n'
 | 
						|
      '+#define WEB\n'
 | 
						|
      ' #pragma once\n'
 | 
						|
      ' \n'
 | 
						|
      ' #include <string>\n')
 | 
						|
 | 
						|
  # http://codereview.chromium.org/download/issue6287022_3001_4010.diff
 | 
						|
  RENAME = (
 | 
						|
      'Index: tools/run_local_server.sh\n'
 | 
						|
      'diff --git a/tools/run_local_server.PY b/tools/run_local_server.sh\n'
 | 
						|
      'similarity index 100%\n'
 | 
						|
      'rename from tools/run_local_server.PY\n'
 | 
						|
      'rename to tools/run_local_server.sh\n')
 | 
						|
 | 
						|
  COPY = (
 | 
						|
      'diff --git a/PRESUBMIT.py b/pp\n'
 | 
						|
      'similarity index 100%\n'
 | 
						|
      'copy from PRESUBMIT.py\n'
 | 
						|
      'copy to pp\n')
 | 
						|
 | 
						|
  COPY_PARTIAL = (
 | 
						|
      'diff --git a/wtf b/wtf2\n'
 | 
						|
      'similarity index 98%\n'
 | 
						|
      'copy from wtf\n'
 | 
						|
      'copy to wtf2\n'
 | 
						|
      'index 79fbaf3..3560689 100755\n'
 | 
						|
      '--- a/wtf\n'
 | 
						|
      '+++ b/wtf2\n'
 | 
						|
      '@@ -1,4 +1,4 @@\n'
 | 
						|
      '-#!/usr/bin/env python\n'
 | 
						|
      '+#!/usr/bin/env python1.3\n'
 | 
						|
      ' # Copyright (c) 2010 The Chromium Authors. All rights reserved.\n'
 | 
						|
      ' # blah blah blah as\n'
 | 
						|
      ' # found in the LICENSE file.\n')
 | 
						|
 | 
						|
  NEW = (
 | 
						|
      'diff --git a/foo b/foo\n'
 | 
						|
      'new file mode 100644\n'
 | 
						|
      'index 0000000..5716ca5\n'
 | 
						|
      '--- /dev/null\n'
 | 
						|
      '+++ b/foo\n'
 | 
						|
      '@@ -0,0 +1 @@\n'
 | 
						|
      '+bar\n')
 | 
						|
 | 
						|
  NEW_EXE = (
 | 
						|
      'diff --git a/natsort_test.py b/natsort_test.py\n'
 | 
						|
      'new file mode 100755\n'
 | 
						|
      '--- /dev/null\n'
 | 
						|
      '+++ b/natsort_test.py\n'
 | 
						|
      '@@ -0,0 +1,1 @@\n'
 | 
						|
      '+#!/usr/bin/env python\n')
 | 
						|
 | 
						|
  # To make sure the subdirectory was created as needed.
 | 
						|
  NEW_SUBDIR = (
 | 
						|
      'diff --git a/new_dir/subdir/new_file b/new_dir/subdir/new_file\n'
 | 
						|
      'new file mode 100644\n'
 | 
						|
      '--- /dev/null\n'
 | 
						|
      '+++ b/new_dir/subdir/new_file\n'
 | 
						|
      '@@ -0,0 +1,2 @@\n'
 | 
						|
      '+A new file\n'
 | 
						|
      '+should exist.\n')
 | 
						|
 | 
						|
  NEW_MODE = (
 | 
						|
      'diff --git a/natsort_test.py b/natsort_test.py\n'
 | 
						|
      'new file mode 100644\n'
 | 
						|
      '--- /dev/null\n'
 | 
						|
      '+++ b/natsort_test.py\n'
 | 
						|
      '@@ -0,0 +1,1 @@\n'
 | 
						|
      '+#!/usr/bin/env python\n')
 | 
						|
 | 
						|
  MODE_EXE = (
 | 
						|
      'diff --git a/git_cl/git-cl b/git_cl/git-cl\n'
 | 
						|
      'old mode 100644\n'
 | 
						|
      'new mode 100755\n')
 | 
						|
 | 
						|
  MODE_EXE_JUNK = (
 | 
						|
      'Index: Junk\n'
 | 
						|
      'diff --git a/git_cl/git-cl b/git_cl/git-cl\n'
 | 
						|
      'old mode 100644\n'
 | 
						|
      'new mode 100755\n')
 | 
						|
 | 
						|
  NEW_NOT_EXECUTABLE = (
 | 
						|
      'diff --git a/build/android/ant/create.js b/build/android/ant/create.js\n'
 | 
						|
      'new file mode 100644\n'
 | 
						|
      'index 0000000000000000000..542a89e978feada38dd\n'
 | 
						|
      '--- /dev/null\n'
 | 
						|
      '+++ b/build/android/ant/create.js\n'
 | 
						|
      '@@ -0,0 +1,1 @@\n'
 | 
						|
      '+// Copyright (c) 2012 The Chromium Authors. All rights reserved.\n'
 | 
						|
  )
 | 
						|
 | 
						|
  FOUR_HUNKS = (
 | 
						|
      'Index: presubmit_support.py\n'
 | 
						|
      'diff --git a/presubmit_support.py b/presubmit_support.py\n'
 | 
						|
      'index 52416d3f..d56512f2 100755\n'
 | 
						|
      '--- a/presubmit_support.py\n'
 | 
						|
      '+++ b/presubmit_support.py\n'
 | 
						|
      '@@ -558,6 +558,7 @@ class SvnAffectedFile(AffectedFile):\n'
 | 
						|
      '     AffectedFile.__init__(self, *args, **kwargs)\n'
 | 
						|
      '     self._server_path = None\n'
 | 
						|
      '     self._is_text_file = None\n'
 | 
						|
      '+    self._diff = None\n'
 | 
						|
      ' \n'
 | 
						|
      '   def ServerPath(self):\n'
 | 
						|
      '     if self._server_path is None:\n'
 | 
						|
      '@@ -598,8 +599,10 @@ class SvnAffectedFile(AffectedFile):\n'
 | 
						|
      '     return self._is_text_file\n'
 | 
						|
      ' \n'
 | 
						|
      '   def GenerateScmDiff(self):\n'
 | 
						|
      '-    return scm.SVN.GenerateDiff(\n'
 | 
						|
      '-        [self.LocalPath()], self._local_root, False, None)\n'
 | 
						|
      '+    if self._diff is None:\n'
 | 
						|
      '+      self._diff = scm.SVN.GenerateDiff(\n'
 | 
						|
      '+          [self.LocalPath()], self._local_root, False, None)\n'
 | 
						|
      '+    return self._diff\n'
 | 
						|
      ' \n'
 | 
						|
      ' \n'
 | 
						|
      ' class GitAffectedFile(AffectedFile):\n'
 | 
						|
      '@@ -611,6 +614,7 @@ class GitAffectedFile(AffectedFile):\n'
 | 
						|
      '     AffectedFile.__init__(self, *args, **kwargs)\n'
 | 
						|
      '     self._server_path = None\n'
 | 
						|
      '     self._is_text_file = None\n'
 | 
						|
      '+    self._diff = None\n'
 | 
						|
      ' \n'
 | 
						|
      '   def ServerPath(self):\n'
 | 
						|
      '     if self._server_path is None:\n'
 | 
						|
      '@@ -645,7 +649,10 @@ class GitAffectedFile(AffectedFile):\n'
 | 
						|
      '     return self._is_text_file\n'
 | 
						|
      ' \n'
 | 
						|
      '   def GenerateScmDiff(self):\n'
 | 
						|
      '-    return scm.GIT.GenerateDiff(self._local_root, files=[self.Lo...\n'
 | 
						|
      '+    if self._diff is None:\n'
 | 
						|
      '+      self._diff = scm.GIT.GenerateDiff(\n'
 | 
						|
      '+          self._local_root, files=[self.LocalPath(),])\n'
 | 
						|
      '+    return self._diff\n'
 | 
						|
      ' \n'
 | 
						|
      ' \n'
 | 
						|
      ' class Change(object):\n')
 |