187 lines
5.2 KiB
TypeScript
187 lines
5.2 KiB
TypeScript
import { RuleTester } from "@typescript-eslint/rule-tester";
|
|
import rule from "../../src/rules/no-navigational-load";
|
|
|
|
const ruleTester = new RuleTester();
|
|
|
|
ruleTester.run("no-navigational-load", rule, {
|
|
valid: [
|
|
{
|
|
code: `
|
|
var range = worksheet.getRange("A1");
|
|
range.load("borders/fill/size");
|
|
console.log(range.borders.fill.size);`,
|
|
},
|
|
{
|
|
code: `
|
|
var selectedRange = context.workbook.getSelectedRange();
|
|
selectedRange.load("format/font/name");`,
|
|
},
|
|
{
|
|
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 selectedRange = context.workbook.getSelectedRange();
|
|
selectedRange.load('text'); // Scalar`,
|
|
},
|
|
{
|
|
code: `
|
|
var selectedRange = context.workbook.getSelectedRange();
|
|
selectedRange.load('values');
|
|
if(selectedRange.values === [2]){}`,
|
|
},
|
|
{
|
|
code: `
|
|
var myRange = context.workbook.worksheets.notAGet();
|
|
myRange.load('notAProperty');
|
|
var test = myRange.notAProperty;`,
|
|
},
|
|
{
|
|
code: `
|
|
var range = context.workbook.getRange();
|
|
range.load({borders: { fill: { color: true } } });
|
|
if (range.borders.fill.color);`,
|
|
},
|
|
{
|
|
code: `
|
|
var range = context.workbook.getRange();
|
|
range.borders.fill.load("color");
|
|
console.log(range.borders.fill.color);`,
|
|
},
|
|
{
|
|
code: `
|
|
var selectedRange = context.workbook.getSelectedRange();
|
|
selectedRange.load(''); // Empty`,
|
|
},
|
|
{
|
|
code: `
|
|
var selectedRange = context.workbook.getSelectedRange();
|
|
selectedRange.load(); // Empty`,
|
|
},
|
|
{
|
|
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(["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.font.fill.color);
|
|
console.log(range.address);`,
|
|
},
|
|
{
|
|
code: `
|
|
var range = worksheet.getSelectedRange();
|
|
range.load({ format: { fill: { color: true } } });
|
|
await context.sync();
|
|
console.log(range.font.fill.color);`,
|
|
},
|
|
],
|
|
invalid: [
|
|
{
|
|
code: `
|
|
var property = worksheet.getItem("sheet");
|
|
property.load('thisIsNotAProperty'); //Not a property`,
|
|
errors: [
|
|
{
|
|
messageId: "navigationalLoad",
|
|
data: { loadValue: "thisIsNotAProperty" },
|
|
},
|
|
],
|
|
},
|
|
{
|
|
code: `
|
|
var property = worksheet.getItem("sheet");
|
|
property.load('styles'); // Navigational`,
|
|
errors: [
|
|
{ messageId: "navigationalLoad", data: { loadValue: "styles" } },
|
|
],
|
|
},
|
|
{
|
|
code: `
|
|
var property = worksheet.getItem("sheet");
|
|
context.load(property, 'styles'); // Navigational`,
|
|
errors: [
|
|
{ messageId: "navigationalLoad", data: { loadValue: "styles" } },
|
|
],
|
|
},
|
|
{
|
|
code: `
|
|
var range = worksheet.getRange("A1");
|
|
range.load('fill'); // Navigational`,
|
|
errors: [{ messageId: "navigationalLoad", data: { loadValue: "fill" } }],
|
|
},
|
|
{
|
|
code: `
|
|
var range = worksheet.getRange("A1");
|
|
context.load(range, 'fill'); // Navigational`,
|
|
errors: [{ messageId: "navigationalLoad", data: { loadValue: "fill" } }],
|
|
},
|
|
{
|
|
code: `
|
|
var range = worksheet.getRange("A1");
|
|
range.load("borders/fill");
|
|
console.log(range.borders.fill); // Navigational`,
|
|
errors: [
|
|
{ messageId: "navigationalLoad", data: { loadValue: "borders/fill" } },
|
|
],
|
|
},
|
|
{
|
|
code: `
|
|
var range = worksheet.getRange("A1");
|
|
context.load(range, "borders/fill");
|
|
console.log(range.borders.fill); // Navigational`,
|
|
errors: [
|
|
{ messageId: "navigationalLoad", data: { loadValue: "borders/fill" } },
|
|
],
|
|
},
|
|
{
|
|
code: `
|
|
var range = worksheet.getRange("A1");
|
|
range.load({borders: { fill: true } });`,
|
|
errors: [
|
|
{ messageId: "navigationalLoad", data: { loadValue: "borders/fill" } },
|
|
],
|
|
},
|
|
{
|
|
code: `
|
|
var range = context.workbook.getRange();
|
|
range.borders.load("fill");
|
|
console.log(range.borders.fill);`,
|
|
errors: [{ messageId: "navigationalLoad", data: { loadValue: "fill" } }],
|
|
},
|
|
{
|
|
code: `
|
|
var range = worksheet.getSelectedRange();
|
|
range.load("address, font/fill");
|
|
await context.sync();
|
|
console.log(range.font.fill.color);
|
|
console.log(range.address);`,
|
|
errors: [
|
|
{ messageId: "navigationalLoad", data: { loadValue: "font/fill" } },
|
|
],
|
|
},
|
|
],
|
|
});
|