|  | #!/usr/bin/env python3 | 
|  | # Copyright 2017 The Chromium Authors | 
|  | # Use of this source code is governed by a BSD-style license that can be | 
|  | # found in the LICENSE file. | 
|  |  | 
|  | import os | 
|  | import sys | 
|  | import unittest | 
|  |  | 
|  | import PRESUBMIT | 
|  |  | 
|  | sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | 
|  | from PRESUBMIT_test_mocks import MockFile, MockInputApi | 
|  |  | 
|  | class DisallowedBuildFlagsTest(unittest.TestCase): | 
|  | def testChromeDoesNotUseISAPPLE(self): | 
|  | lines = ['#if BUILDFLAG(IS_APPLE)', | 
|  | '#error IS_APPLE not allowed', | 
|  | '#endif'] | 
|  | errors = PRESUBMIT._CheckNoIsAppleBuildFlagsInChromeFile( | 
|  | MockInputApi(), MockFile('chrome/path/foo_platform.cc', lines)) | 
|  | self.assertEqual(1, len(errors)) | 
|  | self.assertEqual('    chrome/path/foo_platform.cc:1', errors[0]) | 
|  |  | 
|  | def testChromeDoesNotUseISIOS(self): | 
|  | lines = ['#if BUILDFLAG(IS_IOS)', | 
|  | '#error IS_IOS not allowed', | 
|  | '#endif'] | 
|  | errors = PRESUBMIT._CheckNoIsIOSBuildFlagsInChromeFile( | 
|  | MockInputApi(), MockFile('chrome/path/foo_platform.cc', lines)) | 
|  | self.assertEqual(1, len(errors)) | 
|  | self.assertEqual('    chrome/path/foo_platform.cc:1', errors[0]) | 
|  |  | 
|  | if __name__ == '__main__': | 
|  | unittest.main() |