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,