eslint-plugin-o1js
Version:
o1js rules for ESLint
161 lines • 3.66 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const rule_tester_1 = require("../rule-tester");
const no_random_in_circuit_1 = __importDefault(require("../../src/rules/no-random-in-circuit"));
const message = 'noRandomInCircuit';
rule_tester_1.ruleTester.run('no-random-in-circuit', no_random_in_circuit_1.default, {
valid: [
{
code: `
class Foo {
async bar() {
let a = Math.random(a)
}
}`,
},
{
code: `
class Foo {
async bar() {
let t = Math.random(a)
}
}`,
},
{
code: `
class Foo {
async bar() {
Math.random(a)
}
}`,
},
{
code: `
class Foo {
async bar() {
Math.random(a)
}
}`,
},
{
code: `
class Foo {
async bar() {
crypto.getRandomValues(arr)
}
}`,
},
{
code: `
class Foo {
async bar() {
getRandomValues(arr);
}
}`,
},
],
invalid: [
{
code: `
class Foo {
@method async bar() {
let t = Math.random(a)
}
}`,
errors: [{ messageId: message }],
},
{
code: `
class Foo {
@method async bar() {
let t = Math.random(a)
}
}`,
errors: [{ messageId: message }],
},
{
code: `
class Foo {
@method async bar() {
Math.random(a)
}
}`,
errors: [{ messageId: message }],
},
{
code: `
class Foo {
@method async bar() {
Math.random(a)
}
}`,
errors: [{ messageId: message }],
},
{
code: `
let testRandom = () => { Math.random(); };
function indirectRandom () { testRandom(); };
class Foo {
@method async bar() {
indirectRandom();
}
}`,
errors: [{ messageId: message }],
},
{
code: `
let testRandom = () => { let t = Math.random(); };
function indirectRandom() { testRandom(); };
class Foo {
@method async bar() {
indirectRandom();
}
}`,
errors: [{ messageId: message }],
},
{
code: `
class Foo {
@method async bar() {
crypto.getRandomValues(arr);
}
}`,
errors: [{ messageId: message }],
},
{
code: `
class Foo {
@method async bar() {
getRandomValues(arr);
}
}`,
errors: [{ messageId: message }],
},
{
code: `
let testRandom = () => { crypto.getRandomValues(arr); };
function indirectRandom() { testRandom(); };
class Foo {
@method async bar() {
indirectRandom();
}
}`,
errors: [{ messageId: message }],
},
{
code: `
let testRandom = () => { getRandomValues(arr); };
function indirectRandom() { testRandom(); };
class Foo {
@method async bar() {
indirectRandom();
}
}`,
errors: [{ messageId: message }],
},
],
});
//# sourceMappingURL=no-random-in-circuit.test.js.map