feat: add setting to toggle model provider visibility in chat composer (#1194)
This commit is contained in:
20 files changed
+204
-32
No files matched your search
+30
-3
@@ -59,6 +59,7 @@ class ComposerInteractionTest {
|
||||
composerWidth: Dp? = null,
|
||||
modelAfterTap: String? = null,
|
||||
layoutDirection: LayoutDirection = LayoutDirection.Ltr,
|
||||
showModelProvider: Boolean = false,
|
||||
) {
|
||||
composeTestRule.setContent {
|
||||
var input by remember { mutableStateOf(TextFieldValue("")) }
|
||||
@@ -93,6 +94,7 @@ class ComposerInteractionTest {
|
||||
onCameraTap = { cameraTaps++ },
|
||||
onImageTap = { photosTaps++ },
|
||||
onFileTap = { fileTaps++ },
|
||||
showModelProvider = showModelProvider,
|
||||
)
|
||||
}
|
||||
if (composerWidth == null) {
|
||||
@@ -206,9 +208,9 @@ class ComposerInteractionTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
fun longModelName_narrowComposer_scrollsWithoutOpeningPicker_orHidingControls() {
|
||||
fun longModelName_remainsScrollableAndDoesNotTriggerPicker() {
|
||||
val longModel = "openrouter/some-extremely-long-model-name-preview-2026-with-extra-characters"
|
||||
setComposer(model = longModel, composerWidth = 280.dp)
|
||||
setComposer(model = longModel, composerWidth = 280.dp, showModelProvider = true)
|
||||
|
||||
composeTestRule.onNodeWithTag("reasoning_chip").assertIsDisplayed()
|
||||
composeTestRule.onNodeWithTag("mic_button").assertIsDisplayed()
|
||||
@@ -252,7 +254,7 @@ class ComposerInteractionTest {
|
||||
fun changingModel_resetsScrolledLabelToTheStart() {
|
||||
val firstModel = "openrouter/some-extremely-long-model-name-preview-2026-with-extra-characters"
|
||||
val secondModel = "anthropic/another-extremely-long-model-name-preview-2026-with-extra-characters"
|
||||
setComposer(model = firstModel, modelAfterTap = secondModel, composerWidth = 280.dp)
|
||||
setComposer(model = firstModel, modelAfterTap = secondModel, composerWidth = 280.dp, showModelProvider = true)
|
||||
|
||||
val firstText = composeTestRule.onNodeWithText(firstModel)
|
||||
val leftBefore = firstText.getUnclippedBoundsInRoot().left
|
||||
@@ -344,4 +346,29 @@ class ComposerInteractionTest {
|
||||
|
||||
composeTestRule.onNodeWithTag("attachment_tray").assertDoesNotExist()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun defaultComposer_showsOnlyModelNameWithoutProvider() {
|
||||
setComposer(model = "openai/gpt-5.5", showModelProvider = false)
|
||||
|
||||
composeTestRule.onNodeWithText("gpt-5.5").assertIsDisplayed()
|
||||
composeTestRule.onNodeWithText("openai/gpt-5.5").assertDoesNotExist()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun enabledComposer_showsProviderAndModelName() {
|
||||
setComposer(model = "openai/gpt-5.5", showModelProvider = true)
|
||||
|
||||
composeTestRule.onNodeWithText("openai/gpt-5.5").assertIsDisplayed()
|
||||
composeTestRule.onNodeWithText("gpt-5.5").assertDoesNotExist()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun defaultComposer_showsOnlyFinalModelSegmentForNestedProvider() {
|
||||
setComposer(model = "openrouter/openai/gpt-5", showModelProvider = false)
|
||||
|
||||
composeTestRule.onNodeWithText("gpt-5").assertIsDisplayed()
|
||||
composeTestRule.onNodeWithText("openai/gpt-5").assertDoesNotExist()
|
||||
composeTestRule.onNodeWithText("openrouter/openai/gpt-5").assertDoesNotExist()
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user