Skip to content

Commit c62646f

Browse files
author
DESKTOP-J99B7TH\Gilbert
committed
Add test when keep awake is used as function
1 parent 826d231 commit c62646f

File tree

2 files changed

+54
-5
lines changed

2 files changed

+54
-5
lines changed

eslint-plugin/lib/rules/avoid-keep-awake.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,12 @@ module.exports = {
4141
) {
4242
context.report({ node, messageId: "AvoidKeepAwake" });
4343
}
44+
else if (
45+
node?.name === "activateKeepAwake"
46+
&& node?.parent.type === "CallExpression"
47+
) {
48+
context.report({ node, messageId: "AvoidKeepAwake" });
49+
}
4450
},
4551
};
4652
},

eslint-plugin/tests/lib/rules/avoid-keep-awake.js

Lines changed: 48 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,20 @@ const RuleTester = require("eslint").RuleTester;
3131

3232
const ruleTester = new RuleTester({
3333
parserOptions: {
34-
ecmaVersion: 2015, //es6
34+
ecmaVersion: 2022,
3535
sourceType: "module",
3636
ecmaFeatures: {
3737
jsx: true,
3838
},
3939
},
4040
});
41-
const expectedError = {
41+
42+
const expectedErrorHook = {
43+
messageId: "AvoidKeepAwake",
44+
type: "Identifier",
45+
};
46+
47+
const expectedErrorFunction = {
4248
messageId: "AvoidKeepAwake",
4349
type: "Identifier",
4450
};
@@ -58,7 +64,23 @@ ruleTester.run("avoid-keep-awake", rule, {
5864
);
5965
}
6066
`,
61-
errors: [expectedError],
67+
errors: [expectedErrorHook],
68+
},
69+
{
70+
code: `
71+
import React from 'react';
72+
import { Button, View } from 'react-native';
73+
74+
export default class ValidExample extends React.Component {
75+
render() {
76+
return (
77+
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
78+
</View>
79+
);
80+
}
81+
}
82+
`,
83+
errors: [expectedErrorFunction],
6284
},
6385
,
6486
],
@@ -78,8 +100,29 @@ ruleTester.run("avoid-keep-awake", rule, {
78100
);
79101
}
80102
`,
81-
errors: [expectedError],
103+
errors: [expectedErrorHook],
104+
},
105+
{
106+
code: `
107+
import { activateKeepAwake } from 'expo-keep-awake';
108+
import React from 'react';
109+
import { Button, View } from 'react-native';
110+
111+
export default class KeepAwakeExample extends React.Component {
112+
render() {
113+
return (
114+
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
115+
<Button onPress={this._activate} title="Activate" />
116+
</View>
117+
);
118+
}
119+
120+
_activate = () => {
121+
activateKeepAwake();
122+
alert('Activated!');
123+
};
124+
}`,
125+
errors: [expectedErrorFunction],
82126
},
83-
,
84127
],
85128
});

0 commit comments

Comments
 (0)