tests: fix tests

This commit is contained in:
Akash Yadav
2024-01-10 17:32:57 +05:30
parent 67283104f7
commit 00766f3e86
6 changed files with 58 additions and 76 deletions
+13
View File
@@ -111,6 +111,19 @@
</AndroidTestResultsTableState>
</value>
</entry>
<entry key="462596792">
<value>
<AndroidTestResultsTableState>
<option name="preferredColumnWidths">
<map>
<entry key="Duration" value="90" />
<entry key="Pixel_4_XL_API_32" value="120" />
<entry key="Tests" value="360" />
</map>
</option>
</AndroidTestResultsTableState>
</value>
</entry>
<entry key="506209133">
<value>
<AndroidTestResultsTableState>
-19
View File
@@ -32,25 +32,6 @@ android {
}
}
packaging {
resources.excludes.addAll(
arrayOf(
"META-INF/eclipse.inf",
"META-INF/CHANGES",
"META-INF/README.md",
"about_files/LICENSE-2.0.txt",
"META-INF/AL2.0",
"META-INF/LGPL2.1",
"plugin.xml",
"plugin.properties",
"about.mappings",
"about.properties",
"about.ini",
"modeling32.png"
)
)
}
lint {
abortOnError = false
disable.addAll(arrayOf("VectorPath", "NestedWeights", "ContentDescription", "SmallSp"))
@@ -32,6 +32,7 @@ import androidx.viewpager.widget.ViewPager
import com.adevinta.android.barista.rule.cleardata.ClearDatabaseRule
import com.adevinta.android.barista.rule.cleardata.ClearFilesRule
import com.adevinta.android.barista.rule.cleardata.ClearPreferencesRule
import com.adevinta.android.barista.rule.cleardata.internal.FileOperations
import com.google.common.truth.Truth.assertThat
import com.itsaky.androidide.R
import com.itsaky.androidide.buildinfo.BuildInfo
@@ -40,6 +41,7 @@ import com.itsaky.androidide.testing.android.clickAndWaitForWindowUpdate
import com.itsaky.androidide.testing.android.findObjectWithText
import com.itsaky.androidide.testing.android.getApplicationContext
import com.itsaky.androidide.testing.android.getObjectWithText
import com.itsaky.androidide.testing.android.hasObjectWithText
import com.itsaky.androidide.testing.android.launchAndroidIDE
import com.itsaky.androidide.testing.android.stringRes
import com.itsaky.androidide.testing.android.uiAutomation
@@ -92,6 +94,9 @@ class OnboardingActivityBehaviorTest {
@Test
fun C_testOnboarding_toolsSetup_autoInstallBehavior() {
val device = launchAndroidIDE(fromLauncher = true, clearTasks = true)
val operations = FileOperations()
operations.getAllFilesRecursively().forEach { operations.deleteFile(it) }
device.grantAndroidIDEPermissions()
val autoInstallSwitch = device.findObject(By.checkable(true).clazz(Switch::class.java))
@@ -137,7 +142,7 @@ class OnboardingActivityBehaviorTest {
}
@Test
fun C_testOnboarding_toolsSetup_manualInstallBehavior() {
fun D_testOnboarding_toolsSetup_manualInstallBehavior() {
val device = launchAndroidIDE(fromLauncher = true, clearTasks = true)
device.grantAndroidIDEPermissions()
@@ -168,13 +173,12 @@ class OnboardingActivityBehaviorTest {
doneButton.clickAndWaitForNewWindow()
// 'Installing bootstrap packages' dialog..
assertThat(device.findObjectWithText(R.string.bootstrap_installer_body)).isNotNull()
// wait for the packages to be installed
// this should take a minute at most
// we wait until the installation finishes and the keys GridLayout is visible
device.wait(Until.hasObject(By.clazz(GridLayout::class.java)), 60 * 1000L)
if (device.hasObjectWithText(R.string.bootstrap_installer_body)) {
// wait for the packages to be installed
// this should take a minute at most
// we wait until the installation finishes and the keys GridLayout is visible
device.wait(Until.hasObject(By.clazz(GridLayout::class.java)), 60 * 1000L)
}
// verify that the terminal keys view is visible
assertThat(device.findObject(By.clazz(GridLayout::class.java))).isNotNull()
@@ -97,25 +97,6 @@ class OnboardingActivityStatesTest {
assertChecked(R.id.stat_opt_in)
}
@Test
fun C_testOnboarding_permissionsScreen() {
baristaActivityRule.launchActivity()
clickOn(R.id.next)
clickOn(R.id.next)
assertDisplayed(stringRes(R.string.onboarding_title_permissions))
assertDisplayed(stringRes(R.string.permission_title_storage))
assertDisplayed(stringRes(R.string.permission_desc_storage))
assertDisplayed(stringRes(R.string.permission_title_install_packages))
assertDisplayed(stringRes(R.string.permission_desc_install_packages))
assertRecyclerViewItemCount(R.id.onboarding_items, 2)
clickOn(R.id.next)
assertDisplayed(stringRes(R.string.msg_grant_permissions))
}
@Test
fun F_testOnboarding_toolsSetup() {
@@ -19,6 +19,7 @@ package com.itsaky.androidide.plugins.conf
import BuildConfig
import FDroidConfig
import com.android.build.api.dsl.CommonExtension
import com.android.build.api.variant.AndroidComponentsExtension
import com.android.build.api.variant.ApplicationAndroidComponentsExtension
import com.android.build.api.variant.FilterConfiguration
@@ -59,6 +60,38 @@ fun Project.configureAndroidModule(
androidJar.copyTo(frameworkStubsJar)
}
extensions.getByType(CommonExtension::class.java).run {
lint {
checkDependencies = true
}
packaging {
resources {
excludes.addAll(
arrayOf(
"META-INF/CHANGES",
"META-INF/README.md",
)
)
pickFirsts.addAll(
arrayOf(
"META-INF/eclipse.inf",
"META-INF/LICENSE.md",
"META-INF/AL2.0",
"META-INF/LGPL2.1",
"about_files/LICENSE-2.0.txt",
"plugin.xml",
"plugin.properties",
"about.mappings",
"about.properties",
"about.ini",
"modeling32.png"
)
)
}
}
}
extensions.getByType(BaseExtension::class.java).run {
compileSdkVersion(BuildConfig.compileSdk)
@@ -140,10 +173,6 @@ fun Project.configureAndroidModule(
buildFeatures.viewBinding = true
buildFeatures.buildConfig = true
lintOptions {
isCheckDependencies = true
}
}
}
@@ -1,26 +0,0 @@
package com.termux.shared;
import android.content.Context;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.*;
/**
* Instrumented test, which will execute on an Android device.
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
assertEquals("com.termux.shared.test", appContext.getPackageName());
}
}