@@ -46,6 +46,67 @@ describe('Module: RenderSnippetParameterHoverProvider', async () => {
4646 ) ;
4747 } ) ;
4848 } ) ;
49+
50+ describe ( 'hover on inline snippet parameters' , ( ) => {
51+ it ( 'should return parameter info for inline snippet' , async ( ) => {
52+ provider = createProvider ( async ( ) => undefined ) ; // No file-based snippets
53+
54+ const source = `
55+ {% snippet product_card %}
56+ {% doc %}
57+ @param {string} title - The title of the product
58+ @param {number} price - The price of the product
59+ {% enddoc %}
60+ <div>{{ title }}: {{ price }}</div>
61+ {% endsnippet %}
62+
63+ {% render product_card, ti█tle: 'My Product', price: 99 %}
64+ ` ;
65+
66+ await expect ( provider ) . to . hover ( source , '### `title`: string\n\nThe title of the product' ) ;
67+ } ) ;
68+
69+ it ( 'should return null if parameter not found in inline snippet doc' , async ( ) => {
70+ provider = createProvider ( async ( ) => undefined ) ;
71+
72+ const source = `
73+ {% snippet product_card %}
74+ {% doc %}
75+ @param {string} title - The title of the product
76+ {% enddoc %}
77+ <div>{{ title }}</div>
78+ {% endsnippet %}
79+
80+ {% render product_card, unknown_para█m: 'value' %}
81+ ` ;
82+
83+ await expect ( provider ) . to . hover ( source , null ) ;
84+ } ) ;
85+
86+ it ( 'should handle multiple inline snippets correctly' , async ( ) => {
87+ provider = createProvider ( async ( ) => undefined ) ;
88+
89+ const source = `
90+ {% snippet first_snippet %}
91+ {% doc %}
92+ @param {string} first_param - First parameter
93+ {% enddoc %}
94+ <div>{{ first_param }}</div>
95+ {% endsnippet %}
96+
97+ {% snippet second_snippet %}
98+ {% doc %}
99+ @param {number} second_param - Second parameter
100+ {% enddoc %}
101+ <div>{{ second_param }}</div>
102+ {% endsnippet %}
103+
104+ {% render second_snippet, second_para█m: 42 %}
105+ ` ;
106+
107+ await expect ( provider ) . to . hover ( source , '### `second_param`: number\n\nSecond parameter' ) ;
108+ } ) ;
109+ } ) ;
49110} ) ;
50111
51112const createProvider = ( getSnippetDefinition : GetDocDefinitionForURI ) => {
0 commit comments