Skip to content

Commit ef406fa

Browse files
beefancohenyannickcr
authored andcommitted
Fix jsx-pascal-case for JSXMemberExpressions (fixes #637)
1 parent e626566 commit ef406fa

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

lib/rules/jsx-pascal-case.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,11 @@ module.exports = function(context) {
2929
JSXOpeningElement: function(node) {
3030
var name = elementType(node);
3131

32-
// Get namespace if the type is JSXNamespacedName.
32+
// Get namespace if the type is JSXNamespacedName or JSXMemberExpression
3333
if (name.indexOf(':') > -1) {
3434
name = name.substring(0, name.indexOf(':'));
35+
} else if (name.indexOf('.') > -1) {
36+
name = name.substring(0, name.indexOf('.'));
3537
}
3638

3739
var isPascalCase = PASCAL_CASE_REGEX.test(name);

tests/lib/rules/jsx-pascal-case.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,12 @@ ruleTester.run('jsx-pascal-case', rule, {
5858
code: '<YMCA />',
5959
parserOptions: parserOptions,
6060
options: [{allowAllCaps: true}]
61+
}, {
62+
code: '<Modal.Header />',
63+
parserOptions: parserOptions
64+
}, {
65+
code: '<Modal:Header />',
66+
parserOptions: parserOptions
6167
}, {
6268
code: '<IGNORED />',
6369
parserOptions: parserOptions,

0 commit comments

Comments
 (0)