@solvprotocol/upgrade-safe-transpiler
Version:
Solidity preprocessor used to generate OpenZeppelin Contracts Upgrade Safe.
32 lines (23 loc) • 1.02 kB
text/typescript
import _test, { TestFn } from 'ava';
import { mapValues, pick } from 'lodash';
import { getBuildInfo } from './test-utils/get-build-info';
import { SolcInput, SolcOutput } from './solc/input-output';
import { Transform } from './transform';
import { generateWithInit } from './generate-with-init';
const test = _test as TestFn<Context>;
interface Context {
solcInputOutput(...paths: string[]): [SolcInput, SolcOutput];
}
test.before('gather solc input output', async t => {
const buildInfo = await getBuildInfo('0.6');
const solcInput = buildInfo.input;
const solcOutput = buildInfo.output as SolcOutput;
t.context.solcInputOutput = (...paths) => {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
return [solcInput, solcOutput].map(x => mapValues(x, y => pick(y, paths))) as any;
};
});
test('simple', t => {
const transform = new Transform(...t.context.solcInputOutput('contracts/GenerateWithInit.sol'));
t.snapshot(generateWithInit(transform, 'contracts/WithInit.sol'));
});