@Ignore @Test @Config(minSdk = KITKAT) public void getExternalFilesDirs() throws Exception { ShadowEnvironment.addExternalDir("external_dir_1"); ShadowEnvironment.addExternalDir("external_dir_2"); File[] externalFilesDirs = ApplicationProvider.getApplicationContext() .getExternalFilesDirs(Environment.DIRECTORY_MOVIES); assertThat(externalFilesDirs).isNotEmpty(); assertThat(externalFilesDirs[0].getCanonicalPath()).contains("external_dir_1"); assertThat(externalFilesDirs[1].getCanonicalPath()).contains("external_dir_2"); // TODO(jongerrish): This fails because ShadowContext overwrites getExternalFilesDir. // assertThat(RuntimeEnvironment.application.getExternalFilesDir(Environment.DIRECTORY_MOVIES) // .getCanonicalPath()).contains("external_dir_1"); }
@Test @Config(minSdk = KITKAT, maxSdk = LOLLIPOP) public void getExternalStorageStatePreLollipopMR1() throws Exception { File storageDir1 = ShadowEnvironment.addExternalDir("dir1"); File storageDir2 = ShadowEnvironment.addExternalDir("dir2"); ShadowEnvironment.setExternalStorageState(storageDir1, Environment.MEDIA_MOUNTED); ShadowEnvironment.setExternalStorageState(storageDir2, Environment.MEDIA_REMOVED); ShadowEnvironment.setExternalStorageState("blah"); assertThat(ShadowEnvironment.getStorageState(storageDir1)) .isEqualTo(Environment.MEDIA_MOUNTED); assertThat(ShadowEnvironment.getStorageState(storageDir2)) .isEqualTo(Environment.MEDIA_REMOVED); assertThat(ShadowEnvironment.getStorageState(new File(storageDir1, "subpath"))) .isEqualTo(Environment.MEDIA_MOUNTED); assertThat(ShadowEnvironment.getExternalStorageState()).isEqualTo("blah"); }
@Test @Config(minSdk = LOLLIPOP_MR1) public void getExternalStorageState() throws Exception { File storageDir1 = ShadowEnvironment.addExternalDir("dir1"); File storageDir2 = ShadowEnvironment.addExternalDir("dir2"); ShadowEnvironment.setExternalStorageState(storageDir1, Environment.MEDIA_MOUNTED); ShadowEnvironment.setExternalStorageState(storageDir2, Environment.MEDIA_REMOVED); ShadowEnvironment.setExternalStorageState("blah"); assertThat(ShadowEnvironment.getExternalStorageState(storageDir1)) .isEqualTo(Environment.MEDIA_MOUNTED); assertThat(ShadowEnvironment.getStorageState(storageDir1)) .isEqualTo(Environment.MEDIA_MOUNTED); assertThat(ShadowEnvironment.getExternalStorageState(storageDir2)) .isEqualTo(Environment.MEDIA_REMOVED); assertThat(ShadowEnvironment.getStorageState(storageDir2)) .isEqualTo(Environment.MEDIA_REMOVED); assertThat(ShadowEnvironment.getExternalStorageState(new File(storageDir1, "subpath"))) .isEqualTo(Environment.MEDIA_MOUNTED); assertThat(ShadowEnvironment.getStorageState(new File(storageDir1, "subpath"))) .isEqualTo(Environment.MEDIA_MOUNTED); assertThat(ShadowEnvironment.getExternalStorageState()).isEqualTo("blah"); }