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']); });
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));*/ });
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);*/ });
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); });
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); });
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()); });
it(".symlinkPath", () => { var path1 = "Hello"; var symlinkObject = fs.symlink(path1); var hash = createHash('sha256').update(path1, 'utf8').digest('hex'); assert.deepEqual(path1, symlinkObject.symlinkPath()); });
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); });
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()); });