const ruleTester = require("../../ruletester");
import * as rule from "./pageNavigation-remove-component";
ruleTester.run("pageNavigation-remove-component", rule, {
valid: [
{
code: ``,
},
{
code: ``,
},
{
code: `import { PageNavigation } from '@patternfly/someOtherPackage'; `,
},
{
code: `import { PageNavigation } from '@patternfly/someOtherPackage'; `,
},
],
invalid: [
{
code: `import { PageNavigation } from '@patternfly/react-core'; `,
output: `import { PageNavigation } from '@patternfly/react-core'; `,
errors: [
{
message: `The PageNavigation component has been removed from PatternFly.`,
type: "JSXElement",
},
],
},
{
code: `import { PageNavigation } from '@patternfly/react-core'; `,
output: `import { PageNavigation } from '@patternfly/react-core'; `,
errors: [
{
message: `The PageNavigation component has been removed from PatternFly.`,
type: "JSXElement",
},
],
},
{
code: `import { PageNavigation } from '@patternfly/react-core'; Some internal content
`,
output: `import { PageNavigation } from '@patternfly/react-core';
Some internal content
`,
errors: [
{
message: `The PageNavigation component has been removed from PatternFly.`,
type: "JSXElement",
},
],
},
{
code: `import { PageNavigation } from '@patternfly/react-core'; Wrapper content
Adjacent Content
Some internal content
`,
output: `import { PageNavigation } from '@patternfly/react-core'; Wrapper content
Adjacent Content
Some internal content
`,
errors: [
{
message: `The PageNavigation component has been removed from PatternFly.`,
type: "JSXElement",
},
],
},
{
code: `export { PageNavigation } from '@patternfly/react-core';`,
output: ``,
errors: [
{
message: `The PageNavigation component has been removed from PatternFly.`,
type: "ExportNamedDeclaration",
},
],
},
{
code: `export { PageNavigation, Button } from '@patternfly/react-core';`,
output: `export { Button } from '@patternfly/react-core';`,
errors: [
{
message: `The PageNavigation component has been removed from PatternFly.`,
type: "ExportNamedDeclaration",
},
],
},
{
code: `export { Alert, PageNavigation, Button } from '@patternfly/react-core';`,
output: `export { Alert, Button } from '@patternfly/react-core';`,
errors: [
{
message: `The PageNavigation component has been removed from PatternFly.`,
type: "ExportNamedDeclaration",
},
],
},
{
code: `import { PageNavigation } from '@patternfly/react-core'; export { PageNavigation }`,
output: `import { PageNavigation } from '@patternfly/react-core'; `,
errors: [
{
message: `The PageNavigation component has been removed from PatternFly.`,
type: "ExportNamedDeclaration",
},
],
},
{
code: `import { PageNavigation } from '@patternfly/react-core'; export default PageNavigation`,
output: `import { PageNavigation } from '@patternfly/react-core'; `,
errors: [
{
message: `The PageNavigation component has been removed from PatternFly.`,
type: "ExportDefaultDeclaration",
},
],
},
{
code: `import { PageNavigation } from '@patternfly/react-core/dist/esm/components/Page/index.js'; `,
output: `import { PageNavigation } from '@patternfly/react-core/dist/esm/components/Page/index.js'; `,
errors: [
{
message: `The PageNavigation component has been removed from PatternFly.`,
type: "JSXElement",
},
],
},
{
code: `import { PageNavigation } from '@patternfly/react-core/dist/js/components/Page/index.js'; `,
output: `import { PageNavigation } from '@patternfly/react-core/dist/js/components/Page/index.js'; `,
errors: [
{
message: `The PageNavigation component has been removed from PatternFly.`,
type: "JSXElement",
},
],
},
{
code: `import { PageNavigation } from '@patternfly/react-core/dist/dynamic/components/Page/index.js'; `,
output: `import { PageNavigation } from '@patternfly/react-core/dist/dynamic/components/Page/index.js'; `,
errors: [
{
message: `The PageNavigation component has been removed from PatternFly.`,
type: "JSXElement",
},
],
},
],
});