Skip to content

Commit 766cd8d

Browse files
committed
Add test for generating comments for edited contract, move all test contracts to test/test-contracts folder.
1 parent a4f2724 commit 766cd8d

File tree

7 files changed

+124
-11
lines changed

7 files changed

+124
-11
lines changed

test/index.test.es6

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,32 @@ import { generateCommentsFromText } from '../src/index';
55
test('Assert generate comments from text', (t) => {
66
t.plan(1);
77
let commentedContract =
8-
generateCommentsFromText(fs.readFileSync('./test/Metacoin.sol', 'utf-8'));
8+
generateCommentsFromText(fs.readFileSync('./test/test-contracts/Metacoin.sol', 'utf-8'));
99
t.equal(
1010
commentedContract,
11-
fs.readFileSync('./test/Metacoin.commented.sol', 'utf-8')
11+
fs.readFileSync('./test/test-contracts/Metacoin.commented.sol', 'utf-8')
1212
);
1313
});
1414

1515
test('Assert generate comments from text second time wont duplicate', (t) => {
1616
t.plan(1);
1717
let commentedContract =
18-
generateCommentsFromText(fs.readFileSync('./test/Metacoin.sol', 'utf-8'));
18+
generateCommentsFromText(fs.readFileSync('./test/test-contracts/Metacoin.sol', 'utf-8'));
1919
commentedContract =
2020
generateCommentsFromText(commentedContract, 'utf-8');
2121
t.equal(
2222
commentedContract,
23-
fs.readFileSync('./test/Metacoin.commented.sol', 'utf-8')
23+
fs.readFileSync('./test/test-contracts/Metacoin.commented.sol', 'utf-8')
2424
);
2525
});
26+
27+
test('Assert generate comments from edited contract', (t) => {
28+
t.plan(1);
29+
let commentedContract =
30+
generateCommentsFromText(fs.readFileSync('./test/test-contracts/Metacoin.edited.sol', 'utf-8'));
31+
32+
t.equal(
33+
commentedContract,
34+
fs.readFileSync('./test/test-contracts/Metacoin.edited.commented.sol', 'utf-8')
35+
);
36+
});

test/lib/contract/contract-file.test.es6

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,28 +13,28 @@ test('Assert not founding contract file', (t) => {
1313

1414
test('Assert creating new ContractFile instance', (t) => {
1515
t.plan(1);
16-
let contract = new ContractFile('./test/Metacoin.sol');
16+
let contract = new ContractFile('./test/test-contracts/Metacoin.sol');
1717
t.notEqual(contract, null);
1818
});
1919

2020
test('Assert get filename', (t) => {
2121
t.plan(1);
22-
let contract = new ContractFile('./test/Metacoin.sol');
22+
let contract = new ContractFile('./test/test-contracts/Metacoin.sol');
2323
const filename = contract.getFilename();
2424
t.equal(filename, 'Metacoin.sol');
2525
});
2626

2727
test('Assert get path', (t) => {
2828
t.plan(1);
29-
let contract = new ContractFile('./test/Metacoin.sol');
29+
let contract = new ContractFile('./test/test-contracts/Metacoin.sol');
3030
const path = contract.getPath();
31-
t.equal(path, './test/Metacoin.sol');
31+
t.equal(path, './test/test-contracts/Metacoin.sol');
3232
});
3333

3434
test('Save file', async(t) => {
3535
t.plan(1);
36-
let contract = new ContractFile('./test/Metacoin.sol');
36+
let contract = new ContractFile('./test/test-contracts/Metacoin.sol');
3737
contract.insertTextBefore('test1\nbla', 'pragma solidity ^0.4.24;');
3838
await contract.save('/tmp/Metacoin-test.sol');
39-
t.notEqual(fs.readFileSync('/tmp/Metacoin-test.sol'), fs.readFileSync('./test/Metacoin.sol'));
39+
t.notEqual(fs.readFileSync('/tmp/Metacoin-test.sol'), fs.readFileSync('./test/test-contracts/Metacoin.sol'));
4040
});

test/lib/contract/contract.test.es6

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ test('Insert text before with offset', (t) => {
6565
contract.insertTextBefore('test1\nbla', 0);
6666
t.equal(contract.getLineAt(0), 'test1');
6767
t.equal(contract.getLineAt(1), 'bla');
68-
contract.insertTextBefore('offset', 0);
68+
contract.insertLinesBefore('offset'.split(), 0);
6969
t.equal(contract.offset(0), 2);
7070
t.equal(contract.getLineAt(2), 'offset');
7171
});
File renamed without changes.
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
pragma solidity ^0.4.24;
2+
3+
4+
/// @title MetaCoin v.2
5+
contract MetaCoin {
6+
7+
/// @notice
8+
mapping (address => uint) balances;
9+
10+
event Transfer(address _from,address _to, uint _amount);
11+
12+
/// @notice
13+
/// @dev
14+
/// @return
15+
constructor() {
16+
balances[tx.origin] = 10000;
17+
}
18+
19+
/// @notice
20+
/// @dev
21+
/// @param receiver
22+
/// @return
23+
function sendCoin(address receiver) public returns(bool sufficient) {
24+
if (balances[msg.sender] < amount) return false;
25+
address myAddress = this;
26+
balances[msg.sender] -= amount;
27+
balances[receiver] += amount;
28+
Transfer(myAddress,receiver,amount);
29+
return true;
30+
}
31+
32+
/// @notice
33+
/// @dev
34+
/// @param addr Custom comment on parameter
35+
/// @param number
36+
/// @return
37+
function getBalance(address addr, uint number) public returns(uint) {
38+
return balances[addr];
39+
}
40+
41+
/// @notice
42+
/// @dev
43+
/// @param code Token code
44+
/// @return
45+
function getToken(uint code) public returns(uint) {
46+
return balances[addr];
47+
}
48+
}
49+
50+
51+
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
pragma solidity ^0.4.24;
2+
3+
4+
/// @title MetaCoin v.2
5+
contract MetaCoin {
6+
7+
mapping (address => uint) balances;
8+
9+
event Transfer(address _from,address _to, uint _amount);
10+
11+
/// @notice
12+
/// @dev
13+
/// @return
14+
constructor() {
15+
balances[tx.origin] = 10000;
16+
}
17+
18+
/// @notice
19+
/// @dev
20+
/// @param receiver
21+
/// @param amount
22+
/// @return
23+
function sendCoin(address receiver) public returns(bool sufficient) {
24+
if (balances[msg.sender] < amount) return false;
25+
address myAddress = this;
26+
balances[msg.sender] -= amount;
27+
balances[receiver] += amount;
28+
Transfer(myAddress,receiver,amount);
29+
return true;
30+
}
31+
32+
/// @notice
33+
/// @dev
34+
/// @param addr Custom comment on parameter
35+
/// @return
36+
function getBalance(address addr, uint number) public returns(uint) {
37+
return balances[addr];
38+
}
39+
40+
/// @notice
41+
/// @dev
42+
/// @param code Token code
43+
/// @param timestamp Token access timestamp
44+
/// @return
45+
function getToken(uint code) public returns(uint) {
46+
return balances[addr];
47+
}
48+
}
49+
50+
51+

0 commit comments

Comments
 (0)