diff --git a/src/diagrams/class/svgDraw.spec.js b/src/diagrams/class/svgDraw.spec.js index d4fd0cb6b..ec8785559 100644 --- a/src/diagrams/class/svgDraw.spec.js +++ b/src/diagrams/class/svgDraw.spec.js @@ -137,6 +137,14 @@ describe('class member Renderer, ', function () { expect(actual.displayText).toBe('+foo(List ids) : List'); expect(actual.cssStyle).toBe('font-style:italic;'); }); + + it('should handle method declaration with nested markup', function () { + const str = '+foo ( List~List~int~~ ids )* List~List~Item~~'; + let actual = svgDraw.parseMember(str); + + expect(actual.displayText).toBe('+foo(List> ids) : List>'); + expect(actual.cssStyle).toBe('font-style:italic;'); + }); }); describe('when parsing text to build field display string', function () { diff --git a/src/diagrams/common/common.spec.js b/src/diagrams/common/common.spec.js index b9fac5fba..19931141d 100644 --- a/src/diagrams/common/common.spec.js +++ b/src/diagrams/common/common.spec.js @@ -108,5 +108,11 @@ describe('generic parser', function () { it('should parse generic types', function () { expect(parseGenericTypes('test~T~')).toEqual('test'); expect(parseGenericTypes('test~Array~Array~string~~~')).toEqual('test>>'); + expect(parseGenericTypes('test~Array~Array~string[]~~~')).toEqual( + 'test>>' + ); + expect(parseGenericTypes('test ~Array~Array~string[]~~~')).toEqual( + 'test >>' + ); }); });