@@ -41,6 +41,10 @@ ruleTester.run('no-unknown-property', rule, {
41
41
features : [ 'jsx namespace' ] ,
42
42
} ,
43
43
{ code : '<App clip-path="bar" />;' } ,
44
+ {
45
+ code : '<App dataNotAnDataAttribute="yes" />;' ,
46
+ options : [ { requireDataLowercase : true } ] ,
47
+ } ,
44
48
// Some HTML/DOM elements with common attributes should work
45
49
{ code : '<div className="bar"></div>;' } ,
46
50
{ code : '<div onMouseDown={this._onMouseDown}></div>;' } ,
@@ -603,7 +607,34 @@ ruleTester.run('no-unknown-property', rule, {
603
607
] ,
604
608
} ,
605
609
{
606
- code : '<div data-testID="bar" data-under_sCoRe="bar" />;' ,
610
+ code : '<div data-testID="bar" data-under_sCoRe="bar" dataNotAnDataAttribute="yes" />;' ,
611
+ errors : [
612
+ {
613
+ messageId : 'dataLowercaseRequired' ,
614
+ data : {
615
+ name : 'data-testID' ,
616
+ lowerCaseName : 'data-testid' ,
617
+ } ,
618
+ } ,
619
+ {
620
+ messageId : 'dataLowercaseRequired' ,
621
+ data : {
622
+ name : 'data-under_sCoRe' ,
623
+ lowerCaseName : 'data-under_score' ,
624
+ } ,
625
+ } ,
626
+ {
627
+ messageId : 'unknownProp' ,
628
+ data : {
629
+ name : 'dataNotAnDataAttribute' ,
630
+ lowerCaseName : 'datanotandataattribute' ,
631
+ } ,
632
+ } ,
633
+ ] ,
634
+ options : [ { requireDataLowercase : true } ] ,
635
+ } ,
636
+ {
637
+ code : '<App data-testID="bar" data-under_sCoRe="bar" dataNotAnDataAttribute="yes" />;' ,
607
638
errors : [
608
639
{
609
640
messageId : 'dataLowercaseRequired' ,
0 commit comments