const ruleTester = require("../../ruletester"); import * as rule from "./loginMainFooterLinksItem-structure-updated"; const loginMainFooterLinksItemError = { message: `LoginMainFooterLinksItem structure has changed. Instead of passing it many properties, everything is now passed directly in a children component.`, type: "JSXElement", }; ruleTester.run("loginMainFooterLinksItem-structure-updated", rule, { valid: [ { code: ``, }, ], invalid: [ { code: `import { LoginMainFooterLinksItem } from '@patternfly/react-core'; GitHub icon `, output: `import { LoginMainFooterLinksItem, Button } from '@patternfly/react-core'; `, errors: [loginMainFooterLinksItemError], }, // with "button" as a linkComponent { code: `import { LoginMainFooterLinksItem } from '@patternfly/react-core'; GitHub icon `, output: `import { LoginMainFooterLinksItem, Button } from '@patternfly/react-core'; `, errors: [loginMainFooterLinksItemError], }, // with "span" as a linkComponent { code: `import { LoginMainFooterLinksItem } from '@patternfly/react-core'; GitHub icon `, output: `import { LoginMainFooterLinksItem, Button } from '@patternfly/react-core'; `, errors: [loginMainFooterLinksItemError], }, // with other attributes that should not be removed { code: `import { LoginMainFooterLinksItem } from '@patternfly/react-core'; GitHub icon `, output: `import { LoginMainFooterLinksItem, Button } from '@patternfly/react-core'; `, errors: [loginMainFooterLinksItemError], }, // without attributes { code: `import { LoginMainFooterLinksItem } from '@patternfly/react-core'; GitHub icon `, output: `import { LoginMainFooterLinksItem, Button } from '@patternfly/react-core'; `, errors: [loginMainFooterLinksItemError], }, // self-closing with children as attribute { code: `import { LoginMainFooterLinksItem } from '@patternfly/react-core'; GitHub icon} />`, output: `import { LoginMainFooterLinksItem, Button } from '@patternfly/react-core'; `, errors: [loginMainFooterLinksItemError], }, // with children as attribute { code: `import { LoginMainFooterLinksItem } from '@patternfly/react-core'; GitHub icon} >`, output: `import { LoginMainFooterLinksItem, Button } from '@patternfly/react-core'; `, errors: [loginMainFooterLinksItemError], }, // with Button component already imported { code: `import { Button, LoginMainFooterLinksItem } from '@patternfly/react-core'; <> GitHub icon `, output: `import { Button, LoginMainFooterLinksItem } from '@patternfly/react-core'; <> `, errors: [loginMainFooterLinksItemError], }, ], });