diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2018-03-15 22:42:48 +0800 |
---|---|---|
committer | Leonid Logvinov <logvinov.leon@gmail.com> | 2018-03-15 23:19:01 +0800 |
commit | f6c01520ae75d173937f0847ac45e636b06f4146 (patch) | |
tree | 6c16d0a8050bf470fd9a7e93c88b8f840b35b604 /packages/sol-cov/src/source_maps.ts | |
parent | 40ebb533b324bf7dd454243fcb1ee092ab85f7eb (diff) | |
download | dexon-0x-contracts-f6c01520ae75d173937f0847ac45e636b06f4146.tar.gz dexon-0x-contracts-f6c01520ae75d173937f0847ac45e636b06f4146.tar.zst dexon-0x-contracts-f6c01520ae75d173937f0847ac45e636b06f4146.zip |
Add tests for sol-cov
Diffstat (limited to 'packages/sol-cov/src/source_maps.ts')
-rw-r--r-- | packages/sol-cov/src/source_maps.ts | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/packages/sol-cov/src/source_maps.ts b/packages/sol-cov/src/source_maps.ts index 9b3ea9e24..694171442 100644 --- a/packages/sol-cov/src/source_maps.ts +++ b/packages/sol-cov/src/source_maps.ts @@ -12,12 +12,12 @@ export interface SourceLocation { } export function getLocationByOffset(str: string): LocationByOffset { - const locationByOffset: LocationByOffset = {}; + const locationByOffset: LocationByOffset = { 0: { line: 1, column: 0 } }; let currentOffset = 0; for (const char of str.split('')) { - const location = locationByOffset[currentOffset - 1] || { line: 1, column: 0 }; + const location = locationByOffset[currentOffset]; const isNewline = char === '\n'; - locationByOffset[currentOffset] = { + locationByOffset[currentOffset + 1] = { line: location.line + (isNewline ? 1 : 0), column: isNewline ? 0 : location.column + 1, }; @@ -59,9 +59,8 @@ export function parseSourceMap( if (parsedEntry.fileIndex !== -1) { const sourceRange = { location: { - start: locationByOffsetByFileIndex[parsedEntry.fileIndex][parsedEntry.offset - 1], - end: - locationByOffsetByFileIndex[parsedEntry.fileIndex][parsedEntry.offset + parsedEntry.length - 1], + start: locationByOffsetByFileIndex[parsedEntry.fileIndex][parsedEntry.offset], + end: locationByOffsetByFileIndex[parsedEntry.fileIndex][parsedEntry.offset + parsedEntry.length], }, fileName: sources[parsedEntry.fileIndex], }; |