diff --git a/packages/mermaid/src/diagrams/state/stateDiagram-v2.spec.js b/packages/mermaid/src/diagrams/state/stateDiagram-v2.spec.js index c587970b5..a79e44d5d 100644 --- a/packages/mermaid/src/diagrams/state/stateDiagram-v2.spec.js +++ b/packages/mermaid/src/diagrams/state/stateDiagram-v2.spec.js @@ -442,25 +442,5 @@ describe('state diagram V2, ', function () { const currentDirection = stateDb.getDirection(); expect(currentDirection).toEqual('LR'); }); - it('should parse and store clickable link with tooltip using the click directive', () => { - const diagram = ` - stateDiagram-v2 - [*] --> StateA - click StateA "https://example.com" "Go to Example" - `; - - stateDb.clear(); - - const doc = parser.parse(diagram); - stateDb.extract(doc); - - const links = stateDb.getLinks(); - - expect(links.has('StateA')).toBe(true); - - const linkInfo = links.get('StateA'); - expect(linkInfo.url).toBe('https://example.com'); - expect(linkInfo.tooltip).toBe('Go to Example'); - }); }); }); diff --git a/packages/mermaid/src/diagrams/state/stateDiagram.spec.js b/packages/mermaid/src/diagrams/state/stateDiagram.spec.js index 362c86ccd..eadc2baeb 100644 --- a/packages/mermaid/src/diagrams/state/stateDiagram.spec.js +++ b/packages/mermaid/src/diagrams/state/stateDiagram.spec.js @@ -400,4 +400,26 @@ describe('state diagram, ', function () { parser.parse(str); }); }); + describe('click directive', function () { + let stateDb; + beforeEach(function () { + stateDb = new StateDB(1); + parser.yy = stateDb; + }); + + it('should handle click directive and store links in stateDb', function () { + const str = `stateDiagram + state S1 + click S1 "https://example.com" "Go to Example" + `; + + parser.parse(str); + + const links = stateDb.getLinks(); + expect(links.has('S1')).toBe(true); + const link = links.get('S1'); + expect(link.url).toBe('https://example.com'); + expect(link.tooltip).toBe('Go to Example'); + }); + }); });