UNPKG

brush_cli

Version:

A tool for creating and developing cmos PC Framework project.

118 lines (97 loc) 3.76 kB
/*global before,describe,it */ var fs = require('fs'); var assert = require('chai').assert; var helpers = require('./helpers'); var headers = require('../lib/headers'); var testDate = new Date('Jan 03 2013 14:26:38 GMT'); var testDateEpoch = 1357223198; describe('headers', function() { describe('zip', function() { var fileFixture = fs.readFileSync('test/fixtures/headers/zip-file.bin'); var fileDescriptorFixture = fs.readFileSync('test/fixtures/headers/zip-filedescriptor.bin'); var centralDirectoryFixture = fs.readFileSync('test/fixtures/headers/zip-centralheader.bin'); var centralFooterFixture = fs.readFileSync('test/fixtures/headers/zip-centralfooter.bin'); describe('#encode(type, object)', function() { describe('type->file', function() { var actual = headers.encode('file', { name: 'test.txt', filenameLength: 8, date: testDate, comment: '', store: true, lastModifiedDate: 1109619539, versionMadeBy: 20, versionNeededToExtract: 20, flags: 2056, compressionMethod: 0, uncompressedSize: 0, compressedSize: 0, offset: 0 }); it('should return an instance of Buffer', function() { assert.instanceOf(actual, Buffer); }); it('should match provided fixture', function() { // fs.writeFileSync('test/fixtures/headers/zip-file.bin', actual); assert.deepEqual(actual, fileFixture); }); }); describe('type->fileDescriptor', function() { var actual = headers.encode('fileDescriptor', { crc32: 585446183, uncompressedSize: 19, compressedSize: 19, }); it('should return an instance of Buffer', function() { assert.instanceOf(actual, Buffer); }); it('should match provided fixture', function() { // fs.writeFileSync('test/fixtures/headers/zip-filedescriptor.bin', actual); assert.deepEqual(actual, fileDescriptorFixture); }); }); describe('type->centralDirectory', function() { var actual = headers.encode('centralDirectory', { name: 'test.txt', filenameLength: 8, date: testDate, store: true, comment: '', mode: 0644, lastModifiedDate: 1109619539, versionMadeBy: 20, versionNeededToExtract: 20, flags: 2056, compressionMethod: 0, uncompressedSize: 19, compressedSize: 19, offset: 0, crc32: 585446183 }); it('should return an instance of Buffer', function() { assert.instanceOf(actual, Buffer); }); it('should match provided fixture', function() { // fs.writeFileSync('test/fixtures/headers/zip-centralheader.bin', actual); assert.deepEqual(actual, centralDirectoryFixture); }); }); describe('type->centralFooter', function() { var actual = headers.encode('centralFooter', { directoryRecordsDisk: 1, directoryRecords: 1, centralDirectorySize: 56, centralDirectoryOffset: 73, comment: '' }); it('should return an instance of Buffer', function() { assert.instanceOf(actual, Buffer); }); it('should match provided fixture', function() { // fs.writeFileSync('test/fixtures/headers/zip-centralfooter.bin', actual); assert.deepEqual(actual, centralFooterFixture); }); }); }); }); });