mirror of
https://gitee.com/zhangsken/AndroidIDE.git
synced 2026-10-16 07:49:44 +08:00
fix(templates): templateName and thumb not defined by templates
This commit is contained in:
+3
@@ -23,11 +23,14 @@ import com.itsaky.androidide.templates.base.baseProject
|
||||
import com.itsaky.androidide.templates.base.modules.android.defaultAppModule
|
||||
import com.itsaky.androidide.templates.base.util.AndroidModuleResManager.ResourceType.LAYOUT
|
||||
import com.itsaky.androidide.templates.base.util.SourceWriter
|
||||
import com.itsaky.androidide.templates.impl.R
|
||||
import com.itsaky.androidide.templates.impl.base.emptyThemesAndColors
|
||||
import com.itsaky.androidide.templates.impl.base.writeMainActivity
|
||||
|
||||
fun basicActivityProject(): Template {
|
||||
return baseProject {
|
||||
templateName = R.string.template_basic
|
||||
thumb = R.drawable.template_basic_activity
|
||||
defaultAppModule {
|
||||
recipe = {
|
||||
sources {
|
||||
|
||||
+3
@@ -23,11 +23,14 @@ import com.itsaky.androidide.templates.base.baseProject
|
||||
import com.itsaky.androidide.templates.base.models.Dependency
|
||||
import com.itsaky.androidide.templates.base.modules.android.defaultAppModule
|
||||
import com.itsaky.androidide.templates.base.util.AndroidModuleResManager.ResourceType.NAVIGATION
|
||||
import com.itsaky.androidide.templates.impl.R
|
||||
import com.itsaky.androidide.templates.impl.base.emptyThemesAndColors
|
||||
import com.itsaky.androidide.templates.impl.base.writeMainActivity
|
||||
import com.itsaky.androidide.templates.impl.templateAsset
|
||||
|
||||
fun bottomNavActivityProject() = baseProject {
|
||||
templateName = R.string.template_navigation_tabs
|
||||
thumb = R.drawable.template_bottom_navigation_activity
|
||||
defaultAppModule {
|
||||
recipe = {
|
||||
sources {
|
||||
|
||||
+3
@@ -23,10 +23,13 @@ import com.itsaky.androidide.templates.base.baseProject
|
||||
import com.itsaky.androidide.templates.base.modules.android.defaultAppModule
|
||||
import com.itsaky.androidide.templates.base.util.AndroidModuleResManager.ResourceType.LAYOUT
|
||||
import com.itsaky.androidide.templates.base.util.SourceWriter
|
||||
import com.itsaky.androidide.templates.impl.R
|
||||
import com.itsaky.androidide.templates.impl.base.emptyThemesAndColors
|
||||
import com.itsaky.androidide.templates.impl.base.writeMainActivity
|
||||
|
||||
fun emptyActivityProject(): ProjectTemplate = baseProject {
|
||||
templateName = R.string.template_empty
|
||||
thumb = R.drawable.template_empty_activity
|
||||
defaultAppModule {
|
||||
recipe = {
|
||||
sources {
|
||||
|
||||
+3
@@ -23,11 +23,14 @@ import com.itsaky.androidide.templates.base.baseProject
|
||||
import com.itsaky.androidide.templates.base.models.Dependency
|
||||
import com.itsaky.androidide.templates.base.modules.android.defaultAppModule
|
||||
import com.itsaky.androidide.templates.base.util.AndroidModuleResManager.ResourceType.NAVIGATION
|
||||
import com.itsaky.androidide.templates.impl.R
|
||||
import com.itsaky.androidide.templates.impl.base.emptyThemesAndColors
|
||||
import com.itsaky.androidide.templates.impl.base.writeMainActivity
|
||||
import com.itsaky.androidide.templates.impl.templateAsset
|
||||
|
||||
fun navDrawerActivityProject() = baseProject {
|
||||
templateName = R.string.template_navigation_drawer
|
||||
thumb = R.drawable.template_blank_activity_drawer
|
||||
defaultAppModule {
|
||||
recipe = {
|
||||
sources {
|
||||
|
||||
+3
@@ -19,9 +19,12 @@ package com.itsaky.androidide.templates.impl.noActivity
|
||||
|
||||
import com.itsaky.androidide.templates.base.baseProject
|
||||
import com.itsaky.androidide.templates.base.modules.android.defaultAppModule
|
||||
import com.itsaky.androidide.templates.impl.R
|
||||
import com.itsaky.androidide.templates.impl.base.emptyThemesAndColors
|
||||
|
||||
fun noActivityProjectTemplate() = baseProject {
|
||||
templateName = R.string.template_no_activity
|
||||
thumb = R.drawable.template_no_activity
|
||||
defaultAppModule {
|
||||
recipe = {
|
||||
res {
|
||||
|
||||
+3
@@ -22,11 +22,14 @@ import com.itsaky.androidide.templates.base.AndroidModuleTemplateBuilder
|
||||
import com.itsaky.androidide.templates.base.baseProject
|
||||
import com.itsaky.androidide.templates.base.models.Dependency
|
||||
import com.itsaky.androidide.templates.base.modules.android.defaultAppModule
|
||||
import com.itsaky.androidide.templates.impl.R
|
||||
import com.itsaky.androidide.templates.impl.base.emptyThemesAndColors
|
||||
import com.itsaky.androidide.templates.impl.base.writeMainActivity
|
||||
import com.itsaky.androidide.templates.impl.templateAsset
|
||||
|
||||
fun tabbedActivityProject() = baseProject {
|
||||
templateName = R.string.template_tabs
|
||||
thumb = R.drawable.template_blank_activity_tabs
|
||||
defaultAppModule {
|
||||
recipe = {
|
||||
sources {
|
||||
|
||||
@@ -51,7 +51,10 @@ class TemplateBuilderTest {
|
||||
@Test
|
||||
fun `root project generator test`() {
|
||||
val template = testTemplate("Root", generate = false) {
|
||||
baseProject { }
|
||||
baseProject {
|
||||
templateName = -123
|
||||
thumb = -123
|
||||
}
|
||||
}
|
||||
|
||||
template.apply {
|
||||
@@ -97,6 +100,9 @@ class TemplateBuilderTest {
|
||||
testTemplate("Test", generate = false) {
|
||||
baseProject {
|
||||
|
||||
templateName = -123
|
||||
thumb = -123
|
||||
|
||||
defaultAppModule {
|
||||
manifest {
|
||||
addPermission(INTERNET)
|
||||
|
||||
@@ -21,9 +21,6 @@ import androidx.test.core.app.ApplicationProvider
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import com.itsaky.androidide.managers.PreferenceManager
|
||||
import com.itsaky.androidide.preferences.internal.prefManager
|
||||
import com.itsaky.androidide.templates.base.AndroidModuleTemplateBuilder
|
||||
import com.itsaky.androidide.templates.base.ModuleTemplateBuilder
|
||||
import com.itsaky.androidide.templates.base.ProjectTemplateBuilder
|
||||
import com.itsaky.androidide.tooling.testing.findAndroidHome
|
||||
import com.itsaky.androidide.utils.Environment
|
||||
import com.itsaky.androidide.utils.FileProvider
|
||||
@@ -46,22 +43,6 @@ fun mockPrefManager(configure: PreferenceManager.() -> Unit = {}) {
|
||||
manager.configure()
|
||||
}
|
||||
|
||||
fun mockTemplateBuilders() {
|
||||
mockTemplateBuilderConstructor(TemplateBuilder::class)
|
||||
mockTemplateBuilderConstructor(ProjectTemplateBuilder::class)
|
||||
mockTemplateBuilderConstructor(ModuleTemplateBuilder::class)
|
||||
mockTemplateBuilderConstructor(AndroidModuleTemplateBuilder::class)
|
||||
}
|
||||
|
||||
private inline fun <reified T : TemplateBuilder<*>> mockTemplateBuilderConstructor(
|
||||
klass: KClass<T>
|
||||
) {
|
||||
mockConstructors(klass) {
|
||||
every { anyConstructed<T>().templateName } returns -123
|
||||
every { anyConstructed<T>().thumb } returns -123
|
||||
}
|
||||
}
|
||||
|
||||
fun mockTemplateDatas(useKts: Boolean) {
|
||||
mockTemplateDataConstructor(BaseTemplateData::class, useKts)
|
||||
mockTemplateDataConstructor(ProjectTemplateData::class, useKts)
|
||||
@@ -92,7 +73,6 @@ private fun <T : Any> mockConstructors(klass: KClass<T>,
|
||||
fun testTemplate(name: String, generate: Boolean = true, builder: () -> Template
|
||||
): Template {
|
||||
mockPrefManager()
|
||||
mockTemplateBuilders()
|
||||
testProjectsDir.apply {
|
||||
if (exists()) {
|
||||
delete()
|
||||
|
||||
Reference in New Issue
Block a user