aboutsummaryrefslogtreecommitdiffstats
path: root/packages/sol-trace-based-tools-common/test/instructions_test.ts
blob: 058053cf915ddcfffe5d0bc4f6169e73d11e3452 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import * as chai from 'chai';
import 'mocha';

import { constants } from '../src/constants';
import { getPcToInstructionIndexMapping } from '../src/instructions';

const expect = chai.expect;

describe('instructions', () => {
    describe('#getPcToInstructionIndexMapping', () => {
        it('correctly maps pcs to instruction indexed', () => {
            // tslint:disable-next-line:custom-no-magic-numbers
            const bytecode = new Uint8Array([constants.PUSH1, 42, constants.PUSH2, 1, 2, constants.TIMESTAMP]);
            const pcToInstruction = getPcToInstructionIndexMapping(bytecode);
            const expectedPcToInstruction = { '0': 0, '2': 1, '5': 2 };
            expect(pcToInstruction).to.be.deep.equal(expectedPcToInstruction);
        });
    });
});