Skip to content
This repository was archived by the owner on Jun 7, 2023. It is now read-only.

Commit 69a6bcf

Browse files
anyongth0br0
authored andcommitted
Add test for EventEmitter, fix tests to work with Node >= 4
1 parent 2f40789 commit 69a6bcf

File tree

4 files changed

+64
-10
lines changed

4 files changed

+64
-10
lines changed

index.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
const EventEmitter = require('events');
24
const IOTA = require('iota.lib.js');
35
const ffi = require('ffi');
@@ -187,4 +189,8 @@ module.exports = function(trunkTransaction, branchTransaction, minWeightMagnitud
187189
}
188190

189191
loopTrytes();
192+
193+
if (emitter) {
194+
return emitter;
195+
}
190196
}

package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
"version": "0.0.5",
44
"description": "ccurl interface for nodejs",
55
"main": "index.js",
6+
"engines" : {
7+
"node" : ">=4"
8+
},
69
"scripts": {
710
"lint": "eslint index.js",
811
"test": "node test/test.js"
@@ -37,6 +40,7 @@
3740
"ecmaVersion": 6
3841
},
3942
"env": {
43+
"es6": true,
4044
"node": true
4145
},
4246
"rules": {

test/sample.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"trunkTransaction": "LLJDW9NTJHKYWIWEGIF9WDQCNHGGJOUHMYLGAOAUOFKWTFFFNSAJLBJTHWQAWFBNAPZAXKXWNL9K99999",
33
"branchTransaction": "LLJDW9NTJHKYWIWEGIF9WDQCNHGGJOUHMYLGAOAUOFKWTFFFNSAJLBJTHWQAWFBNAPZAXKXWNL9K99999",
4-
"minWeightMagnitude": 14,
4+
"minWeightMagnitude": 2,
55
"trytes": [
66
"999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999A9RGRKVGWMWMKOLVMDFWJUHNUNYWZTJADGGPZGXNLERLXYWJE9WQHWWBMCPZMVVMJUMWWBLZLNMLDCGDJ999999999999999999999999999999999999999999999999999999YGYQIVD99999999999999999999TXEFLKNPJRBYZPORHZU9CEMFIFVVQBUSTDGSJCZMBTZCDTTJVUFPTCCVHHORPMGCURKTH9VGJIXUQJVHK999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999",
77
"BYSWEAUTWXHXZ9YBZISEK9LUHWGMHXCGEVNZHRLUWQFCUSDXZHOFHWHL9MQPVJXXZLIXPXPXF9KYEREFSKCPKYIIKPZVLHUTDFQKKVVBBN9ATTLPCNPJDWDEVIYYLGPZGCWXOBDXMLJC9VO9QXTTBLAXTTBFUAROYEGQIVB9MJWJKXJMCUPTWAUGFZBTZCSJVRBGMYXTVBDDS9MYUJCPZ9YDWWQNIPUAIJXXSNLKUBSCOIJPCLEFPOXFJREXQCUVUMKSDOVQGGHRNILCO9GNCLWFM9APMNMWYASHXQAYBEXF9QRIHIBHYEJOYHRQJAOKAQ9AJJFQ9WEIWIJOTZATIBOXQLBMIJU9PCGBLVDDVFP9CFFSXTDUXMEGOOFXWRTLFGV9XXMYWEMGQEEEDBTIJ9OJOXFAPFQXCDAXOUDMLVYRMRLUDBETOLRJQAEDDLNVIRQJUBZBO9CCFDHIX9MSQCWYAXJVWHCUPTRSXJDESISQPRKZAFKFRULCGVRSBLVFOPEYLEE99JD9SEBALQINPDAZHFAB9RNBH9AZWIJOTLBZVIEJIAYGMC9AZGNFWGRSWAXTYSXVROVNKCOQQIWGPNQZKHUNODGYADPYLZZZUQRTJRTODOUKAOITNOMWNGHJBBA99QUMBHRENGBHTH9KHUAOXBVIVDVYYZMSEYSJWIOGGXZVRGN999EEGQMCOYVJQRIRROMPCQBLDYIGQO9AMORPYFSSUGACOJXGAQSPDY9YWRRPESNXXBDQ9OZOXVIOMLGTSWAMKMTDRSPGJKGBXQIVNRJRFRYEZ9VJDLHIKPSKMYC9YEGHFDS9SGVDHRIXBEMLFIINOHVPXIFAZCJKBHVMQZEVWCOSNWQRDYWVAIBLSCBGESJUIBWZECPUCAYAWMTQKRMCHONIPKJYYTEGZCJYCT9ABRWTJLRQXKMWY9GWZMHYZNWPXULNZAPVQLPMYQZCYNEPOCGOHBJUZLZDPIXVHLDMQYJUUBEDXXPXFLNRGIPWBRNQQZJSGSJTTYHIGGFAWJVXWL9THTPWOOHTNQWCNYOYZXALHAZXVMIZE9WMQUDCHDJMIBWKTYH9AC9AFOT9DPCADCV9ZWUTE9QNOMSZPTZDJLJZCJGHXUNBJFUBJWQUEZDMHXGBPTNSPZBR9TGSKVOHMOQSWPGFLSWNESFKSAZY9HHERAXALZCABFYPOVLAHMIHVDBGKUMDXC9WHHTIRYHZVWNXSVQUWCR9M9RAGMFEZZKZ9XEOQGOSLFQCHHOKLDSA9QCMDGCGMRYJZLBVIFOLBIJPROKMHOYTBTJIWUZWJMCTKCJKKTR9LCVYPVJI9AHGI9JOWMIWZAGMLDFJA9WU9QAMEFGABIBEZNNAL9OXSBFLOEHKDGHWFQSHMPLYFCNXAAZYJLMQDEYRGL9QKCEUEJ9LLVUOINVSZZQHCIKPAGMT9CAYIIMTTBCPKWTYHOJIIY9GYNPAJNUJ9BKYYXSV9JSPEXYMCFAIKTGNRSQGUNIYZCRT9FOWENSZQPD9ALUPYYAVICHVYELYFPUYDTWUSWNIYFXPX9MICCCOOZIWRNJIDALWGWRATGLJXNAYTNIZWQ9YTVDBOFZRKO9CFWRPAQQRXTPACOWCPRLYRYSJARRKSQPR9TCFXDVIXLP9XVL99ERRDSOHBFJDJQQGGGCZNDQ9NYCTQJWVZIAELCRBJJFDMCNZU9FIZRPGNURTXOCDSQGXTQHKHUECGWFUUYS9J9NYQ9U9P9UUP9YMZHWWWCIASCFLCMSKTELZWUGCDE9YOKVOVKTAYPHDF9ZCCQAYPJIJNGSHUIHHCOSSOOBUDOKE9CJZGYSSGNCQJVBEFTZFJ9SQUHOASKRRGBSHWKBCBWBTJHOGQ9WOMQFHWJVEG9NYX9KWBTCAIXNXHEBDIOFO9ALYMFGRICLCKKLG9FOBOX9PDWNQRGHBKHGKKRLWTBEQMCWQRLHAVYYZDIIPKVQTHYTWQMTOACXZOQCDTJTBAAUWXSGJF9PNQIJ9AJRUMUVCPWYVYVARKR9RKGOUHHNKNVGGPDDLGKPQNOYHNKAVVKCXWXOQPZNSLATUJT9AUWRMPPSWHSTTYDFAQDXOCYTZHOYYGAIM9CELMZ9AZPWB9MJXGHOKDNNSZVUDAGXTJJSSZCPZVPZBYNNTUQABSXQWZCHDQSLGK9UOHCFKBIBNETK999999999999999999999999999999999999999999999999999999999999999999999999999999999NOXDXXKUDW99999999999999999PGDNLQOLQS99EQYKBIU9VHCJVIPFUYCQDNY9APGEVYLCENJIOBLWNB999999999XKBRHUD99C99999999NKZKEKWLDKMJCI9N9XQOLWEPAYWSH9999999999999999999999999KDDTGZLIPBNZKMLTOLOXQVNGLASESDQVPTXALEKRMIOHQLUHD9ELQDBQETS9QFGTYOYWLNTSKKMVJAUXSIROUICDOXKSYZTDPEDKOQENTJOWJONDEWROCEJIEWFWLUAACVSJFTMCHHXJBJRKAAPUDXXVXFWP9X9999IROUICDOXKSYZTDPEDKOQENTJOWJONDEWROCEJIEWFWLUAACVSJFTMCHHXJBJRKAAPUDXXVXFWP9X9999"

test/test.js

Lines changed: 53 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,62 @@
1+
'use strict';
2+
3+
/* eslint-disable no-console, no-unused-vars */
4+
const assert = require('assert');
15
const fs = require('fs');
6+
27
const ccurl = require('../index');
38

49
if (!fs.existsSync(process.env.CCURL_PATH)) {
510
console.log('Usage:\n\tCCURL_PATH=/path/to/ccurl npm test')
611
process.exit()
712
}
813

9-
const { trunkTransaction, branchTransaction, minWeightMagnitude, trytes } = require('./sample.json');
10-
const job = ccurl(trunkTransaction, branchTransaction, minWeightMagnitude, trytes, process.env.CCURL_PATH, (err, result) => {
11-
if (err) {
12-
console.error(err);
13-
process.exit();
14-
}
14+
const sampleData = require('./sample.json');
15+
const trunkTransaction = sampleData.trunkTransaction
16+
const branchTransaction = sampleData.branchTransaction
17+
const minWeightMagnitude = sampleData.minWeightMagnitude
18+
const trytes = sampleData.trytes
19+
20+
const testCallback = () => new Promise((resolve, reject) => {
21+
ccurl(trunkTransaction, branchTransaction, minWeightMagnitude, trytes, process.env.CCURL_PATH, (err, result) => {
22+
if (err) {
23+
reject(err);
24+
return;
25+
}
26+
27+
assert.equal(result.length, trytes.length);
28+
console.log('\n' + trytes.length + ' transactions hashed.\nOK');
29+
resolve();
30+
});
31+
})
32+
33+
const testEmitter = () => new Promise((resolve, reject) => {
34+
const jobEmitter = ccurl(trunkTransaction, branchTransaction, minWeightMagnitude, trytes, process.env.CCURL_PATH);
35+
36+
jobEmitter.on('progress', (err, progress) => {
37+
if (err) {
38+
return reject(err);
39+
}
40+
41+
assert.equal(progress, 0.5);
42+
console.log('Progress reported: ' + progress + '\nOK');
43+
})
44+
45+
jobEmitter.on('done', (err, result) => {
46+
if (err) {
47+
return reject(err);
48+
}
49+
50+
assert.equal(result.length, trytes.length);
51+
console.log('\n' + trytes.length + ' transactions hashed.\nOK');
52+
console.log('Job done emitted.\nOK')
53+
resolve();
54+
});
55+
})
1556

16-
console.log('\n' + trytes.length + ' transactions hashed.\nOK')
17-
process.exit();
18-
});
57+
testCallback().then(() => {
58+
return testEmitter();
59+
}).catch(err => {
60+
console.error(err);
61+
process.exit(1);
62+
})

0 commit comments

Comments
 (0)