import { RuleTester } from 'oxlint/plugins-dev'; import { rule, RULE_NAME } from './no-miscased-acronym-in-message'; const ruleTester = new RuleTester(); ruleTester.run(RULE_NAME, rule, { valid: [ { code: 'const label = msg`Avatar URL`;', filename: 'compute-workspace-member.ts', }, { code: 'const label = t`ACS URL copied to clipboard`;', filename: 'saml-form.tsx', }, { code: "const label = msg({ message: `ID`, context: 'fieldMetadata.label' });", filename: 'compute-company.ts', }, // The acronym is the tail of a field name the sentence is naming, so the // lowercase spelling is the correct one. { code: 'const message = msg`${fieldName} and ${fieldName}Id cannot be both provided.`;', filename: 'connect-query.ts', }, { code: 'const label = t`Identity provider`;', filename: 'sso.tsx', }, { code: 'const label = t`Urlaub buchen`;', filename: 'de.tsx', }, // Not a message tag, so not this rule's business. { code: 'const query = sql`select Id from t`;', filename: 'query.ts', }, { code: 'const heading =
Avatar Url
;', filename: 'header.tsx', }, ], invalid: [ { code: 'const label = msg`Avatar Url`;', errors: [{ messageId: 'miscasedAcronym' }], filename: 'compute-workspace-member.ts', }, { code: 'const label = t`ACS Url`;', errors: [{ messageId: 'miscasedAcronym' }], filename: 'saml-form.tsx', }, { code: 'const label = i18n.t`Redirect Url copied to clipboard`;', errors: [{ messageId: 'miscasedAcronym' }], filename: 'redirect.tsx', }, { code: "const label = msg({ message: `Message Channel Id`, context: 'fieldMetadata.label' });", errors: [{ messageId: 'miscasedAcronym' }], filename: 'compute-message-channel.ts', }, { code: "const label = msg({ message: 'Json object to provide steps' });", errors: [{ messageId: 'miscasedAcronym' }], filename: 'compute-workflow-version.ts', }, { code: 'const label = i18n.t({ message: `Avatar Url` });', errors: [{ messageId: 'miscasedAcronym' }], filename: 'avatar.ts', }, { code: 'const label = msg`Json value for event Id`;', errors: [ { messageId: 'miscasedAcronym' }, { messageId: 'miscasedAcronym' }, ], filename: 'compute-timeline-activity.ts', }, { code: 'const heading = Avatar Url;', errors: [{ messageId: 'miscasedAcronym' }], filename: 'avatar.tsx', }, { code: 'const label = defineMessage`Last published Version Id`;', errors: [{ messageId: 'miscasedAcronym' }], filename: 'compute-workflow.ts', }, ], });