#
# Test:
# - Verifies that <meta-data> elements from <application> are being merged.
#

@fails

@main

<!--
  This is a canonical manifest that has some uses-permissions,
  the usual uses-sdk and supports-screens, an app with an activity,
  customer receiver & service and a widget.
-->

<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.app1"
    android:versionCode="100"
    android:versionName="1.0.0">

    <application
        android:label="@string/app_name"
        android:icon="@drawable/app_icon"
        android:name="com.example.TheApp" >

        <meta-data android:name="conflicting.name" android:value="ok" />

    </application>

</manifest>

@lib1

<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.lib1">

    <application>

        <meta-data android:name="conflicting.name" android:value="not-ok" />

    </application>

</manifest>


@result

<!--
  This is a canonical manifest that has some uses-permissions,
  the usual uses-sdk and supports-screens, an app with an activity,
  customer receiver & service and a widget.
-->

<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.app1"
    android:versionCode="100"
    android:versionName="1.0.0">

    <application
        android:label="@string/app_name"
        android:icon="@drawable/app_icon"
        android:name="com.example.TheApp" >

        <meta-data android:name="conflicting.name" android:value="ok" />

    </application>

</manifest>

@errors

E [ManifestMergerTest0_main.xml:5, ManifestMergerTest1_lib1.xml:5] Trying to merge incompatible /manifest/application/meta-data[@name=conflicting.name] element:
  <meta-data android:name=conflicting.name>
      @android:name = conflicting.name
--    @android:value = not-ok
++    @android:value = ok