139 lines
3.3 KiB
JavaScript
139 lines
3.3 KiB
JavaScript
// '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 */
|