Skip to content

Commit 8e67740

Browse files
ranyitzSimenB
authored andcommitted
fix(util): identify only valid global properties (#341)
Fixes #340
1 parent b27c80d commit 8e67740

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

src/rules/__tests__/no-identical-title.test.js

+20
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,26 @@ ruleTester.run('no-identical-title', rule, {
113113
es6: true,
114114
},
115115
},
116+
{
117+
code: [
118+
'const test = { content: () => "foo" }',
119+
'test.content(`testing backticks with the same title`);',
120+
'test.content(`testing backticks with the same title`);',
121+
].join('\n'),
122+
env: {
123+
es6: true,
124+
},
125+
},
126+
{
127+
code: [
128+
'const describe = { content: () => "foo" }',
129+
'describe.content(`testing backticks with the same title`);',
130+
'describe.content(`testing backticks with the same title`);',
131+
].join('\n'),
132+
env: {
133+
es6: true,
134+
},
135+
},
116136
],
117137

118138
invalid: [

src/rules/util.js

+8-2
Original file line numberDiff line numberDiff line change
@@ -101,13 +101,18 @@ const describeAliases = new Set(['describe', 'fdescribe', 'xdescribe']);
101101

102102
const testCaseNames = new Set(['fit', 'it', 'test', 'xit', 'xtest']);
103103

104+
const describeProperties = new Set(['each', 'only', 'skip']);
105+
106+
const testCaseProperties = new Set(['each', 'only', 'skip', 'todo']);
107+
104108
export const isTestCase = node =>
105109
node &&
106110
node.type === 'CallExpression' &&
107111
((node.callee.type === 'Identifier' && testCaseNames.has(node.callee.name)) ||
108112
(node.callee.type === 'MemberExpression' &&
109113
node.callee.object.type === 'Identifier' &&
110-
testCaseNames.has(node.callee.object.name)));
114+
testCaseNames.has(node.callee.object.name) &&
115+
testCaseProperties.has(node.callee.property.name)));
111116

112117
export const isDescribe = node =>
113118
node &&
@@ -116,7 +121,8 @@ export const isDescribe = node =>
116121
describeAliases.has(node.callee.name)) ||
117122
(node.callee.type === 'MemberExpression' &&
118123
node.callee.object.type === 'Identifier' &&
119-
describeAliases.has(node.callee.object.name)));
124+
describeAliases.has(node.callee.object.name) &&
125+
describeProperties.has(node.callee.property.name)));
120126

121127
export const isFunction = node =>
122128
node &&

0 commit comments

Comments
 (0)