aboutsummaryrefslogtreecommitdiffstats
path: root/packages/sol-cov/test/instructions_test.ts
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2018-03-15 22:42:48 +0800
committerLeonid Logvinov <logvinov.leon@gmail.com>2018-03-15 23:19:01 +0800
commitf6c01520ae75d173937f0847ac45e636b06f4146 (patch)
tree6c16d0a8050bf470fd9a7e93c88b8f840b35b604 /packages/sol-cov/test/instructions_test.ts
parent40ebb533b324bf7dd454243fcb1ee092ab85f7eb (diff)
downloaddexon-sol-tools-f6c01520ae75d173937f0847ac45e636b06f4146.tar
dexon-sol-tools-f6c01520ae75d173937f0847ac45e636b06f4146.tar.gz
dexon-sol-tools-f6c01520ae75d173937f0847ac45e636b06f4146.tar.bz2
dexon-sol-tools-f6c01520ae75d173937f0847ac45e636b06f4146.tar.lz
dexon-sol-tools-f6c01520ae75d173937f0847ac45e636b06f4146.tar.xz
dexon-sol-tools-f6c01520ae75d173937f0847ac45e636b06f4146.tar.zst
dexon-sol-tools-f6c01520ae75d173937f0847ac45e636b06f4146.zip
Add tests for sol-cov
Diffstat (limited to 'packages/sol-cov/test/instructions_test.ts')
-rw-r--r--packages/sol-cov/test/instructions_test.ts22
1 files changed, 22 insertions, 0 deletions
diff --git a/packages/sol-cov/test/instructions_test.ts b/packages/sol-cov/test/instructions_test.ts
new file mode 100644
index 000000000..f64ec11ed
--- /dev/null
+++ b/packages/sol-cov/test/instructions_test.ts
@@ -0,0 +1,22 @@
+import * as chai from 'chai';
+import * as fs from 'fs';
+import 'mocha';
+import * as path from 'path';
+
+import { getPcToInstructionIndexMapping } from '../src/instructions';
+
+const expect = chai.expect;
+
+describe('instructions', () => {
+ describe('#getPcToInstructionIndexMapping', () => {
+ it('correctly maps pcs to instruction indexed', () => {
+ const PUSH1 = 0x60;
+ const PUSH2 = 0x61;
+ const TIMESTAMP = 0x42;
+ const bytecode = new Uint8Array([PUSH1, 42, PUSH2, 1, 2, TIMESTAMP]);
+ const pcToInstruction = getPcToInstructionIndexMapping(bytecode);
+ const expectedPcToInstruction = { '0': 0, '2': 1, '5': 2 };
+ expect(pcToInstruction).to.be.deep.equal(expectedPcToInstruction);
+ });
+ });
+});