@@ -4,6 +4,8 @@ import SuggestionItem from "../../src/SuggestionItem.js";
44import Button from "../../src/Button.js" ;
55import "../../src/features/InputSuggestions.js" ;
66import type ResponsivePopover from "@ui5/webcomponents/dist/ResponsivePopover.js" ;
7+ import { INPUT_SUGGESTIONS_TITLE } from "../../src/generated/i18n/i18n-defaults.js" ;
8+ import Label from "../../src/Label.js" ;
79
810const createTokenFromText = ( text : string ) : HTMLElement => {
911 const token = document . createElement ( "ui5-token" ) ;
@@ -213,3 +215,88 @@ describe("Multi Input on mobile device", () => {
213215 } ) ;
214216 } ) ;
215217} ) ;
218+
219+ describe ( "Dialog header title" , ( ) => {
220+ beforeEach ( ( ) => {
221+ cy . ui5SimulateDevice ( "phone" ) ;
222+ } ) ;
223+
224+ it ( "Should display label text as dialog header title when label for is used" , ( ) => {
225+ cy . mount (
226+ < >
227+ < Label for = "myMultiInput" > Tags</ Label >
228+ < MultiInput id = "myMultiInput" showSuggestions >
229+ < SuggestionItem text = "Item 1" />
230+ < SuggestionItem text = "Item 2" />
231+ </ MultiInput >
232+ </ >
233+ ) ;
234+
235+ cy . get ( "#myMultiInput" )
236+ . shadow ( )
237+ . find ( ".ui5-input-inner" )
238+ . realClick ( ) ;
239+
240+ cy . get ( "#myMultiInput" )
241+ . shadow ( )
242+ . find < ResponsivePopover > ( "[ui5-responsive-popover]" )
243+ . ui5ResponsivePopoverOpened ( ) ;
244+
245+ cy . get ( "#myMultiInput" )
246+ . shadow ( )
247+ . find ( "[ui5-responsive-popover] .ui5-responsive-popover-header-text" )
248+ . should ( "have.text" , "Tags" ) ;
249+ } ) ;
250+
251+ it ( "Should display label text as n-more tokenizer popover title" , ( ) => {
252+ cy . mount (
253+ < >
254+ < Label for = "myMultiInput" > Tags</ Label >
255+ < MultiInput id = "myMultiInput" showSuggestions >
256+ < Token slot = "tokens" text = "Token 1" />
257+ < Token slot = "tokens" text = "Token 2" />
258+ < Token slot = "tokens" text = "Token 3" />
259+ </ MultiInput >
260+ </ >
261+ ) ;
262+
263+ cy . get ( "#myMultiInput" )
264+ . shadow ( )
265+ . find ( "[ui5-tokenizer]" )
266+ . shadow ( )
267+ . find ( ".ui5-tokenizer-more-text" )
268+ . realClick ( ) ;
269+
270+ cy . get ( "#myMultiInput" )
271+ . shadow ( )
272+ . find ( "[ui5-tokenizer]" )
273+ . shadow ( )
274+ . find ( "[ui5-responsive-popover]" )
275+ . find ( ".ui5-responsive-popover-header-text" )
276+ . should ( "have.text" , "Tags" ) ;
277+ } ) ;
278+
279+ it ( "Should fallback to 'All Items' when no label is associated" , ( ) => {
280+ cy . mount (
281+ < MultiInput id = "myMultiInput" showSuggestions >
282+ < SuggestionItem text = "Item 1" />
283+ < SuggestionItem text = "Item 2" />
284+ </ MultiInput >
285+ ) ;
286+
287+ cy . get ( "#myMultiInput" )
288+ . shadow ( )
289+ . find ( ".ui5-input-inner" )
290+ . realClick ( ) ;
291+
292+ cy . get ( "#myMultiInput" )
293+ . shadow ( )
294+ . find < ResponsivePopover > ( "[ui5-responsive-popover]" )
295+ . ui5ResponsivePopoverOpened ( ) ;
296+
297+ cy . get ( "#myMultiInput" )
298+ . shadow ( )
299+ . find ( "[ui5-responsive-popover] .ui5-responsive-popover-header-text" )
300+ . should ( "have.text" , INPUT_SUGGESTIONS_TITLE . defaultText ) ;
301+ } ) ;
302+ } ) ;
0 commit comments