Skip to content

Commit 88d5f73

Browse files
authored
Merge pull request #3 from NodeFactoryIo/bugfix/bad-comment-position-on-long-contracts
Bugfix/bad comment position on long contracts
2 parents 14432f5 + f935368 commit 88d5f73

File tree

5 files changed

+1223
-24
lines changed

5 files changed

+1223
-24
lines changed

package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,17 @@
3636
],
3737
"license": "MIT",
3838
"devDependencies": {
39+
"@babel/core": "^7.1.2",
40+
"@babel/register": "^7.0.0",
41+
"@babel/polyfill": "^7.0.0",
3942
"babel-cli": "^6.26.0",
4043
"babel-eslint": "^8.2.5",
4144
"babel-plugin-istanbul": "^4.1.6",
4245
"babel-preset-env": "^1.7.0",
4346
"babel-register": "^6.26.0",
4447
"babel-tape-runner": "^2.0.1",
4548
"coveralls": "^3.0.2",
49+
"electron": "^3.0.2",
4650
"eslint": "^5.0.1",
4751
"eslint-config-strongloop": "^2.1.0",
4852
"istanbul": "^0.4.5",

src/index.es6

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ function hasComment(contract, line) {
5757
}
5858

5959
function insertComment(contract, node) {
60-
let comment = generator.generate(node);
60+
let comment = generator.generate(node).trim();
6161
if (!comment) return;
6262
if (hasComment(contract, node.loc.start.line)) return;
6363
let commentLines = comment.split('\n');

src/lib/contract/contract.es6

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ export class Contract {
4242
}
4343

4444
insertLinesBefore(lines, line) {
45-
line += this.offset(line);
45+
let currentOffset = this.offset(line);
46+
line += this.offset(line + currentOffset);
4647
this.addOffset(line, lines.length);
4748
this.lines.splice(line, 0, ...lines);
4849
}
@@ -72,11 +73,10 @@ export class Contract {
7273
let offsetAmount = 0;
7374
for (let offset in this.offsets) {
7475
if (this.offsets.hasOwnProperty(offset)) {
75-
if (line >= offset) {
76-
offsetAmount += this.offsets[offset];
77-
}
76+
if (line >= offset)
77+
offsetAmount += this.offsets[offset];
78+
}
7879
}
79-
}
8080
return offsetAmount;
8181
}
8282
}

test/lib/contract/contract.test.es6

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,15 @@ test('Insert text before', (t) => {
6060
});
6161

6262
test('Insert text before with offset', (t) => {
63-
t.plan(4);
63+
t.plan(6);
6464
let contract =new Contract(['line1', 'line2']);
6565
contract.insertTextBefore('test1\nbla', 0);
6666
t.equal(contract.getLineAt(0), 'test1');
6767
t.equal(contract.getLineAt(1), 'bla');
68+
t.equal(contract.offset(0), 2);
6869
contract.insertTextBefore('offset', 0);
6970
t.equal(contract.offset(0), 2);
71+
t.equal(contract.offset(2), 3);
7072
t.equal(contract.getLineAt(2), 'offset');
7173
});
7274

0 commit comments

Comments
 (0)