403Webshell
Server IP : 185.11.201.71  /  Your IP : 192.168.7.18
Web Server : Apache/2.4.29 (Ubuntu)
System : Linux tech-virtual-machine 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
User : tech ( 1000)
PHP Version : 7.4.28
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/wordpress/App/pages/dxf-parser/test/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/wordpress/App/pages/dxf-parser/test/DxfParser.test.js
var DxfParser = require('../');
var fs = require('fs');
var should = require('should');
var path = require('path');
approvals = require('approvals');

describe('Parser', function() {

	it('should parse the dxf header variables into an object', function(done) {
		var file = fs.createReadStream(__dirname + '/data/header.dxf', { encoding: 'utf8' });
		var parser = new DxfParser();

		parser.parseStream(file, function(err, result) {
			should.not.exist(err);
			var expected = fs.readFileSync(__dirname + '/data/header.parser.out', {encoding: 'utf8'});
			result.should.eql(JSON.parse(expected));
			done();
		});
	});

	var tables;

	it('should parse the tables section without error', function(done) {
		var file = fs.createReadStream(__dirname + '/data/tables.dxf', { encoding: 'utf8' });
		var parser = new DxfParser();

		parser.parseStream(file, function(err, result) {
			var errMsg = err ? err.stack : undefined;
			should.not.exist(err, errMsg);
			tables = result.tables;
			fs.writeFileSync(path.join(__dirname, 'data', 'layer-table.actual.json'), JSON.stringify(tables.layer, null, 2));
			fs.writeFileSync(path.join(__dirname, 'data', 'ltype-table.actual.json'), JSON.stringify(tables.lineType, null, 2));
            fs.writeFileSync(path.join(__dirname, 'data', 'viewport-table.actual.json'), JSON.stringify(tables.viewPort, null, 2));
			done();
		});
	});

	it('should parse the dxf layers', function() {
		should.exist(tables);
		tables.should.have.property('layer');

        var expectedOutputFilePath = path.join(__dirname,'data','layer-table.expected.json');
        
		var expected = fs.readFileSync(expectedOutputFilePath, {encoding: 'utf8'});
		tables.layer.should.eql(JSON.parse(expected));
	});

	it('should parse the dxf ltype table', function() {
		should.exist(tables);
		tables.should.have.property('lineType');

        var expectedOutputFilePath = path.join(__dirname,'data','ltype-table.expected.json');

		var expected = fs.readFileSync(expectedOutputFilePath, {encoding: 'utf8'});
		tables.lineType.should.eql(JSON.parse(expected));
	});
    
    it('should parse the dxf viewPort table', function() {
		should.exist(tables);
		tables.should.have.property('viewPort');

        var expectedOutputFilePath = path.join(__dirname,'data','viewport-table.expected.json');

		var expected = fs.readFileSync(expectedOutputFilePath, {encoding: 'utf8'});
		tables.viewPort.should.eql(JSON.parse(expected));
	});

	it('should parse a complex BLOCKS section', function() {
		verifyDxf(path.join(__dirname, 'data', 'blocks.dxf'))
	});
	
	it('should parse a simple BLOCKS section', function() {
		var file = fs.readFileSync(path.join(__dirname, 'data', 'blocks2.dxf'), 'utf8');

		var parser = new DxfParser();
		var dxf;
		try {
			dxf = parser.parseSync(file);
			fs.writeFileSync(path.join(__dirname, 'data', 'blocks2.actual.json'), JSON.stringify(dxf, null, 2));
		}catch(err) {
			should.not.exist(err);
		}
		should.exist(dxf);


		var expected = fs.readFileSync(path.join(__dirname, 'data', 'blocks2.expected.json'), {encoding: 'utf8'});
		dxf.should.eql(JSON.parse(expected));
	});
    
    it('should parse POLYLINES', function() {
        var file = fs.readFileSync(path.join(__dirname, 'data', 'polylines.dxf'), 'utf8');

		var parser = new DxfParser();
		var dxf;
		try {
			dxf = parser.parseSync(file);
			fs.writeFileSync(path.join(__dirname, 'data', 'polylines.actual.json'), JSON.stringify(dxf, null, 2));
		}catch(err) {
			should.not.exist(err);
		}
		should.exist(dxf);


		var expected = fs.readFileSync(path.join(__dirname, 'data', 'polylines.expected.json'), {encoding: 'utf8'});
		dxf.should.eql(JSON.parse(expected));
    });

	it('should parse ELLIPSE entities', function() {
        var file = fs.readFileSync(path.join(__dirname, 'data', 'ellipse.dxf'), 'utf8');

		var parser = new DxfParser();
		var dxf;
		try {
			dxf = parser.parseSync(file);
			fs.writeFileSync(path.join(__dirname, 'data', 'ellipse.actual.json'), JSON.stringify(dxf, null, 2));
		}catch(err) {
			should.not.exist(err);
		}
		should.exist(dxf);


		var expected = fs.readFileSync(path.join(__dirname, 'data', 'ellipse.expected.json'), {encoding: 'utf8'});
		dxf.should.eql(JSON.parse(expected));
	});
	
	it('should parse SPLINE entities', function() {
        var file = fs.readFileSync(path.join(__dirname, 'data', 'splines.dxf'), 'utf8');

		var parser = new DxfParser();
		var dxf;
		try {
			dxf = parser.parseSync(file);
			fs.writeFileSync(path.join(__dirname, 'data', 'splines.actual.json'), JSON.stringify(dxf, null, 2));
		}catch(err) {
			should.not.exist(err);
		}
		should.exist(dxf);

		var expected = fs.readFileSync(path.join(__dirname, 'data', 'splines.expected.json'), {encoding: 'utf8'});
		dxf.should.eql(JSON.parse(expected));
	});

	it('should parse EXTENDED DATA', function() {
        var file = fs.readFileSync(path.join(__dirname, 'data', 'extendeddata.dxf'), 'utf8');

		var parser = new DxfParser();
		var dxf;
		try {
			dxf = parser.parseSync(file);
			fs.writeFileSync(path.join(__dirname, 'data', 'extendeddata.actual.json'), JSON.stringify(dxf, null, 2));
		}catch(err) {
			should.not.exist(err);
		}
		should.exist(dxf);

		var expected = fs.readFileSync(path.join(__dirname, 'data', 'extendeddata.expected.json'), {encoding: 'utf8'});
		dxf.should.eql(JSON.parse(expected));
	});
	
	it('should parse SPLINE entities that are like arcs and circles', function() {
		verifyDxf(path.join(__dirname, 'data', 'arcs-as-splines.dxf'));
	});

	it('should parse ARC entities (1)', function() {
		verifyDxf(path.join(__dirname, 'data', 'arc1.dxf'));
	});
});

function verifyDxf(sourceFilePath) {
	var baseName = path.basename(sourceFilePath, '.dxf');
	var sourceDirectory = path.dirname(sourceFilePath);

	var parser = new DxfParser();
	var file = fs.readFileSync(sourceFilePath, 'utf8');

	var dxf = parser.parseSync(file);

	approvals.verifyAsJSON(sourceDirectory, baseName, dxf);
}

Youez - 2016 - github.com/yon3zu
LinuXploit