@@ -637,6 +637,58 @@ ruleTester.run('display-name', rule, {
637637 } ,
638638 } ,
639639 } ,
640+ {
641+ // Nested React.forwardRef should be accepted in React versions in the following range:
642+ // ^0.14.10 || ^15.7.0 || >= 16.12.0
643+ code : `
644+ import React from 'react'
645+
646+ const MemoizedForwardRefComponentLike = React.memo(
647+ React.forwardRef(function ComponentLike({ world }, ref) {
648+ return <div ref={ref}>Hello {world}</div>
649+ })
650+ )
651+ ` ,
652+ settings : {
653+ react : {
654+ version : '16.12.1' ,
655+ } ,
656+ } ,
657+ } ,
658+ {
659+ // Nested React.forwardRef should be accepted in React versions in the following range:
660+ // ^0.14.10 || ^15.7.0 || >= 16.12.0
661+ code : `
662+ export const ComponentWithForwardRef = React.memo(
663+ React.forwardRef(function Component({ world }) {
664+ return <div>Hello {world}</div>
665+ })
666+ )
667+ ` ,
668+ settings : {
669+ react : {
670+ version : '0.14.11' ,
671+ } ,
672+ } ,
673+ } ,
674+ {
675+ // Nested React.forwardRef should be accepted in React versions in the following range:
676+ // ^0.14.10 || ^15.7.0 || >= 16.12.0
677+ code : `
678+ import React from 'react'
679+
680+ const MemoizedForwardRefComponentLike = React.memo(
681+ React.forwardRef(function({ world }, ref) {
682+ return <div ref={ref}>Hello {world}</div>
683+ })
684+ )
685+ ` ,
686+ settings : {
687+ react : {
688+ version : '15.7.1' ,
689+ } ,
690+ } ,
691+ } ,
640692 ] ) ,
641693
642694 invalid : parsers . all ( [
@@ -891,7 +943,7 @@ ruleTester.run('display-name', rule, {
891943 const MemoizedForwardRefComponentLike = React.memo(
892944 React.forwardRef(function({ world }, ref) {
893945 return <div ref={ref}>Hello {world}</div>
894- })
946+ })
895947 )
896948 ` ,
897949 errors : [ { messageId : 'noDisplayName' } ] ,
0 commit comments