API/api.medcify.app/node_modules/js-git/test/test-pack-ops.js

55 lines
1.2 KiB
JavaScript
Raw Normal View History

2022-09-26 06:11:44 +00:00
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);
}};
}