def test_more_complicated_merge()

in tools/plisttool/plisttool_unittest.py [0:0]


  def test_more_complicated_merge(self):
    plist1 = _xml_plist(
        '<key>String1</key><string>abc</string>'
        '<key>Integer1</key><integer>123</integer>'
        '<key>Array1</key><array><string>a</string><string>b</string></array>'
    )
    plist2 = _xml_plist(
        '<key>String2</key><string>def</string>'
        '<key>Integer2</key><integer>987</integer>'
        '<key>Dictionary2</key><dict>'
        '<key>k1</key><string>a</string>'
        '<key>k2</key><string>b</string>'
        '</dict>'
    )
    plist3 = _xml_plist(
        '<key>String3</key><string>ghi</string>'
        '<key>Integer3</key><integer>465</integer>'
        '<key>Bundle</key><string>this.is.${BUNDLE_NAME}.bundle</string>'
    )
    self._assert_plisttool_result({
        'plists': [plist1, plist2, plist3],
        'variable_substitutions': {
            'BUNDLE_NAME': 'my'
        },
    }, {
        'String1': 'abc',
        'Integer1': 123,
        'Array1': ['a', 'b'],
        'String2': 'def',
        'Integer2': 987,
        'Dictionary2': {'k1': 'a', 'k2': 'b'},
        'String3': 'ghi',
        'Integer3': 465,
        'Bundle': 'this.is.my.bundle',
    })