@@ -134,6 +134,7 @@ let tests: PluginTest[] = [
134134 plugins : [ '@zackad/prettier-plugin-twig' ] ,
135135 options : {
136136 twigAlwaysBreakObjects : false ,
137+ tailwindFunctions : [ 'addClass' ] ,
137138 } ,
138139 tests : {
139140 twig : [
@@ -162,6 +163,33 @@ let tests: PluginTest[] = [
162163 `<div class="{{ ' flex ' + ' underline ' + ' block ' }}"></div>` ,
163164 `<div class="{{ 'flex ' + ' underline' + ' block' }}"></div>` ,
164165 ] ,
166+
167+ // Drupal attributes.addClass() tests
168+ [
169+ `<div {{ attributes.addClass("sm:p-0 p-0") }}></div>` ,
170+ `<div {{ attributes.addClass('p-0 sm:p-0') }}></div>` ,
171+ ] ,
172+ [
173+ `{{ attributes.addClass("sm:p-0 p-0") }}` ,
174+ `{{ attributes.addClass('p-0 sm:p-0') }}` ,
175+ ] ,
176+ [
177+ `{% set className = "p-0 sm:p-0" %}
178+ {{ attributes.addClass(className) }}` ,
179+ `{% set className = 'p-0 sm:p-0' %}
180+ {{ attributes.addClass(className) }}` ,
181+ ] ,
182+ [
183+ `{{ attributes.addClass("sm:p-0 " ~ variant ~ " p-0") }}` ,
184+ `{{ attributes.addClass('sm:p-0' ~ variant ~ 'p-0') }}` ,
185+ ] ,
186+ [
187+ `{{ attributes
188+ .addClass("sm:p-0 p-0")
189+ .addClass("flex block")
190+ .addClass("underline") }}` ,
191+ `{{ attributes.addClass('p-0 sm:p-0').addClass('block flex').addClass('underline') }}` ,
192+ ] ,
165193 ] ,
166194 } ,
167195 } ,
@@ -207,7 +235,7 @@ let tests: PluginTest[] = [
207235 import './three'
208236 import '@one/file'
209237 import '@two/file'
210- export default function Foo() { return <div className="sm:p-0 p-4 "></div> }
238+ export default function Foo() { return <div className="p-4 sm:p-0 "></div> }
211239 ` ,
212240 `import '@one/file'\nimport '@two/file'\n\nimport './three'\n\nexport default function Foo() {\n return <div className="p-4 sm:p-0"></div>\n}` ,
213241 ] ,
@@ -219,7 +247,7 @@ let tests: PluginTest[] = [
219247 tests : {
220248 babel : [
221249 [
222- `/**\n * @param { string } param0 description\n */\n export default function Foo(param0) { return <div className="sm:p-0 p-4 "></div> }` ,
250+ `/**\n * @param { string } param0 description\n */\n export default function Foo(param0) { return <div className="p-4 sm:p-0 "></div> }` ,
223251 `/** @param {string} param0 Description */\nexport default function Foo(param0) {\n return <div className="p-4 sm:p-0"></div>\n}` ,
224252 ] ,
225253 ] ,
0 commit comments