| #!/usr/bin/env python |
| |
| # Copyright (c) 2011 Google Inc. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| """ |
| Verifies the Info.plist preprocessor functionality. |
| """ |
| |
| import TestGyp |
| |
| import sys |
| |
| if sys.platform == 'darwin': |
| test = TestGyp.TestGyp(formats=['make', 'xcode']) |
| |
| CHDIR = 'infoplist-process' |
| INFO_PLIST_PATH = 'Test.app/Contents/Info.plist' |
| |
| # First process both keys. |
| test.set_configuration('One') |
| test.run_gyp('test1.gyp', chdir=CHDIR) |
| test.build('test1.gyp', test.ALL, chdir=CHDIR) |
| info_plist = test.built_file_path(INFO_PLIST_PATH, chdir=CHDIR) |
| test.must_exist(info_plist) |
| test.must_contain(info_plist, 'Foo') |
| test.must_contain(info_plist, 'Bar') |
| |
| # Then process a single key. |
| test.set_configuration('Two') |
| test.run_gyp('test2.gyp', chdir=CHDIR) |
| test.build('test2.gyp', chdir=CHDIR) |
| info_plist = test.built_file_path(INFO_PLIST_PATH, chdir=CHDIR) |
| test.must_exist(info_plist) |
| test.must_contain(info_plist, 'com.google.Test') # Normal expansion works. |
| test.must_contain(info_plist, 'Foo (Bar)') |
| test.must_contain(info_plist, 'PROCESSED_KEY2') |
| |
| # Then turn off the processor. |
| test.set_configuration('Three') |
| test.run_gyp('test3.gyp', chdir=CHDIR) |
| test.build('test3.gyp', chdir=CHDIR) |
| info_plist = test.built_file_path('Test App.app/Contents/Info.plist', |
| chdir=CHDIR) |
| test.must_exist(info_plist) |
| test.must_contain(info_plist, 'com.google.Test') # Normal expansion works. |
| test.must_contain(info_plist, 'PROCESSED_KEY1') |
| test.must_contain(info_plist, 'PROCESSED_KEY2') |
| |
| test.pass_test() |