mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-29 05:03:33 -05:00
7e8e2b0585
* add RestoreFileOrigin in overleaf-editor-core * support source to be an object * use sourceOrOrigin as param * rename to originOrSource so the priority is more clear * get timestamp from version * fix test * include version and min_count in getUpdatesFromHistory * extractOriginOrSource util function * fix RestoreManagerTests GitOrigin-RevId: 0ace05a6ade2794c753a9d0bffb4f858ecc6899a
62 lines
1.8 KiB
JavaScript
62 lines
1.8 KiB
JavaScript
'use strict'
|
|
|
|
const { expect } = require('chai')
|
|
const core = require('..')
|
|
const Change = core.Change
|
|
const File = core.File
|
|
const Operation = core.Operation
|
|
|
|
describe('Change', function () {
|
|
describe('findBlobHashes', function () {
|
|
it('finds blob hashes from operations', function () {
|
|
const blobHashes = new Set()
|
|
|
|
const change = Change.fromRaw({
|
|
operations: [],
|
|
timestamp: '2015-03-05T12:03:53.035Z',
|
|
authors: [null],
|
|
})
|
|
|
|
change.findBlobHashes(blobHashes)
|
|
expect(blobHashes.size).to.equal(0)
|
|
|
|
// AddFile with content doesn't have a hash.
|
|
change.pushOperation(Operation.addFile('a.txt', File.fromString('a')))
|
|
change.findBlobHashes(blobHashes)
|
|
expect(blobHashes.size).to.equal(0)
|
|
|
|
// AddFile with hash should give us a hash.
|
|
change.pushOperation(
|
|
Operation.addFile('b.txt', File.fromHash(File.EMPTY_FILE_HASH))
|
|
)
|
|
change.findBlobHashes(blobHashes)
|
|
expect(blobHashes.size).to.equal(1)
|
|
expect(blobHashes.has(File.EMPTY_FILE_HASH)).to.be.true
|
|
})
|
|
})
|
|
|
|
describe('RestoreFileOrigin', function () {
|
|
it('should convert to and from raw', function () {
|
|
const origin = new core.RestoreFileOrigin(1, 'path', new Date())
|
|
const raw = origin.toRaw()
|
|
const newOrigin = core.Origin.fromRaw(raw)
|
|
expect(newOrigin).to.eql(origin)
|
|
})
|
|
|
|
it('change should have a correct origin class', function () {
|
|
const change = Change.fromRaw({
|
|
operations: [],
|
|
timestamp: '2015-03-05T12:03:53.035Z',
|
|
authors: [null],
|
|
origin: {
|
|
kind: 'file-restore',
|
|
version: 1,
|
|
path: 'path',
|
|
timestamp: '2015-03-05T12:03:53.035Z',
|
|
},
|
|
})
|
|
|
|
expect(change.getOrigin()).to.be.an.instanceof(core.RestoreFileOrigin)
|
|
})
|
|
})
|
|
})
|