Search in sources :

Example 41 with AndroidManifest

use of org.robolectric.manifest.AndroidManifest in project robolectric by robolectric.

the class ResourceMergerTest method libraryConfigShouldOverrideProjectProperties.

@Test
@Config(manifest = "src/test/resources/TestAndroidManifest.xml", libraries = "lib1")
public void libraryConfigShouldOverrideProjectProperties() throws Exception {
    AndroidManifest manifest = Shadows.shadowOf(RuntimeEnvironment.application).getAppManifest();
    List<AndroidManifest> libraryManifests = manifest.getLibraryManifests();
    assertEquals(1, libraryManifests.size());
    assertEquals("org.robolectric.lib1", libraryManifests.get(0).getPackageName());
}
Also used : AndroidManifest(org.robolectric.manifest.AndroidManifest) Test(org.junit.Test) Config(org.robolectric.annotation.Config)

Example 42 with AndroidManifest

use of org.robolectric.manifest.AndroidManifest in project robolectric by robolectric.

the class DefaultPackageManager method getProviderInfo.

@Override
public ProviderInfo getProviderInfo(ComponentName className, int flags) throws NameNotFoundException {
    String packageName = className.getPackageName();
    AndroidManifest androidManifest = androidManifests.get(packageName);
    String classString = resolvePackageName(packageName, className);
    for (ContentProviderData contentProviderData : androidManifest.getContentProviders()) {
        if (contentProviderData.getClassName().equals(classString)) {
            ProviderInfo providerInfo = new ProviderInfo();
            providerInfo.packageName = packageName;
            providerInfo.name = contentProviderData.getClassName();
            // todo: support multiple authorities
            providerInfo.authority = contentProviderData.getAuthorities();
            providerInfo.readPermission = contentProviderData.getReadPermission();
            providerInfo.writePermission = contentProviderData.getWritePermission();
            providerInfo.pathPermissions = createPathPermissions(contentProviderData.getPathPermissionDatas());
            if ((flags & GET_META_DATA) != 0) {
                providerInfo.metaData = metaDataToBundle(contentProviderData.getMetaData().getValueMap());
            }
            return providerInfo;
        }
    }
    return null;
}
Also used : ContentProviderData(org.robolectric.manifest.ContentProviderData) ProviderInfo(android.content.pm.ProviderInfo) AndroidManifest(org.robolectric.manifest.AndroidManifest)

Example 43 with AndroidManifest

use of org.robolectric.manifest.AndroidManifest in project robolectric by robolectric.

the class DefaultPackageManager method getServiceInfo.

@Override
public ServiceInfo getServiceInfo(ComponentName className, int flags) throws NameNotFoundException {
    String packageName = className.getPackageName();
    AndroidManifest androidManifest = androidManifests.get(packageName);
    String serviceName = className.getClassName();
    ServiceData serviceData = androidManifest.getServiceData(serviceName);
    if (serviceData == null) {
        throw new NameNotFoundException(serviceName);
    }
    ServiceInfo serviceInfo = new ServiceInfo();
    serviceInfo.packageName = packageName;
    serviceInfo.name = serviceName;
    serviceInfo.applicationInfo = getApplicationInfo(packageName, flags);
    serviceInfo.permission = serviceData.getPermission();
    if ((flags & GET_META_DATA) != 0) {
        serviceInfo.metaData = metaDataToBundle(serviceData.getMetaData().getValueMap());
    }
    return serviceInfo;
}
Also used : ServiceInfo(android.content.pm.ServiceInfo) AndroidManifest(org.robolectric.manifest.AndroidManifest) ServiceData(org.robolectric.manifest.ServiceData)

Example 44 with AndroidManifest

use of org.robolectric.manifest.AndroidManifest in project robolectric by robolectric.

the class ManifestFactoryTest method shouldLoadLibraryManifests.

@Test
public void shouldLoadLibraryManifests() throws Exception {
    Properties properties = new Properties();
    properties.setProperty("manifest", resourceFile("TestAndroidManifest.xml").toString());
    properties.setProperty("libraries", "lib1");
    Config config = Config.Implementation.fromProperties(properties);
    ManifestFactory manifestFactory = new RobolectricTestRunner(ManifestFactoryTest.class).getManifestFactory(config);
    AndroidManifest manifest = manifestFactory.create(manifestFactory.identify(config));
    List<AndroidManifest> libraryManifests = manifest.getLibraryManifests();
    assertEquals(1, libraryManifests.size());
    assertEquals("org.robolectric.lib1", libraryManifests.get(0).getPackageName());
}
Also used : Config(org.robolectric.annotation.Config) AndroidManifest(org.robolectric.manifest.AndroidManifest) Properties(java.util.Properties) ManifestFactory(org.robolectric.internal.ManifestFactory) DefaultManifestFactory(org.robolectric.internal.DefaultManifestFactory) Test(org.junit.Test)

Example 45 with AndroidManifest

use of org.robolectric.manifest.AndroidManifest in project robolectric by robolectric.

the class OverrideSdkVersionTest method whenNotOverridden_shouldUseTargetSdkVersionFromAppManifest.

@Test
public void whenNotOverridden_shouldUseTargetSdkVersionFromAppManifest() {
    AndroidManifest appManifest = ShadowApplication.getInstance().getAppManifest();
    assertThat(Build.VERSION.SDK_INT).isEqualTo(appManifest.getTargetSdkVersion());
}
Also used : AndroidManifest(org.robolectric.manifest.AndroidManifest) Test(org.junit.Test)

Aggregations

AndroidManifest (org.robolectric.manifest.AndroidManifest)61 Test (org.junit.Test)28 ArrayList (java.util.ArrayList)9 ResourcePath (org.robolectric.res.ResourcePath)9 Properties (java.util.Properties)8 ActivityData (org.robolectric.manifest.ActivityData)7 BuildConfig (org.robolectric.gradleapp.BuildConfig)6 Context (android.content.Context)5 IntentFilterData (org.robolectric.manifest.IntentFilterData)5 FileFsFile (org.robolectric.res.FileFsFile)5 FsFile (org.robolectric.res.FsFile)5 Config (org.robolectric.annotation.Config)4 ActivityInfo (android.content.pm.ActivityInfo)3 File (java.io.File)3 DefaultManifestFactory (org.robolectric.internal.DefaultManifestFactory)3 ManifestFactory (org.robolectric.internal.ManifestFactory)3 Application (android.app.Application)2 ManifestIdentifier (org.robolectric.internal.ManifestIdentifier)2 ContentProviderData (org.robolectric.manifest.ContentProviderData)2 Sdk (org.robolectric.pluginapi.Sdk)2