| 
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -937,7 +937,9 @@ class CannedChecksUnittest(PresubmitTestsBase):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  def testMembersChanged(self):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.mox.ReplayAll()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    members = [
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      'CheckChangeHasBugField', 'CheckChangeHasNoCR', 'CheckChangeHasNoTabs',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      'CheckChangeHasBugField', 'CheckChangeHasOnlyOneEol',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      'CheckChangeHasNoCR', 'CheckChangeHasNoCrAndHasOnlyOneEol',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      'CheckChangeHasNoTabs',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      'CheckChangeHasQaField', 'CheckChangeHasTestedField',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      'CheckChangeHasTestField', 'CheckChangeSvnEolStyle',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      'CheckDoNotSubmit',
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -987,6 +989,28 @@ class CannedChecksUnittest(PresubmitTestsBase):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.assertEquals(len(results2), 1)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.assertEquals(results2[0].__class__, error_type)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  def ReadFileTest(self, check, content1, content2, error_type):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    input_api1 = self.MockInputApi()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.mox.StubOutWithMock(input_api1, 'ReadFile')
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    input_api1.change = self.MakeBasicChange('foo', 'Foo\n')
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    affected_file1 = self.mox.CreateMock(presubmit.SvnAffectedFile)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    input_api1.AffectedSourceFiles(None).AndReturn([affected_file1])
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    input_api1.ReadFile(affected_file1, 'rb').AndReturn(content1)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    input_api2 = self.MockInputApi()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.mox.StubOutWithMock(input_api2, 'ReadFile')
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    input_api2.change = self.MakeBasicChange('foo', 'Foo\n')
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    affected_file2 = self.mox.CreateMock(presubmit.SvnAffectedFile)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    input_api2.AffectedSourceFiles(None).AndReturn([affected_file2])
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    input_api2.ReadFile(affected_file2, 'rb').AndReturn(content2)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    affected_file2.LocalPath().AndReturn('bar.cc')
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.mox.ReplayAll()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    results = check(input_api1, presubmit.OutputApi)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.assertEquals(results, [])
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    results2 = check(input_api2, presubmit.OutputApi)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.assertEquals(len(results2), 1)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.assertEquals(results2[0].__class__, error_type)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  def testCannedCheckChangeHasBugField(self):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.DescriptionTest(presubmit_canned_checks.CheckChangeHasBugField,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                         'BUG=1234', '',
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -1018,31 +1042,27 @@ class CannedChecksUnittest(PresubmitTestsBase):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        'DO NOTSUBMIT', 'DO NOT ' + 'SUBMIT',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        presubmit.OutputApi.PresubmitError)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  def testCheckChangeHasNoCR(self):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    input_api1 = self.MockInputApi()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.mox.StubOutWithMock(input_api1, 'ReadFile')
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    input_api1.change = self.MakeBasicChange('foo', 'Foo\n')
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    affected_file1 = self.mox.CreateMock(presubmit.SvnAffectedFile)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    input_api1.AffectedSourceFiles(None).AndReturn([affected_file1])
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    input_api1.ReadFile(affected_file1, 'rb').AndReturn("Hey!\nHo!\n")
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    input_api2 = self.MockInputApi()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.mox.StubOutWithMock(input_api2, 'ReadFile')
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    input_api2.change = self.MakeBasicChange('foo', 'Foo\n')
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    affected_file2 = self.mox.CreateMock(presubmit.SvnAffectedFile)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    input_api2.AffectedSourceFiles(None).AndReturn([affected_file2])
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    input_api2.ReadFile(affected_file2, 'rb').AndReturn("Hey!\r\nHo!\r\n")
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    affected_file2.LocalPath().AndReturn('bar.cc')
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.mox.ReplayAll()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  def testCheckChangeHasOnlyOneEol(self):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.ReadFileTest(presubmit_canned_checks.CheckChangeHasOnlyOneEol,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                      "Hey!\nHo!\n", "Hey!\nHo!\n\n",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                      presubmit.OutputApi.PresubmitPromptWarning)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    results = presubmit_canned_checks.CheckChangeHasNoCR(
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        input_api1, presubmit.OutputApi, None)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.assertEquals(results, [])
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    results2 = presubmit_canned_checks.CheckChangeHasNoCR(
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        input_api2, presubmit.OutputApi, None)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.assertEquals(len(results2), 1)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.assertEquals(results2[0].__class__,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  def testCheckChangeHasNoCR(self):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.ReadFileTest(presubmit_canned_checks.CheckChangeHasNoCR,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                      "Hey!\nHo!\n", "Hey!\r\nHo!\r\n",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                      presubmit.OutputApi.PresubmitPromptWarning)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  def testCheckChangeHasNoCrAndHasOnlyOneEol(self):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.ReadFileTest(
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        presubmit_canned_checks.CheckChangeHasNoCrAndHasOnlyOneEol,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        "Hey!\nHo!\n", "Hey!\nHo!\n\n",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        presubmit.OutputApi.PresubmitPromptWarning)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.mox.VerifyAll()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.ReadFileTest(
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        presubmit_canned_checks.CheckChangeHasNoCrAndHasOnlyOneEol,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        "Hey!\nHo!\n", "Hey!\r\nHo!\r\n",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        presubmit.OutputApi.PresubmitPromptWarning)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  def testCannedCheckChangeHasNoTabs(self):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    self.ContentTest(presubmit_canned_checks.CheckChangeHasNoTabs,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                     'blah blah', 'blah\tblah',
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
			
			 | 
			 | 
			
				
 
 |