Example #1
0
 it('adds some files to repo', () => {
     fse.outputFileSync('a.txt', 'a test file\nnew line in a.txt\n\n');
     fse.outputFileSync('b.txt', '\nb test file\nnew line in b.txt\n\nYep');
     aHash = createHash('sha256').update(fs.readFileSync('a.txt')).digest('hex');
     aTime = fs.statSync('a.txt').mtime.getTime();
     bHash = createHash('sha256').update(fs.readFileSync('b.txt')).digest('hex');
     bTime = fs.statSync('b.txt').mtime.getTime();
     let res = Client.status(repo);
     assert.deepEqual(res.added.sort(), ['a.txt', 'b.txt']);
     assert.deepEqual(res.addedStaged, []);
     assert.deepEqual(res.modified, []);
     assert.deepEqual(res.modifiedStaged, []);
     assert.deepEqual(res.removed, []);
     assert.deepEqual(res.removedStaged, []);
     assert.deepEqual(res.allAdded.sort(), ['a.txt', 'b.txt']);
     assert.deepEqual(res.allModified, []);
     assert.deepEqual(res.allRemoved, []);
     assert.deepEqual(res.allNewChanges.sort(), ['a.txt', 'b.txt']);
     assert.deepEqual(res.allStagedChanges, []);
     assert.deepEqual(res.allChanges.sort(), ['a.txt', 'b.txt']);
 });
Example #2
0
 it(".resolveObjectByContents", () => {
     var fs = FS.fs();
     var bf1 = new Buffer("Hello");
     var firstFileObject = fs.create(bf1);
     var firstHash = createHash('sha256').update(bf1).digest('hex');
     nfs.writeFile(path.join('.jerk', 'objects', firstHash), bf1);
     assert.deepEqual(fs.resolveObjectByContents(bf1), firstFileObject);
     /*var bf2 = new Buffer("World");
     var secondFileObject = fs.create(bf2);
     var secondHash = createHash('sha256').update(bf2).digest('hex');
     nfs.writeFile(path.join('.jerk', secondHash, bf2, 0o644);
     assert.deepEqual(nfs.readFile(path.join('.jerk', secondHash, 'utf8'), fs.resolveObjectByContents(bf2));*/
 });
Example #3
0
 it(".symlink", () => {
     var fs = FS.fs();
     var path1 = "Hello";
     var firstSymlinkObject = fs.symlink(path1);
     var firstHash = createHash('sha256').update(path1).digest('hex');
     nfs.writeFile(path.join('.jerk', 'objects', firstHash + '.symlink'), path1);
     assert.deepEqual(nfs.readFile(path.join('.jerk', 'objects', firstHash), 'utf8'), path1);
     /*var path2 = new String("World");
     var secondFileSymlink = fs.symlink(path2);
     var secondHash = createHash('sha256').update(bf2).digest('hex');
     nfs.writeFile(path.join('.jerk', secondHash, path2, 0o644);
     assert.deepEqual(nfs.readFile(path.join('.jerk', secondHash, 'utf8'), secondSymlinkObject);*/
 });
Example #4
0
 it('make fourth commit', () => {
     let message = 'Fourth commit';
     let c = repo.createCommit(masterCommit, message, authorName, authorEMail);
     let time = new Date().getTime();
     let cc = repo.head.commit;
     assert.deepEqual(c, cc);
     var hash: string = createHash('sha256').update(message, 'utf8').digest('hex');
     assert.equal(c.id, hash);
     assert.equal(c.message, message);
     assert.equal(c.authorName, authorName);
     assert.equal(c.authorEMail, authorEMail);
     assert.deepEqual(c.changed, ['d.txt']);
     assert.equal(c.mergeOf, null);
     assert.equal(c.parentId, masterCommit.id);
     assert.deepEqual(c.parent, masterCommit);
     assert.ok(c.time <= time, 'time mismatch');
     assert.equal(repo.head.head, hash);
     assert.deepEqual(repo.head.commit, c);
 });
Example #5
0
 it('make initial commit', () => {
     let message = 'Initial commit';
     let c = repo.createCommit(null, message, authorName, authorEMail);
     let time = new Date().getTime();
     let cc = repo.head.commit;
     assert.deepEqual(c, cc);
     var hash: string = createHash('sha256').update(message, 'utf8').digest('hex');
     assert.equal(c.id, hash);
     assert.equal(c.message, message);
     assert.equal(c.authorName, authorName);
     assert.equal(c.authorEMail, authorEMail);
     assert.deepEqual(c.changed, ['a.txt']);
     assert.deepEqual(c.contents, [new Common.TreeFile('a.txt', aTime, aHash)]);
     assert.equal(c.mergeOf, null);
     assert.equal(c.parentId, null);
     assert.equal(c.parent, null);
     assert.ok(c.time <= time, 'time mismatch');
     assert.equal(repo.head.head, hash);
     assert.deepEqual(repo.head.commit, c);
 });
Example #6
0
 it(".hash", () => {
     var bf1 = new Buffer("Hello");
     var fileObject = fs.create(bf1);
     var hash = createHash('sha256').update(bf1).digest('hex');
     assert.deepEqual(hash, fileObject.hash());
 });
Example #7
0
 it(".symlinkPath", () => {
     var path1 = "Hello";
     var symlinkObject = fs.symlink(path1);
     var hash = createHash('sha256').update(path1, 'utf8').digest('hex');
     assert.deepEqual(path1, symlinkObject.symlinkPath());
 });
Example #8
0
 it(".resolveObjectByContents", () => {
     var bf1 = new Buffer("Hello");
     var firstFileObject = fs.create(bf1);
     var firstHash = createHash('sha256').update(bf1).digest('hex');
     assert.deepEqual(fs.resolveObjectByContents(bf1), firstFileObject);
 });
Example #9
0
 it(".fullPath", () => {
     var bf1 = new Buffer("Hello");
     var fileObject = fs.create(bf1);
     var hash = createHash('sha256').update(bf1).digest('hex');
     assert.deepEqual(path.join(objdir, hash), fileObject.fullPath());
 });