Merge branch 'develop' into fix/6371-save-file-name-conflicts

This commit is contained in:
Benoit Marty
2026-08-24 09:38:35 +02:00
committed by GitHub
1451 changed files with 19439 additions and 7920 deletions
@@ -0,0 +1,19 @@
/*
* Copyright (c) 2026 Element Creations Ltd.
*
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.tests.testutils.node
import com.bumble.appyx.core.node.Node
import io.element.android.libraries.architecture.AssistedNodeFactory
import io.element.android.libraries.architecture.NodeFactoriesBindings
import kotlin.reflect.KClass
class FakeNodeFactoriesBindings(
private val nodeFactories: Map<KClass<out Node>, AssistedNodeFactory<*>>,
) : NodeFactoriesBindings {
override fun nodeFactories() = nodeFactories
}
@@ -0,0 +1,34 @@
/*
* Copyright (c) 2026 Element Creations Ltd.
*
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.tests.testutils.node
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import com.bumble.appyx.core.modality.BuildContext
import com.bumble.appyx.core.navigation.model.permanent.PermanentNavModel
import com.bumble.appyx.core.node.Node
import com.bumble.appyx.core.node.ParentNode
import com.bumble.appyx.core.node.node
import io.element.android.libraries.di.DependencyInjectionGraphOwner
/**
* A Node creates its children using the dependency injection graph of its ancestors, so a Node under test
* needs such a parent to be able to create its children.
*/
class FakeParentNode(
override val graph: Any,
) : ParentNode<Unit>(
navModel = PermanentNavModel(navTargets = setOf(Unit), savedStateMap = null),
buildContext = BuildContext.root(savedStateMap = null),
),
DependencyInjectionGraphOwner {
override fun resolve(navTarget: Unit, buildContext: BuildContext): Node = node(buildContext) {}
@Composable
override fun View(modifier: Modifier) = Unit
}
@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.tests.testutils
package io.element.android.tests.testutils.presenter
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
@@ -0,0 +1,19 @@
/*
* Copyright (c) 2026 Element Creations Ltd.
*
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.tests.testutils.presenter
import androidx.compose.runtime.Composable
import io.element.android.libraries.architecture.Presenter
/**
* A presenter that cannot be used, util for testing Nodes.
*/
class NotUsedPresenter<T> : Presenter<T> {
@Composable
override fun present(): T = error("Not used")
}