react-native-ui-lib
Version:
[](https://travis-ci.org/wix/react-native-ui-lib) [](https://www.npmjs.com/package/react-native-ui-lib) [![NPM Down
46 lines (40 loc) • 1.46 kB
JavaScript
const RuleTester = require('eslint').RuleTester;
const rule = require('../../../lib/rules/component-deprecation');
const deprecationsJson = require('../../component_deprecation.json');
const ruleOptions = [{deprecations: deprecationsJson}];
RuleTester.setDefaultConfig({
parser: 'babel-eslint',
parserOptions: { ecmaVersion: 6, ecmaFeatures: { jsx: true } },
});
const ruleTester = new RuleTester();
const valideExample = `const test = <Avatar imageSource={{uri: 'some_uri_string'}}/>`;
const valideImportExample = `import {Avatar} from 'another-module'; const test = <Avatar url={'some_uri_string'}/>`;
const invalideExample = `import {Avatar} from 'module-with-deprecations'; const test = <Avatar url={'some_uri_string'}/>`;
ruleTester.run('component-deprecation', rule, {
valid: [
{
options: ruleOptions,
code: valideExample,
},
{
options: ruleOptions,
code: valideImportExample,
},
],
invalid: [
{
options: ruleOptions,
code: invalideExample,
errors: [
{ message: `The 'Avatar' component's prop 'url' is deprecated. Please use the 'imageSource' prop instead.` },
],
},
{
options: [{...ruleOptions[0], dueDate: '10/11/18'}],
code: invalideExample,
errors: [
{ message: `The 'Avatar' component's prop 'url' is deprecated. Please use the 'imageSource' prop instead. Please fix this issue by 10/11/18!` },
],
},
],
});