github.com/igggame/nebulas-go@v2.1.0+incompatible/nebtestkit/cases/command/genesis.test.js (about)

     1  'use strict';
     2  
     3  var FS = require('fs');
     4  var expect = require('chai').expect;
     5  var process = require('child_process');
     6  
     7  var neb = './neb';
     8  var newAccount;
     9  
    10  function countSubstr(str, substr) {
    11      var reg = new RegExp(substr, "g");
    12      return str.match(reg) ? str.match(reg).length : 0;//若match返回不为null,则结果为true,输出match返回的数组(["test","test"])的长度  
    13  }
    14  
    15  describe('neb genesis dump', () => {
    16  
    17      it('neb genesis dump', (done) => {
    18          process.exec(neb + ' genesis dump', (err, stdout, stderr) => {
    19              try {
    20                  expect(err).to.be.equal(null);
    21                  expect(stderr).to.be.equal("");
    22  
    23                  var genesisConf = FS.readFileSync('./conf/default/genesis.conf','utf-8');
    24  
    25                  var pos = genesisConf.indexOf('meta');
    26                  expect(pos).to.be.greaterThan(0);
    27                  var expectGenesis = genesisConf.slice(pos);
    28                  var expectGenesisTxt = expectGenesis.replace(/[^a-z0-9A-Z]/g, "");
    29  
    30  
    31                  var genesis = stdout.slice(stdout.indexOf('\"meta\": {'));
    32                  var genesisTxt = genesis.replace(/[^a-z0-9A-Z]/g, "");
    33                  //console.log(genesisTxt);
    34  
    35                  expect(genesisTxt).to.be.equal(expectGenesisTxt);
    36              } catch (err) {
    37                  done(err);
    38                  return;
    39              }
    40              done();
    41          });
    42      });
    43  });