UNPKG

@kfed/eslint-plugin-i18n

Version:

Plugin for eslint, that should reduce (for me) monkey job on implementing i18n for Contentmart

37 lines (32 loc) 1.27 kB
const rule = require('../../../lib/rules/translate-props-literals'); const RuleTester = require('eslint').RuleTester; const parserOptions = { sourceType: 'module', ecmaFeatures: { jsx: true } }; // const missingCurlyMessage = 'Need to wrap this literal in a JSX expression.'; const missingTranslationMessage = 'Need to translate this literal in JSX prop.'; // ------------------------------------------------------------------------------ // Tests // ------------------------------------------------------------------------------ const ruleTester = new RuleTester({parserOptions}); ruleTester.run('translate-props-literals', rule, { valid: [ { code: '<App><Component /></App>' }, { code: '<input placeholder={formatMessage(message)} />' } ], invalid: [ { code: '<input name="inputElement" placeholder="untranslated message" />', output: '<input name="inputElement" placeholder={formatMessage(defineMessages({_: {id: "uuid.placeholder", defaultMessage: "untranslated message", description: "placeholder"}})._)} />', options: [{props: ['placeholder']}], errors: [{message: missingTranslationMessage}] } ] });