github.com/igggame/nebulas-go@v2.1.0+incompatible/nebtestkit/cases/command/dump.test.js (about) 1 'use strict'; 2 3 var expect = require('chai').expect; 4 var process = require('child_process'); 5 6 var neb = './neb'; 7 var newAccount; 8 9 function countSubstr(str, substr) { 10 var reg = new RegExp(substr, "g"); 11 return str.match(reg) ? str.match(reg).length : 0;//若match返回不为null,则结果为true,输出match返回的数组(["test","test"])的长度 12 } 13 14 describe('neb dump', () => { 15 16 it('neb dump', (done) => { 17 process.exec(neb + ' dump 1', (err, stdout, stderr) => { 18 try { 19 expect(err).to.be.equal(null); 20 expect(stderr).to.be.equal(""); 21 var expectStdout = /blockchain dump: \[\{"height": [0-9]+, "hash": "([0-9]|[a-f]){64}"/; 22 expect(expectStdout.test(stdout)).to.be.equal(true); 23 newAccount = stdout.slice(9, 57); 24 } catch (err) { 25 done(err); 26 return; 27 } 28 done(); 29 }); 30 }); 31 32 it('neb dump 2', (done) => { 33 process.exec(neb + ' dump 2', (err, stdout, stderr) => { 34 try { 35 expect(err).to.be.equal(null); 36 expect(stderr).to.be.equal(""); 37 // console.log(stdout); 38 var dump_str = /"height": [0-9]+, "hash": "([0-9]|[a-f]){64}"/; 39 var dump_count = countSubstr(stdout, dump_str); 40 41 expect(dump_count).to.be.equal(2); 42 newAccount = stdout.slice(9, 57); 43 } catch (err) { 44 done(err); 45 return; 46 } 47 done(); 48 }); 49 }) 50 });