"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const ava_1 = __importDefault(require("ava"));
const solc_1 = require("./solc");
const solc_fork_1 = require("./solc-fork");
async function smokeTest(t, solcModule, version) {
    const input = {
        language: 'Solidity',
        sources: {
            test: {
                content: `// SPDX-License-Identifier: MIT\npragma solidity ^${version}; contract Foo { }`,
            },
        },
        settings: {
            outputSelection: solc_1.outputSelection,
        },
    };
    const output = await solc_fork_1.solcCompile(solcModule, input);
    t.is('object', typeof output);
    t.is(undefined, output.errors);
}
ava_1.default('smoke test 0.8', async (t) => {
    await smokeTest(t, 'solc-0-8', '0.8');
});
ava_1.default('smoke test 0.7', async (t) => {
    await smokeTest(t, 'solc-0-7', '0.7');
});
ava_1.default('smoke test 0.6', async (t) => {
    await smokeTest(t, 'solc', '0.6');
});
ava_1.default('smoke test 0.5', async (t) => {
    await smokeTest(t, 'solc-0-5', '0.5');
});
ava_1.default('smoke test 0.4', async (t) => {
    await smokeTest(t, 'solc-0-4', '0.4');
});
//# sourceMappingURL=solc.test.js.map