Outlook_Addin_LLM/node_modules/eslint-plugin-office-addins/test/rules/test-for-null-using-isNullObject.test.ts

226 lines
6.9 KiB
TypeScript

import { ESLintUtils } from '@typescript-eslint/utils'
import rule from '../../src/rules/test-for-null-using-isNullObject';
const ruleTester = new ESLintUtils.RuleTester({
parser: '@typescript-eslint/parser',
});
const errors = [{ messageId: "useIsNullObject", data: { name: "dataSheet" } }];
ruleTester.run('test-for-null-using-isNullObject', rule, {
valid: [
{
code: `
await Excel.run(async (context) => {
var dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
return context.sync().then(function () {
if (dataSheet.isNullObject) {
dataSheet = context.workbook.worksheets.add("Data");
}
dataSheet.position = 1;
});
});`,
},
{
code: `
var dataSheet;
dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
return context.sync().then(function () {
if (dataSheet.isNullObject) {
dataSheet = context.workbook.worksheets.add("Data");
}
dataSheet.position = 1;
});`,
},
{
code: `
var dataSheet;
dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
return context.sync().then(function () {
if (dataSheet.isNullObject) {
dataSheet = context.workbook.worksheets.add("Data");
}
dataSheet.position = 1;
});`,
},
{
code: `
var dataSheet;
dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
if (dataSheet.isNullObject) {
dataSheet = context.workbook.worksheets.add("Data");
}`,
},
],
invalid: [
{
code: `
await Excel.run(async (context) => {
var dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
return context.sync().then(function () {
if (dataSheet) {
dataSheet = context.workbook.worksheets.add("Data");
}
dataSheet.position = 1;
});
});`,
errors,
output: `
await Excel.run(async (context) => {
var dataSheet = context.workbook.worksheets.getItemOrNullObject(\"Data\");
return context.sync().then(function () {
if (dataSheet.isNullObject) {
dataSheet = context.workbook.worksheets.add(\"Data\");
}
dataSheet.position = 1;
});
});`,
},
{
code: `
var dataSheet;
dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
return context.sync().then(function () {
if (dataSheet) {
dataSheet = context.workbook.worksheets.add("Data");
}
dataSheet.position = 1;
});`,
errors,
output: `
var dataSheet;
dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
return context.sync().then(function () {
if (dataSheet.isNullObject) {
dataSheet = context.workbook.worksheets.add("Data");
}
dataSheet.position = 1;
});`,
},
{
code: `
var dataSheet;
dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
if (dataSheet) {
dataSheet = context.workbook.worksheets.add("Data");
}`,
errors,
output: `
var dataSheet;
dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
if (dataSheet.isNullObject) {
dataSheet = context.workbook.worksheets.add("Data");
}`,
},
{
code: `
var dataSheet;
dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
return context.sync().then(function () {
if (!dataSheet) {
dataSheet = context.workbook.worksheets.add("Data");
}
dataSheet.position = 1;
});`,
errors,
output: `
var dataSheet;
dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
return context.sync().then(function () {
if (!dataSheet.isNullObject) {
dataSheet = context.workbook.worksheets.add("Data");
}
dataSheet.position = 1;
});`,
},
{
code: `
var dataSheet;
dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
return context.sync().then(function () {
if (true && dataSheet) {
dataSheet = context.workbook.worksheets.add("Data");
}
dataSheet.position = 1;
});`,
errors,
output: `
var dataSheet;
dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
return context.sync().then(function () {
if (true && dataSheet.isNullObject) {
dataSheet = context.workbook.worksheets.add("Data");
}
dataSheet.position = 1;
});`,
},
{
code: `
var dataSheet;
dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
return context.sync().then(function () {
if (null != dataSheet) {
dataSheet = context.workbook.worksheets.add("Data");
}
dataSheet.position = 1;
});`,
errors,
output: `
var dataSheet;
dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
return context.sync().then(function () {
if (dataSheet.isNullObject) {
dataSheet = context.workbook.worksheets.add("Data");
}
dataSheet.position = 1;
});`,
},
{
code: `
var dataSheet;
dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
return context.sync().then(function () {
for (var i = 0; i < 5; i++) {
if (dataSheet) {
dataSheet = context.workbook.worksheets.add("Data");
}
}
dataSheet.position = 1;
});`,
errors,
output: `
var dataSheet;
dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
return context.sync().then(function () {
for (var i = 0; i < 5; i++) {
if (dataSheet.isNullObject) {
dataSheet = context.workbook.worksheets.add("Data");
}
}
dataSheet.position = 1;
});`,
},
{
code: `
var dataSheet;
dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
return context.sync().then(function () {
do {
console.log("test case");
} while (dataSheet);
dataSheet.position = 1;
});`,
errors,
output: `
var dataSheet;
dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
return context.sync().then(function () {
do {
console.log("test case");
} while (dataSheet.isNullObject);
dataSheet.position = 1;
});`,
},
]
});