UNPKG

@nraynaud/xo-vmdk-to-vhd

Version:
65 lines (47 loc) 2.07 kB
'use strict'; var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); var _chai = require('chai'); var _fsPromise = require('fs-promise'); var _mocha = require('mocha'); var _childProcessPromise = require('child-process-promise'); var _virtualBuffer = require('./virtual-buffer'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } (0, _mocha.describe)('Virtual Buffer', function () { var _this = this; (0, _mocha.it)('can read a file correctly', (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() { var rawFileName, buffer, part1, part2, original; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: rawFileName = 'random-data'; _context.next = 3; return (0, _childProcessPromise.exec)('base64 /dev/urandom | head -c 104448 > ' + rawFileName); case 3: buffer = new _virtualBuffer.VirtualBuffer((0, _fsPromise.createReadStream)(rawFileName)); _context.next = 6; return buffer.readChunk(10); case 6: part1 = _context.sent; _context.next = 9; return buffer.readChunk(-1); case 9: part2 = _context.sent; _context.next = 12; return (0, _fsPromise.readFile)(rawFileName); case 12: original = _context.sent; (0, _chai.assert)(buffer.isDepleted, 'virtual buffer is depleted'); _chai.assert.equal(Buffer.concat([part1, part2]).toString('ascii'), original.toString('ascii')); case 15: case 'end': return _context.stop(); } } }, _callee, _this); }))); }); //# sourceMappingURL=virtual-buffer.spec.js.map