const ruleTester = require("../../ruletester"); import * as rule from "./pageToggleButton-replace-barsIcon-with-isHamburgerButton"; ruleTester.run("pageToggleButton-replace-barsIcon-with-isHamburgerButton", rule, { valid: [ { code: ``, }, { code: `import { PageToggleButton } from '@patternfly/react-core'; `, }, { code: `import { PageToggleButton } from '@patternfly/react-core'; `, }, { code: `import { PageToggleButton } from '@patternfly/react-core'; Some text content`, }, { code: `import { PageToggleButton } from '@patternfly/react-core'; `, }, // PageToggleButton not imported from PatternFly, but BarsIcon is { code: `import { BarsIcon } from '@patternfly/react-icons'; `, }, // Neither PageToggleButton nor BarsIcon imported from PatternFly { code: `import { BarsIcon } from 'some-other-package'; `, }, // PageToggleButton imported from PatternFly, but BarsIcon not imported from PatternFly { code: `import { PageToggleButton } from '@patternfly/react-core'; import { BarsIcon } from 'some-other-package'; `, }, ], invalid: [ { code: `import { PageToggleButton } from '@patternfly/react-core'; import { BarsIcon } from '@patternfly/react-icons'; `, output: `import { PageToggleButton } from '@patternfly/react-core'; import { BarsIcon } from '@patternfly/react-icons'; `, errors: [ { message: `The BarsIcon child component should be replaced with the \`isHamburgerButton\` prop on PageToggleButton.`, type: "JSXElement", }, ], }, { code: `import { PageToggleButton } from '@patternfly/react-core/dist/esm/components/PageToggleButton/index.js'; import { BarsIcon } from '@patternfly/react-icons'; `, output: `import { PageToggleButton } from '@patternfly/react-core/dist/esm/components/PageToggleButton/index.js'; import { BarsIcon } from '@patternfly/react-icons'; `, errors: [ { message: `The BarsIcon child component should be replaced with the \`isHamburgerButton\` prop on PageToggleButton.`, type: "JSXElement", }, ], }, { code: `import { PageToggleButton } from '@patternfly/react-core/dist/js/components/PageToggleButton/index.js'; import { BarsIcon } from '@patternfly/react-icons'; `, output: `import { PageToggleButton } from '@patternfly/react-core/dist/js/components/PageToggleButton/index.js'; import { BarsIcon } from '@patternfly/react-icons'; `, errors: [ { message: `The BarsIcon child component should be replaced with the \`isHamburgerButton\` prop on PageToggleButton.`, type: "JSXElement", }, ], }, { code: `import { PageToggleButton } from '@patternfly/react-core/dist/dynamic/components/PageToggleButton/index.js'; import { BarsIcon } from '@patternfly/react-icons'; `, output: `import { PageToggleButton } from '@patternfly/react-core/dist/dynamic/components/PageToggleButton/index.js'; import { BarsIcon } from '@patternfly/react-icons'; `, errors: [ { message: `The BarsIcon child component should be replaced with the \`isHamburgerButton\` prop on PageToggleButton.`, type: "JSXElement", }, ], }, { code: `import { PageToggleButton } from '@patternfly/react-core'; import { BarsIcon } from '@patternfly/react-icons'; `, output: `import { PageToggleButton } from '@patternfly/react-core'; import { BarsIcon } from '@patternfly/react-icons'; `, errors: [ { message: `The BarsIcon child component should be replaced with the \`isHamburgerButton\` prop on PageToggleButton.`, type: "JSXElement", }, ], }, ], });