// 'use strict'; // /* eslint-disable no-console */ // /* eslint-disable indent */ // const expect = require('chai').expect; // const parser = require('../lib/parser.js'); // describe('basic', () => { // it('typeof vcd', done => { // expect(parser).to.be.an('function'); // done(); // }); // it('typeof vcd instance', done => { // expect(parser()).to.be.an('object'); // done(); // }); // it('fail: foo bar', done => { // const inst = parser(); // expect(() => { // inst.write(Buffer.from(' foo bar ???')); // }).not.to.throw(); // expect(inst.info).to.deep.eq({ // stack: [{}], // status: 'declaration', // wires: {} // }); // done(); // }); // it('fail: $comment', done => { // const inst = parser(); // expect(() => { // inst.write(Buffer.from( // ' \n $comment some text $end $comment more text $end ???' // )); // }).not.to.throw(); // expect(inst.info).to.deep.eq({ // comment: ' more text ', // stack: [{}], // status: 'declaration', // wires: {} // }); // done(); // }); // it('$version', done => { // const inst = parser(); // expect(inst.write(` // $version Generated by VerilatedVcd $end // $date Wed Sep 18 22:59:07 2019 // $end // $timescale 1ns $end // $scope module top $end // $var wire 1 "}G clock $end // $scope module leaf $end // $var wire 64 {u counter [63:0] $end // $upscope $end // $scope module fruit $end // $var wire 4 u) point [3:0] $end // $upscope $end // $upscope $end // $enddefinitions $end // ` // )).to.eq(true); // expect(inst.write(` // #1 // 0"}G // #2 // 1"}G // #300 // 0"}G // b1111000000000000 {u // #301 // b0000111100000000 {u // #302 // b0000000011110000 {u // #303 // b0000000000001111 {u // ` // )).to.eq(true); // console.log(inst.info); // expect(inst.info).to.deep.eq({ // status: 'simulation', // date: ' Wed Sep 18 22:59:07 2019\n ', // version: ' Generated by VerilatedVcd ', // timescale: ' 1ns ', // t0: 1, // varId: 'u)', // wires: { // top: { // clock: '"}G', // fruit: { // point: 'u)' // }, // leaf: { // counter: '{u' // } // } // }, // stack: [{ // top: { // clock: '"}G', // fruit: { // point: 'u)' // }, // leaf: { // counter: '{u' // } // } // }, // { // clock: '"}G', // fruit: { // point: 'u)' // }, // leaf: { // counter: '{u' // } // }, // { // point: 'u)' // }] // }); // done(); // }); // }); // /* eslint-env mocha */