12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- var run = require('./run.js');
- var repo = {};
- require('../mixins/mem-db.js')(repo);
- var pack = require('./sample-pack.js');
- var hashes;
- run([
- function setup() {
- require('../mixins/pack-ops.js')(repo);
- },
- function testUnpack(end) {
- repo.unpack(singleStream(pack), {
- onProgress: onProgress
- }, function (err, result) {
- if (err) return end(err);
- hashes = result;
- if (hashes.length !== 16) {
- return end(new Error("Wrong number of objects unpacked"));
- }
- end();
- });
- function onProgress(progress) {
- // console.log(progress);
- }
- },
- function testPack(end) {
- var stream;
- var parts = [];
- repo.pack(hashes, {}, function (err, result) {
- if (err) return end(err);
- stream = result;
- stream.take(onRead);
- });
- function onRead(err, chunk) {
- if (err) return end(err);
- // console.log(chunk);
- if (chunk) {
- parts.push(chunk);
- return stream.take(onRead);
- }
- end();
- }
- }
- ]);
- function singleStream(item) {
- var done = false;
- return { take: function (callback) {
- if (done) return callback();
- done = true;
- callback(null, item);
- }};
- }
|