aboutsummaryrefslogtreecommitdiffstats
path: root/packages/sol-tracing-utils/test/instructions_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/sol-tracing-utils/test/instructions_test.ts')
-rw-r--r--packages/sol-tracing-utils/test/instructions_test.ts19
1 files changed, 19 insertions, 0 deletions
diff --git a/packages/sol-tracing-utils/test/instructions_test.ts b/packages/sol-tracing-utils/test/instructions_test.ts
new file mode 100644
index 000000000..058053cf9
--- /dev/null
+++ b/packages/sol-tracing-utils/test/instructions_test.ts
@@ -0,0 +1,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);
+ });
+ });
+});