@@ -1089,6 +1089,41 @@ ruleTester.run("no-custom-classname", rule, {
10891089 filename : "test.vue" ,
10901090 parser : require . resolve ( "vue-eslint-parser" ) ,
10911091 } ,
1092+ {
1093+ code : `<template><div :class="[{'text-red-500': true, 'bg-transparent': false}]">Issue #319</div></template>` ,
1094+ filename : "test.vue" ,
1095+ parser : require . resolve ( "vue-eslint-parser" ) ,
1096+ } ,
1097+ {
1098+ code : `<template><div :class="['hidden',{'text-red-500': true, 'bg-transparent': false}, 'text-red-200']">Issue #319</div></template>` ,
1099+ filename : "test.vue" ,
1100+ parser : require . resolve ( "vue-eslint-parser" ) ,
1101+ } ,
1102+ {
1103+ code : `<template><div :class="[{'text-red-500': true}, 'bg-white']" :prop="['baz', true, 'foo']" :other="['val', {'baz': true, 'text-green-400': false}]">Issue #319</div></template>` ,
1104+ filename : "test.vue" ,
1105+ parser : require . resolve ( "vue-eslint-parser" ) ,
1106+ } ,
1107+ {
1108+ code : `<template><div :class="['tw-hidden',{'tw-text-red-500': true, 'tw-bg-transparent': false}, 'tw-text-red-200']">Issue #319</div></template>` ,
1109+ filename : "test.vue" ,
1110+ parser : require . resolve ( "vue-eslint-parser" ) ,
1111+ options : [
1112+ {
1113+ config : {
1114+ prefix : "tw-" ,
1115+ theme : {
1116+ extend : { } ,
1117+ } ,
1118+ } ,
1119+ } ,
1120+ ] ,
1121+ } ,
1122+ {
1123+ code : `<template><div :class="['hidden',{'text-red-500': true, 'bg-transparent': false}, {'text-green-500': true}, 'bg-white']">Issue #319</div></template>` ,
1124+ filename : "test.vue" ,
1125+ parser : require . resolve ( "vue-eslint-parser" ) ,
1126+ }
10921127 ] ,
10931128
10941129 invalid : [
@@ -1435,6 +1470,65 @@ ruleTester.run("no-custom-classname", rule, {
14351470 filename : "test.vue" ,
14361471 parser : require . resolve ( "vue-eslint-parser" ) ,
14371472 } ,
1473+ {
1474+ code : `
1475+ <script>
1476+ export default {
1477+ data() {
1478+ return {}
1479+ }
1480+ }
1481+ </script>
1482+ <template>
1483+ <span :class="['text-red-200', {'tw-unknown-class': true, 'tw-unknown-class-two': false}, 'tw-unknown-class-three', 'tw-bg-transparent']" />
1484+ </template>
1485+ ` ,
1486+ options : [
1487+ {
1488+ config : {
1489+ prefix : "tw-" ,
1490+ theme : {
1491+ extend : { } ,
1492+ } ,
1493+ } ,
1494+ } ,
1495+ ] ,
1496+ errors : generateErrors (
1497+ "text-red-200 tw-unknown-class tw-unknown-class-two tw-unknown-class-three"
1498+ ) ,
1499+ filename : "test.vue" ,
1500+ parser : require . resolve ( "vue-eslint-parser" ) ,
1501+ } ,
1502+ {
1503+ code : `<template><div :class="[{'baz': true, 'foo': false}]">Issue #319</div></template>` ,
1504+ filename : "test.vue" ,
1505+ parser : require . resolve ( "vue-eslint-parser" ) ,
1506+ errors : generateErrors ( "baz foo" ) ,
1507+ } ,
1508+ {
1509+ code : `<template><div :class="['unknown',{'baz': true, 'foo': false}]">Issue #319</div></template>` ,
1510+ filename : "test.vue" ,
1511+ parser : require . resolve ( "vue-eslint-parser" ) ,
1512+ errors : generateErrors ( "unknown baz foo" ) ,
1513+ } ,
1514+ {
1515+ code : `<template><div :class="['text-red-200','unknown',{'baz': true, 'foo': false}, 'tw-unknown-class']">Issue #319</div></template>` ,
1516+ filename : "test.vue" ,
1517+ parser : require . resolve ( "vue-eslint-parser" ) ,
1518+ errors : generateErrors ( "unknown baz foo tw-unknown-class" ) ,
1519+ } ,
1520+ {
1521+ code : `<template><div :class="['tw-hidden',{'custom': true, '🧑💻': false}, {'text-green-500': true}, 'bg-tw']">Issue #319</div></template>` ,
1522+ filename : "test.vue" ,
1523+ parser : require . resolve ( "vue-eslint-parser" ) ,
1524+ errors : generateErrors ( "tw-hidden custom 🧑💻 bg-tw" ) ,
1525+ } ,
1526+ {
1527+ code : `<template><div :class="[{'baz': true, 'foo': false}]" :prop="['baz', true, 'foo']" :other="['val', {'baz': true, 'foo': false}]">Issue #319</div></template>` ,
1528+ filename : "test.vue" ,
1529+ parser : require . resolve ( "vue-eslint-parser" ) ,
1530+ errors : generateErrors ( "baz foo" ) ,
1531+ } ,
14381532 {
14391533 code : `<div className="group-hover/edit:unknown-class">Custom group name variant with invalid class name</div>` ,
14401534 errors : generateErrors ( "group-hover/edit:unknown-class" ) ,
0 commit comments