| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| package com.amaze.filemanager.application; |
|
|
| import static android.os.Build.VERSION_CODES.LOLLIPOP; |
| import static android.os.Build.VERSION_CODES.P; |
| import static android.os.Looper.getMainLooper; |
| import static org.awaitility.Awaitility.await; |
| import static org.junit.Assert.assertEquals; |
| import static org.junit.Assert.assertNotNull; |
| import static org.junit.Assert.assertNull; |
| import static org.mockito.Mockito.mock; |
| import static org.robolectric.Shadows.shadowOf; |
|
|
| import java.lang.reflect.Field; |
| import java.util.concurrent.TimeUnit; |
|
|
| import org.junit.After; |
| import org.junit.Test; |
| import org.junit.runner.RunWith; |
| import org.robolectric.annotation.Config; |
| import org.robolectric.shadows.ShadowToast; |
|
|
| import com.amaze.filemanager.R; |
| import com.amaze.filemanager.ui.activities.MainActivity; |
| import com.bumptech.glide.Glide; |
| import com.bumptech.glide.MemoryCategory; |
|
|
| import android.os.Build; |
| import android.os.StrictMode; |
|
|
| import androidx.test.core.app.ApplicationProvider; |
| import androidx.test.ext.junit.runners.AndroidJUnit4; |
|
|
| @RunWith(AndroidJUnit4.class) |
| @Config(sdk = {LOLLIPOP, P, Build.VERSION_CODES.R}) |
| public class AppConfigTest { |
|
|
| @After |
| public void tearDown() { |
| ShadowToast.reset(); |
| } |
|
|
| @Test |
| public void testSetVmPolicyOnAppCreateHasNoFlags() throws Exception { |
| Field maskField = StrictMode.VmPolicy.class.getDeclaredField("mask"); |
| maskField.setAccessible(true); |
| assertEquals(0, maskField.get(StrictMode.getVmPolicy())); |
| } |
|
|
| @Test |
| public void testToastWithNullContext() { |
| AppConfig.toast(null, R.string.ok); |
| assertNull(ShadowToast.getLatestToast()); |
| } |
|
|
| @Test |
| public void testToastWithStringRes() { |
| AppConfig.toast(ApplicationProvider.getApplicationContext(), R.string.ok); |
| shadowOf(getMainLooper()).idle(); |
| await().atMost(5, TimeUnit.SECONDS).until(() -> ShadowToast.getLatestToast() != null); |
| assertEquals( |
| ApplicationProvider.getApplicationContext().getString(R.string.ok), |
| ShadowToast.getTextOfLatestToast()); |
| } |
|
|
| @Test |
| public void testToastWithString() { |
| AppConfig.toast(ApplicationProvider.getApplicationContext(), "Hello world"); |
| shadowOf(getMainLooper()).idle(); |
| await().atMost(5, TimeUnit.SECONDS).until(() -> ShadowToast.getLatestToast() != null); |
| assertEquals("Hello world", ShadowToast.getTextOfLatestToast()); |
| } |
|
|
| @Test |
| public void testGlideMemoryCategorySetToHigh() throws Exception { |
| Field memoryCategory = Glide.class.getDeclaredField("memoryCategory"); |
| memoryCategory.setAccessible(true); |
| assertEquals( |
| MemoryCategory.HIGH, |
| memoryCategory.get(Glide.get(ApplicationProvider.getApplicationContext()))); |
| } |
|
|
| @Test |
| public void testGetScreenUtils() { |
| assertNull(AppConfig.getInstance().getScreenUtils()); |
|
|
| MainActivity mock = mock(MainActivity.class); |
| AppConfig.getInstance().setMainActivityContext(mock); |
| assertNotNull(AppConfig.getInstance().getScreenUtils()); |
| } |
| } |
|
|