Skip to content

Commit c35f2a1

Browse files
committed
fix: support identifiers in to-be-undefined
1 parent e3f8884 commit c35f2a1

File tree

3 files changed

+17
-5
lines changed

3 files changed

+17
-5
lines changed

rules/__tests__/prefer_to_be_null.test.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@ const rules = require('../../').rules;
66
const ruleTester = new RuleTester();
77

88
ruleTester.run('prefer_to_be_null', rules['prefer-to-be-null'], {
9-
valid: ['expect(null).toBeNull();', 'expect(null).toEqual();'],
9+
valid: [
10+
'expect(null).toBeNull();',
11+
'expect(null).toEqual();',
12+
"expect(something).toEqual('a string');",
13+
],
1014

1115
invalid: [
1216
{

rules/__tests__/prefer_to_be_undefined.test.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ ruleTester.run('prefer_to_be_undefined', rules['prefer-to-be-undefined'], {
1111
'expect(true).not.toBeUndefined();',
1212
'expect({}).toEqual({});',
1313
'expect(null).toEqual(null);',
14+
'expect(something).toBe(somethingElse)',
15+
'expect(something).toEqual(somethingElse)',
16+
'expect(something).not.toBe(somethingElse)',
17+
'expect(something).not.toEqual(somethingElse)',
1418
],
1519

1620
invalid: [

rules/util.js

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,10 @@ const expectToBeCase = (node, arg) =>
2727
expectCase(node) &&
2828
methodName(node) === 'toBe' &&
2929
argument(node) &&
30-
argument(node).value === arg &&
31-
(arg === null || argument(node).name);
30+
((argument(node).type === 'Literal' &&
31+
argument(node).value === null &&
32+
arg === null) ||
33+
(argument(node).name === 'undefined' && arg === undefined));
3234

3335
const expectNotToBeCase = (node, arg) =>
3436
expectNotCase(node) &&
@@ -42,8 +44,10 @@ const expectToEqualCase = (node, arg) =>
4244
expectCase(node) &&
4345
methodName(node) === 'toEqual' &&
4446
argument(node) &&
45-
argument(node).value === arg &&
46-
(arg === null || argument(node).name);
47+
((argument(node).type === 'Literal' &&
48+
argument(node).value === null &&
49+
arg === null) ||
50+
(argument(node).name === 'undefined' && arg === undefined));
4751

4852
const expectNotToEqualCase = (node, arg) =>
4953
expectNotCase(node) &&

0 commit comments

Comments
 (0)