diff --git a/lib/rules/jsx-sort-props.js b/lib/rules/jsx-sort-props.js index ccb7cec206..aa9a598f85 100644 --- a/lib/rules/jsx-sort-props.js +++ b/lib/rules/jsx-sort-props.js @@ -342,7 +342,7 @@ module.exports = { } } - if (!noSortAlphabetically && currentPropName < previousPropName) { + if (!noSortAlphabetically && previousPropName.localeCompare(currentPropName) > 0) { context.report({ node: decl.name, message: 'Props should be sorted alphabetically', diff --git a/tests/lib/rules/jsx-sort-props.js b/tests/lib/rules/jsx-sort-props.js index f044557b0e..4a58b1ca43 100644 --- a/tests/lib/rules/jsx-sort-props.js +++ b/tests/lib/rules/jsx-sort-props.js @@ -109,7 +109,11 @@ ruleTester.run('jsx-sort-props', rule, { {code: ';'}, {code: ';'}, {code: ';'}, - {code: ';'}, + {code: ';'}, + {code: ';'}, + {code: ';'}, + {code: ';'}, + {code: ';'}, // Ignoring case {code: ';', options: ignoreCaseArgs}, {code: ';', options: ignoreCaseArgs}, @@ -165,6 +169,31 @@ ruleTester.run('jsx-sort-props', rule, { errors: [expectedError], output: ';' }, + { + code: ';', + errors: [expectedError], + output: ';' + }, + { + code: ';', + errors: [expectedError], + output: ';' + }, + { + code: ';', + errors: [expectedError], + output: ';' + }, + { + code: ';', + errors: [expectedError], + output: ';' + }, + { + code: ';', + errors: [expectedError, expectedError, expectedError], + output: ';' + }, { code: ';', errors: [expectedError], @@ -175,11 +204,6 @@ ruleTester.run('jsx-sort-props', rule, { errors: [expectedError], output: ';' }, - { - code: ';', - errors: [expectedError], - output: ';' - }, { code: ';', options: ignoreCaseArgs,