all files / tests/specs/array/ array.spec.js

100% Statements 41/41
100% Branches 0/0
100% Functions 18/18
100% Lines 41/41
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74                                                                 
import { renderSFCModule } from 'utils';
 
describe('array', () => {
  let cont;
 
  function getCount() {
    return parseInt(cont.querySelector('[data-for="count"]').innerText, 10);
  }
  function getList() {
    return ''.trim.call(cont.querySelector('[data-for="list"]').innerText);
  }
 
  beforeEach(() => {
    cont = renderSFCModule(require('./array.html'));
  });
 
  it('push()', done => {
    cont.querySelector('[data-for="push"]').click();
    setTimeout(() => {
      expect(getCount()).to.equal(4);
      done();
    }, 0);
  });
 
  it('pop()', done => {
    cont.querySelector('[data-for="pop"]').click();
    setTimeout(() => {
      expect(getCount()).to.equal(2);
      done();
    }, 0);
  });
 
  it('shift()', done => {
    cont.querySelector('[data-for="shift"]').click();
    setTimeout(() => {
      expect(getCount()).to.equal(2);
      done();
    }, 0);
  });
 
  it('unshift()', done => {
    cont.querySelector('[data-for="unshift"]').click();
    setTimeout(() => {
      expect(getCount()).to.equal(4);
      expect(getList()).to.equal('[ -1, 0, 2, 8 ]');
      done();
    }, 0);
  });
 
  it('splice()', done => {
    cont.querySelector('[data-for="splice"]').click();
    setTimeout(() => {
      expect(getList()).to.equal('[ 0, 9, 8 ]');
      done();
    }, 0);
  });
 
  it('sort()', done => {
    cont.querySelector('[data-for="sort"]').click();
    setTimeout(() => {
      expect(getList()).to.equal('[ 0, 2, 8 ]');
      done();
    }, 0);
  });
 
  it('reverse(done)', done => {
    cont.querySelector('[data-for="reverse"]').click();
    setTimeout(() => {
      expect(getList()).to.equal('[ 8, 2, 0 ]');
      done();
    }, 0);
  });
});