diff --git a/packages/main/cypress/specs/Tokenizer.cy.tsx b/packages/main/cypress/specs/Tokenizer.cy.tsx index d660c1c69eca..8f3c7299d3e5 100644 --- a/packages/main/cypress/specs/Tokenizer.cy.tsx +++ b/packages/main/cypress/specs/Tokenizer.cy.tsx @@ -1,5 +1,12 @@ import Tokenizer from "../../src/Tokenizer.js"; import Token from "../../src/Token.js"; +import type { UI5CustomEvent } from "@ui5/webcomponents-base/dist/index.js"; + +const onTokenDelete = (event: UI5CustomEvent) => { + event.detail.tokens.forEach(token => { + (event.target as Tokenizer).removeChild(token); + }); +}; describe("Tokenizer - multi-line and Clear All", () => { it("'Clear All' link is rendered for multi-line tokenizer and show-clear-all set to true", () => { @@ -124,4 +131,43 @@ describe("Tokenizer - multi-line and Clear All", () => { cy.get("@delete") .should("have.been.calledOnce"); }); + + it("tests token removal", () => { + cy.mount( + + + + + + + + + + ); + + cy.get("#test-token-delete") + .find("[ui5-token]") + .should("have.length", 7); + + cy.get("#test-token-delete") + .shadow() + .find(".ui5-tokenizer-more-text") + .realClick(); + + cy.get("#test-token-delete") + .shadow() + .find("[ui5-responsive-popover]") + .should("be.visible"); + + cy.get("#test-token-delete") + .shadow() + .find("[ui5-responsive-popover] [ui5-list] [ui5-li]").eq(0) + .shadow() + .find(".ui5-li-deletebtn [ui5-button]") + .realClick(); + + cy.get("#test-token-delete") + .find("[ui5-token]") + .should("have.length", 6); + }); }); diff --git a/packages/main/src/Tokenizer.ts b/packages/main/src/Tokenizer.ts index be1d6f519e5f..ec628fb8940a 100644 --- a/packages/main/src/Tokenizer.ts +++ b/packages/main/src/Tokenizer.ts @@ -1155,7 +1155,7 @@ class Tokenizer extends UI5Element { } getTokenByRefId(refId: string) { - return this.tokens.find(token => token._id === refId)!; + return this._tokens.find(token => token._id === refId)!; } } diff --git a/packages/main/test/pages/MultiInput.html b/packages/main/test/pages/MultiInput.html index 8f8da3e7a6a8..f6c9d8a6fd01 100644 --- a/packages/main/test/pages/MultiInput.html +++ b/packages/main/test/pages/MultiInput.html @@ -387,6 +387,20 @@

Custom Suggestions

+ +

Token delete

+ + + + + + + + + + + +