blob: fa5376a57b700ab1fd12ae64cec03b32b396b992 [file] [log] [blame]
package com.xtremelabs.robolectric.shadows;
import static org.junit.Assert.*;
import java.io.File;
import org.junit.After;
import org.junit.Test;
import org.junit.runner.RunWith;
import android.os.Environment;
import com.xtremelabs.robolectric.WithTestDefaultsRunner;
import static org.hamcrest.CoreMatchers.equalTo;
@RunWith(WithTestDefaultsRunner.class)
public class EnvironmentTest {
@After
public void tearDown() throws Exception {
deleteDir(ShadowContext.EXTERNAL_CACHE_DIR);
deleteDir(ShadowContext.EXTERNAL_FILES_DIR);
ShadowEnvironment.setExternalStorageState("removed");
}
@Test
public void testExternalStorageState() {
assertThat( Environment.getExternalStorageState(), equalTo("removed") );
ShadowEnvironment.setExternalStorageState("mounted");
assertThat( Environment.getExternalStorageState(), equalTo("mounted") );
}
@Test
public void testGetExternalStorageDirectory() {
assertTrue(Environment.getExternalStorageDirectory().exists());
}
@Test
public void testGetExternalStoragePublicDirectory() {
File extStoragePublic = Environment.getExternalStoragePublicDirectory("Movies");
assertTrue(extStoragePublic.exists());
assertThat(extStoragePublic, equalTo( new File(ShadowContext.EXTERNAL_FILES_DIR, "Movies" ) ) );
}
public void deleteDir(File path) {
if (path.isDirectory()) {
File[] files = path.listFiles();
for (File f : files) {
deleteDir(f);
}
}
path.delete();
}
}