@@ -56,6 +56,7 @@ describe('Aggregate semantic token tests', () => {
5656 test ( 'check semantic tokens for Aggregate with full body' , async ( ) => {
5757 document = await parse ( `
5858 BoundedContext TestContext {
59+ "doc"
5960 Aggregate TestAggregate {
6061 responsibilities "resp1", "resp2"
6162 owner = TestContext
@@ -77,61 +78,126 @@ describe('Aggregate semantic token tests', () => {
7778
7879 const result = await semanticTokenProvider . semanticHighlight ( document , params )
7980
80- const expectedNumberOfTokens = 31
81+ const expectedNumberOfTokens = 32
8182 expectSemanticTokensToHaveLength ( result , expectedNumberOfTokens )
8283 const tokens = extractSemanticTokens ( result , expectedNumberOfTokens )
8384
84- expectSemanticTokensToEqual ( tokens [ 2 ] , 1 , 8 , 9 , semanticTokenProvider . tokenTypes . keyword , 0 )
85- expectSemanticTokensToEqual ( tokens [ 3 ] , 0 , 10 , 13 , semanticTokenProvider . tokenTypes . type , semanticTokenProvider . tokenModifiers . declaration )
85+ expectSemanticTokensToEqual ( tokens [ 2 ] , 1 , 8 , 5 , semanticTokenProvider . tokenTypes . string , 0 )
86+
87+ expectSemanticTokensToEqual ( tokens [ 3 ] , 1 , 8 , 9 , semanticTokenProvider . tokenTypes . keyword , 0 )
88+ expectSemanticTokensToEqual ( tokens [ 4 ] , 0 , 10 , 13 , semanticTokenProvider . tokenTypes . type , semanticTokenProvider . tokenModifiers . declaration )
8689
8790 // responsibilities
88- expectSemanticTokensToEqual ( tokens [ 4 ] , 1 , 10 , 16 , semanticTokenProvider . tokenTypes . keyword , 0 )
89- expectSemanticTokensToEqual ( tokens [ 5 ] , 0 , 17 , 7 , semanticTokenProvider . tokenTypes . string , 0 )
90- expectSemanticTokensToEqual ( tokens [ 6 ] , 0 , 9 , 7 , semanticTokenProvider . tokenTypes . string , 0 )
91+ expectSemanticTokensToEqual ( tokens [ 5 ] , 1 , 10 , 16 , semanticTokenProvider . tokenTypes . keyword , 0 )
92+ expectSemanticTokensToEqual ( tokens [ 6 ] , 0 , 17 , 7 , semanticTokenProvider . tokenTypes . string , 0 )
93+ expectSemanticTokensToEqual ( tokens [ 7 ] , 0 , 9 , 7 , semanticTokenProvider . tokenTypes . string , 0 )
9194
9295 // owner
93- expectSemanticTokensToEqual ( tokens [ 7 ] , 1 , 10 , 5 , semanticTokenProvider . tokenTypes . keyword , 0 )
94- expectSemanticTokensToEqual ( tokens [ 8 ] , 0 , 8 , 11 , semanticTokenProvider . tokenTypes . type , 0 )
96+ expectSemanticTokensToEqual ( tokens [ 8 ] , 1 , 10 , 5 , semanticTokenProvider . tokenTypes . keyword , 0 )
97+ expectSemanticTokensToEqual ( tokens [ 9 ] , 0 , 8 , 11 , semanticTokenProvider . tokenTypes . type , 0 )
9598
9699 // useCases
97- expectSemanticTokensToEqual ( tokens [ 9 ] , 1 , 10 , 8 , semanticTokenProvider . tokenTypes . keyword , 0 )
98- expectSemanticTokensToEqual ( tokens [ 10 ] , 0 , 9 , 11 , semanticTokenProvider . tokenTypes . type , 0 )
100+ expectSemanticTokensToEqual ( tokens [ 10 ] , 1 , 10 , 8 , semanticTokenProvider . tokenTypes . keyword , 0 )
101+ expectSemanticTokensToEqual ( tokens [ 11 ] , 0 , 9 , 11 , semanticTokenProvider . tokenTypes . type , 0 )
99102
100103 // knowledgeLevel
101- expectSemanticTokensToEqual ( tokens [ 11 ] , 1 , 10 , 14 , semanticTokenProvider . tokenTypes . keyword , 0 )
102- expectSemanticTokensToEqual ( tokens [ 12 ] , 0 , 17 , 4 , semanticTokenProvider . tokenTypes . enumMember , 0 )
104+ expectSemanticTokensToEqual ( tokens [ 12 ] , 1 , 10 , 14 , semanticTokenProvider . tokenTypes . keyword , 0 )
105+ expectSemanticTokensToEqual ( tokens [ 13 ] , 0 , 17 , 4 , semanticTokenProvider . tokenTypes . enumMember , 0 )
103106
104107 // contentVolatility
105- expectSemanticTokensToEqual ( tokens [ 13 ] , 1 , 10 , 17 , semanticTokenProvider . tokenTypes . keyword , 0 )
106- expectSemanticTokensToEqual ( tokens [ 14 ] , 0 , 20 , 6 , semanticTokenProvider . tokenTypes . enumMember , 0 )
108+ expectSemanticTokensToEqual ( tokens [ 14 ] , 1 , 10 , 17 , semanticTokenProvider . tokenTypes . keyword , 0 )
109+ expectSemanticTokensToEqual ( tokens [ 15 ] , 0 , 20 , 6 , semanticTokenProvider . tokenTypes . enumMember , 0 )
107110
108111 // likelihoodForChange
109- expectSemanticTokensToEqual ( tokens [ 15 ] , 1 , 10 , 19 , semanticTokenProvider . tokenTypes . keyword , 0 )
110- expectSemanticTokensToEqual ( tokens [ 16 ] , 0 , 22 , 6 , semanticTokenProvider . tokenTypes . enumMember , 0 )
112+ expectSemanticTokensToEqual ( tokens [ 16 ] , 1 , 10 , 19 , semanticTokenProvider . tokenTypes . keyword , 0 )
113+ expectSemanticTokensToEqual ( tokens [ 17 ] , 0 , 22 , 6 , semanticTokenProvider . tokenTypes . enumMember , 0 )
111114
112115 // availabilityCriticality
113- expectSemanticTokensToEqual ( tokens [ 17 ] , 1 , 10 , 23 , semanticTokenProvider . tokenTypes . keyword , 0 )
114- expectSemanticTokensToEqual ( tokens [ 18 ] , 0 , 26 , 4 , semanticTokenProvider . tokenTypes . enumMember , 0 )
116+ expectSemanticTokensToEqual ( tokens [ 18 ] , 1 , 10 , 23 , semanticTokenProvider . tokenTypes . keyword , 0 )
117+ expectSemanticTokensToEqual ( tokens [ 19 ] , 0 , 26 , 4 , semanticTokenProvider . tokenTypes . enumMember , 0 )
115118
116119 // consistencyCriticality
117- expectSemanticTokensToEqual ( tokens [ 19 ] , 1 , 10 , 22 , semanticTokenProvider . tokenTypes . keyword , 0 )
118- expectSemanticTokensToEqual ( tokens [ 20 ] , 0 , 25 , 4 , semanticTokenProvider . tokenTypes . enumMember , 0 )
120+ expectSemanticTokensToEqual ( tokens [ 20 ] , 1 , 10 , 22 , semanticTokenProvider . tokenTypes . keyword , 0 )
121+ expectSemanticTokensToEqual ( tokens [ 21 ] , 0 , 25 , 4 , semanticTokenProvider . tokenTypes . enumMember , 0 )
119122
120123 // securityZone
121- expectSemanticTokensToEqual ( tokens [ 21 ] , 1 , 10 , 12 , semanticTokenProvider . tokenTypes . keyword , 0 )
122- expectSemanticTokensToEqual ( tokens [ 22 ] , 0 , 13 , 10 , semanticTokenProvider . tokenTypes . string , 0 )
124+ expectSemanticTokensToEqual ( tokens [ 22 ] , 1 , 10 , 12 , semanticTokenProvider . tokenTypes . keyword , 0 )
125+ expectSemanticTokensToEqual ( tokens [ 23 ] , 0 , 13 , 10 , semanticTokenProvider . tokenTypes . string , 0 )
123126
124127 // securityCriticality
125- expectSemanticTokensToEqual ( tokens [ 23 ] , 1 , 10 , 19 , semanticTokenProvider . tokenTypes . keyword , 0 )
126- expectSemanticTokensToEqual ( tokens [ 24 ] , 0 , 22 , 3 , semanticTokenProvider . tokenTypes . enumMember , 0 )
128+ expectSemanticTokensToEqual ( tokens [ 24 ] , 1 , 10 , 19 , semanticTokenProvider . tokenTypes . keyword , 0 )
129+ expectSemanticTokensToEqual ( tokens [ 25 ] , 0 , 22 , 3 , semanticTokenProvider . tokenTypes . enumMember , 0 )
127130
128131 // securityAccessGroup
129- expectSemanticTokensToEqual ( tokens [ 25 ] , 1 , 10 , 19 , semanticTokenProvider . tokenTypes . keyword , 0 )
130- expectSemanticTokensToEqual ( tokens [ 26 ] , 0 , 22 , 11 , semanticTokenProvider . tokenTypes . string , 0 )
132+ expectSemanticTokensToEqual ( tokens [ 26 ] , 1 , 10 , 19 , semanticTokenProvider . tokenTypes . keyword , 0 )
133+ expectSemanticTokensToEqual ( tokens [ 27 ] , 0 , 22 , 11 , semanticTokenProvider . tokenTypes . string , 0 )
131134
132135 // storageSimilarity
133- expectSemanticTokensToEqual ( tokens [ 27 ] , 1 , 10 , 17 , semanticTokenProvider . tokenTypes . keyword , 0 )
134- expectSemanticTokensToEqual ( tokens [ 28 ] , 0 , 20 , 4 , semanticTokenProvider . tokenTypes . enumMember , 0 )
136+ expectSemanticTokensToEqual ( tokens [ 28 ] , 1 , 10 , 17 , semanticTokenProvider . tokenTypes . keyword , 0 )
137+ expectSemanticTokensToEqual ( tokens [ 29 ] , 0 , 20 , 4 , semanticTokenProvider . tokenTypes . enumMember , 0 )
138+ } )
139+
140+ test ( 'check semantic tokens for Aggregate with UserStory' , async ( ) => {
141+ document = await parse ( `
142+ BoundedContext TestContext {
143+ Aggregate TestAggregate {
144+ userStories = TestStory
145+ }
146+ }
147+ UserStory TestStory
148+ ` )
149+ const params = createSemanticTokenParams ( document )
150+
151+ const result = await semanticTokenProvider . semanticHighlight ( document , params )
152+
153+ const expectedNumberOfTokens = 8
154+ expectSemanticTokensToHaveLength ( result , expectedNumberOfTokens )
155+ const tokens = extractSemanticTokens ( result , expectedNumberOfTokens )
156+
157+ expectSemanticTokensToEqual ( tokens [ 4 ] , 1 , 10 , 11 , semanticTokenProvider . tokenTypes . keyword , 0 )
158+ expectSemanticTokensToEqual ( tokens [ 5 ] , 0 , 14 , 9 , semanticTokenProvider . tokenTypes . type , 0 )
159+ } )
160+
161+ test ( 'check semantic tokens for Aggregate with features' , async ( ) => {
162+ document = await parse ( `
163+ BoundedContext TestContext {
164+ Aggregate TestAggregate {
165+ features TestStory
166+ }
167+ }
168+ UserStory TestStory
169+ ` )
170+ const params = createSemanticTokenParams ( document )
171+
172+ const result = await semanticTokenProvider . semanticHighlight ( document , params )
173+
174+ const expectedNumberOfTokens = 8
175+ expectSemanticTokensToHaveLength ( result , expectedNumberOfTokens )
176+ const tokens = extractSemanticTokens ( result , expectedNumberOfTokens )
177+
178+ expectSemanticTokensToEqual ( tokens [ 4 ] , 1 , 10 , 8 , semanticTokenProvider . tokenTypes . keyword , 0 )
179+ expectSemanticTokensToEqual ( tokens [ 5 ] , 0 , 9 , 9 , semanticTokenProvider . tokenTypes . type , 0 )
180+ } )
181+
182+ test ( 'check semantic tokens for Aggregate with user requirements' , async ( ) => {
183+ document = await parse ( `
184+ BoundedContext TestContext {
185+ Aggregate TestAggregate {
186+ userRequirements TestStory
187+ }
188+ }
189+ UserStory TestStory
190+ ` )
191+ const params = createSemanticTokenParams ( document )
192+
193+ const result = await semanticTokenProvider . semanticHighlight ( document , params )
194+
195+ const expectedNumberOfTokens = 8
196+ expectSemanticTokensToHaveLength ( result , expectedNumberOfTokens )
197+ const tokens = extractSemanticTokens ( result , expectedNumberOfTokens )
198+
199+ expectSemanticTokensToEqual ( tokens [ 4 ] , 1 , 10 , 16 , semanticTokenProvider . tokenTypes . keyword , 0 )
200+ expectSemanticTokensToEqual ( tokens [ 5 ] , 0 , 17 , 9 , semanticTokenProvider . tokenTypes . type , 0 )
135201 } )
136202} )
137203
0 commit comments