190 lines
5.7 KiB
TypeScript
190 lines
5.7 KiB
TypeScript
import { ESLintUtils } from '@typescript-eslint/utils'
|
|
import rule from '../../src/rules/call-sync-before-read';
|
|
|
|
const ruleTester = new ESLintUtils.RuleTester({
|
|
parser: '@typescript-eslint/parser',
|
|
});
|
|
|
|
ruleTester.run('call-sync-before-read', rule, {
|
|
valid: [
|
|
{
|
|
code: `
|
|
Excel.run(function (context) {
|
|
var selectedRange = context.workbook.getSelectedRange();
|
|
selectedRange.load('address');
|
|
await context.sync()
|
|
console.log('The selected range is: ' + selectedRange.address);
|
|
});`
|
|
},
|
|
{
|
|
code: `
|
|
Excel.run(function (context) {
|
|
var selectedRange;
|
|
selectedRange = context.workbook.getSelectedRange();
|
|
selectedRange.load('address');
|
|
await context.sync()
|
|
console.log('The selected range is: ' + selectedRange.address);
|
|
});`
|
|
},
|
|
{
|
|
code: `
|
|
Excel.run(function (context) {
|
|
var selectedRange = context.workbook.getSelectedRange();
|
|
selectedRange.load('address');
|
|
return context.sync()
|
|
.then(function () {
|
|
console.log('The selected range is: ' + selectedRange.address);
|
|
});
|
|
})`
|
|
},
|
|
{
|
|
code: `
|
|
Excel.run(function (context) {
|
|
var dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
|
|
await context.sync();
|
|
if (dataSheet.isNullObject) {
|
|
dataSheet.position = 1;
|
|
}
|
|
})`
|
|
},
|
|
{
|
|
code: `
|
|
Excel.run(function (context) {
|
|
var dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
|
|
if (true) {
|
|
await context.sync();
|
|
dataSheet.position = 1;
|
|
}
|
|
})`
|
|
},
|
|
{
|
|
code: `
|
|
Excel.run(function (context) {
|
|
var dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
|
|
if (true) {
|
|
dataSheet.position = 1; // Write is OK
|
|
}
|
|
await context.sync();
|
|
});`
|
|
},
|
|
{
|
|
code: `
|
|
var range = context.workbook.worksheets.getItem(sheetName).getRange(rangeAddress);
|
|
range.format.fill.color = "yellow";`
|
|
},
|
|
{
|
|
code: `
|
|
var range = context.workbook.worksheets.getItem(sheetName).getRange(rangeAddress);
|
|
range.format.font.load('color');`
|
|
},
|
|
{
|
|
code: `
|
|
var table = worksheet.getTables();
|
|
return context.sync().then(function () {
|
|
table.delete();
|
|
});`
|
|
},
|
|
{
|
|
code: `
|
|
var range = worksheet.getSelectedRange();
|
|
range.getCell(0,0);`
|
|
},
|
|
{
|
|
code: `
|
|
var range = worksheet.getSelectedRange();
|
|
range.load("font");
|
|
context.sync();
|
|
range.font.getColor();`
|
|
},
|
|
{
|
|
code: `
|
|
await Excel.run(async (context) => {
|
|
const sheet = context.workbook.worksheets.getActiveWorksheet();
|
|
let data: string[][] = [["one"], ["two"]];
|
|
|
|
const rangeAddress = data.length;
|
|
const range = sheet.getRange(rangeAddress);
|
|
range.values = data;
|
|
range.format.autofitColumns();
|
|
|
|
return context.sync();
|
|
});`
|
|
},
|
|
],
|
|
invalid: [
|
|
{
|
|
code: `
|
|
Excel.run(function (context) {
|
|
var selectedRange = context.workbook.getSelectedRange();
|
|
selectedRange.load('address');
|
|
console.log('The selected range is: ' + selectedRange.address);
|
|
});`,
|
|
errors: [{ messageId: "callSync", data: { name: "selectedRange" } }]
|
|
},
|
|
{
|
|
code: `
|
|
Excel.run(function (context) {
|
|
var selectedRange = context.workbook.getSelectedRange();
|
|
selectedRange.load('address');
|
|
console.log('The selected range is: ' + selectedRange.address);
|
|
await context.sync();
|
|
});`,
|
|
errors: [{ messageId: "callSync", data: { name: "selectedRange" } }]
|
|
},
|
|
{
|
|
code: `
|
|
Excel.run(function (context) {
|
|
var selectedRange = context.workbook.getSelectedRange();
|
|
var selectedRange2 = context.workbook.getSelectedRange();
|
|
selectedRange.load('address');
|
|
selectedRange2.load('address');
|
|
console.log('The selected range is: ' + selectedRange.address);
|
|
console.log('This should be the same: ' + selectedRange2.address);
|
|
});`,
|
|
errors: [
|
|
{ messageId: "callSync", data: { name: "selectedRange" } },
|
|
{ messageId: "callSync", data: { name: "selectedRange2" } }
|
|
]
|
|
},
|
|
{
|
|
code: `
|
|
Excel.run(function (context) {
|
|
var dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
|
|
if (dataSheet.isNullObject) {
|
|
dataSheet.position = 1;
|
|
}
|
|
});`,
|
|
errors: [
|
|
{ messageId: "callSync", data: { name: "dataSheet" } },
|
|
]
|
|
},
|
|
{
|
|
code: `
|
|
Excel.run(function (context) {
|
|
var dataSheet = context.workbook.worksheets.getItemOrNullObject("Data");
|
|
if (true) {
|
|
var pos = dataSheet.position;
|
|
}
|
|
await context.sync();
|
|
});`,
|
|
errors: [ { messageId: "callSync", data: { name: "dataSheet" } } ]
|
|
},
|
|
{
|
|
code: `
|
|
var range = context.workbook.worksheets.getItem(sheetName).getRange(rangeAddress);
|
|
range.format.fill.color == "yellow";`,
|
|
errors: [ { messageId: "callSync", data: { name: "range" } } ]
|
|
},
|
|
{
|
|
code: `
|
|
var range = context.workbook.worksheets.getItem(sheetName).getRange(rangeAddress);
|
|
var value = range.format.fill.color;
|
|
value = range.format.fill.color;`,
|
|
errors: [
|
|
{ messageId: "callSync", data: { name: "range" } },
|
|
{ messageId: "callSync", data: { name: "range" } }
|
|
]
|
|
},
|
|
]
|
|
});
|