266 lines
8.7 KiB
TypeScript
266 lines
8.7 KiB
TypeScript
|
import { ESLintUtils } from '@typescript-eslint/utils'
|
||
|
import rule from '../../src/rules/load-object-before-read';
|
||
|
|
||
|
const ruleTester = new ESLintUtils.RuleTester({
|
||
|
parser: '@typescript-eslint/parser',
|
||
|
});
|
||
|
|
||
|
ruleTester.run('load-object-before-read', rule, {
|
||
|
valid: [
|
||
|
{
|
||
|
code: `
|
||
|
var sheetName = 'Sheet1';
|
||
|
var rangeAddress = 'A1:B2';
|
||
|
var myRange = context.workbook.worksheets.getItem(sheetName).getRange(rangeAddress);
|
||
|
myRange.load('address');
|
||
|
context.sync()
|
||
|
.then(function () {
|
||
|
console.log (myRange.address); // ok
|
||
|
});`
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var property = worksheet.getItem("sheet");
|
||
|
property.load('G2');
|
||
|
var variableName = property.G2;`
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var selectedRange = context.workbook.getSelectedRange();
|
||
|
selectedRange.load('values');
|
||
|
if(selectedRange.values === [2]){}`
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var selectedRange;
|
||
|
var selectedRange = context.workbook.getSelectedRange();
|
||
|
selectedRange.load('values');
|
||
|
console.log(selectedRange.values);`
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var myRange = context.workbook.worksheets.getSelectedRange();
|
||
|
myRange = context.workbook.worksheets.getItem(sheetName).getRange(rangeAddress);
|
||
|
myRange.load('values');
|
||
|
console.log(myRange.values);`
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var myRange = context.workbook.worksheets.getSelectedRange();
|
||
|
myRange.load('values');
|
||
|
myRange.load('address');
|
||
|
console.log(myRange.address);
|
||
|
console.log(myRange.values);`
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var myRange = context.thisIsNotAGetFunction();
|
||
|
myRange.load('values')
|
||
|
var test = myRange.values;
|
||
|
var myRange = context.workbook.worksheets.getSelectedRange();`
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var myRange = context.workbook.worksheets.getSelectedRange();
|
||
|
myRange = context.notAGetFunction;
|
||
|
myRange.load('values');
|
||
|
var test = myRange.values;`
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var myRange = context.workbook.worksheets.getSelectedRange();
|
||
|
myRange = context.notAGetFunction;
|
||
|
var test = myRange.values;`
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var range = worksheet.getRange("A1");
|
||
|
range.format.fill.color = "red";
|
||
|
range.numberFormat = "0.00%";
|
||
|
range.values = [[1]];`
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var range = worksheet.getRange("A1");
|
||
|
range.load("format/fill/size");
|
||
|
console.log(range.format.fill.size);`
|
||
|
},
|
||
|
{
|
||
|
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/fill/color", "address"]);
|
||
|
await context.sync();
|
||
|
console.log(range.font.fill.color);
|
||
|
console.log(range.address);`
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var range = worksheet.getSelectedRange();
|
||
|
range.load("*");
|
||
|
await context.sync();
|
||
|
console.log(range.address);
|
||
|
console.log(range.font);`
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var range = worksheet.getSelectedRange();
|
||
|
range.load();
|
||
|
await context.sync();
|
||
|
console.log(range.address);
|
||
|
console.log(range.font);`
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var range = worksheet.getSelectedRange();
|
||
|
range.load({ format: { fill: { color: true } }, address: true } );
|
||
|
await context.sync();
|
||
|
console.log(range.format.fill.color);
|
||
|
console.log(range.address);`
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
const range = context.workbook.getSelectedRange();
|
||
|
const first = range.getCell(0, 0);
|
||
|
const spillParent = first.getSpillParentOrNullObject();
|
||
|
await context.sync();
|
||
|
const cell = spillParent.isNullObject ? first : spillParent;
|
||
|
console.log(cell);`
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var myRange = context.workbook.worksheets.getSelectedRange();
|
||
|
context.load(myRange, 'values');
|
||
|
console.log(myRange.values);`
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var myRange = context.workbook.worksheets.getSelectedRange();
|
||
|
context.load(myRange);
|
||
|
console.log(myRange.values);`
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var myRange = context.workbook.worksheets.getSelectedRange();
|
||
|
context.load(myRange, ['values', 'address']);
|
||
|
console.log(myRange.values);`
|
||
|
},
|
||
|
],
|
||
|
invalid: [
|
||
|
{
|
||
|
code: `
|
||
|
var sheetName = 'Sheet1';
|
||
|
var rangeAddress = 'A1:B2';
|
||
|
console.log(rangeAddress);
|
||
|
var myRange = context.workbook.worksheets.getItem(sheetName).getRange(rangeAddress);
|
||
|
myRange.load('address');
|
||
|
context.sync()
|
||
|
.then(function () {
|
||
|
console.log (myRange.values); // not ok as it was not loaded
|
||
|
});`,
|
||
|
errors: [{ messageId: "loadBeforeRead", data: { name: "myRange", loadValue: "values" } }]
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var selectedRange = context.workbook.getSelectedRange();
|
||
|
if(selectedRange.values === ["sampleText"]){}`,
|
||
|
errors: [{ messageId: "loadBeforeRead", data: { name: "selectedRange", loadValue: "values" } }]
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var myRange = context.workbook.worksheets.getItem("sheet").getRange("A1");
|
||
|
console.log (myRange.adress);`,
|
||
|
errors: [{ messageId: "loadBeforeRead", data: { name: "myRange", loadValue: "adress" } }]
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var selectedRange = context.workbook.getSelectedRange();
|
||
|
console.log(selectedRange.values);`,
|
||
|
errors: [{ messageId: "loadBeforeRead", data: { name: "selectedRange", loadValue: "values" } }]
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var selectedRange = context.workbook.getSelectedRange();
|
||
|
console.log(selectedRange.values);
|
||
|
selectedRange.load('values')`,
|
||
|
errors: [{ messageId: "loadBeforeRead", data: { name: "selectedRange", loadValue: "values" } }]
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var selectedRange = context.workbook.getSelectedRange();
|
||
|
var test = selectedRange.values;`,
|
||
|
errors: [{ messageId: "loadBeforeRead", data: { name: "selectedRange", loadValue: "values" } }]
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var myRange;
|
||
|
myRange = context.workbook.worksheets.getSelectedRange();
|
||
|
var test = myRange.values;`,
|
||
|
errors: [{ messageId: "loadBeforeRead", data: { name: "myRange", loadValue: "values" } }]
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var myRange = context.workbook.worksheets.getSelectedRange();
|
||
|
myRange = context.workbook.worksheets.getItem(sheetName).getRange(rangeAddress);
|
||
|
var test = myRange.values;`,
|
||
|
errors: [{ messageId: "loadBeforeRead", data: { name: "myRange", loadValue: "values" } }]
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var range = worksheet.getRange("A1");
|
||
|
range.load("range/format/fill/size");
|
||
|
console.log(range.format.fill.color);`,
|
||
|
errors: [{ messageId: "loadBeforeRead", data: { name: "range", loadValue: "format/fill/color" } }]
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var range = worksheet.getSelectedRange();
|
||
|
await context.sync();
|
||
|
console.log(range.font.fill.color);`,
|
||
|
errors: [{ messageId: "loadBeforeRead", data: { name: "range", loadValue: "font/fill/color" } }]
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var range = worksheet.getSelectedRange();
|
||
|
range.load({ format: { fill: { color: true } } } );
|
||
|
await context.sync();
|
||
|
console.log(range.format.fill.color);
|
||
|
console.log(range.address);`,
|
||
|
errors: [{ messageId: "loadBeforeRead", data: { name: "range", loadValue: "address" } }]
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var range = worksheet.getSelectedRange();
|
||
|
range.load({ format: { fill: { color: false } } } );
|
||
|
await context.sync();
|
||
|
console.log(range.format.fill.color);`,
|
||
|
errors: [{ messageId: "loadBeforeRead", data: { name: "range", loadValue: "format/fill/color" } }]
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var myRange = context.workbook.worksheets.getSelectedRange();
|
||
|
context.load("myRange", "values");
|
||
|
console.log(myRange.values);`,
|
||
|
errors: [{ messageId: "loadBeforeRead", data: { name: "myRange", loadValue: "values" } }]
|
||
|
},
|
||
|
{
|
||
|
code: `
|
||
|
var myRange = context.workbook.worksheets.getSelectedRange();
|
||
|
context.load(myRange, "values", "address");
|
||
|
console.log(myRange.values);`,
|
||
|
errors: [{ messageId: "loadBeforeRead", data: { name: "myRange", loadValue: "values" } }]
|
||
|
},
|
||
|
]
|
||
|
});
|