fixed 10 tests

This commit is contained in:
Kevin Jahns
2019-04-06 13:00:32 +02:00
parent 61d9d96d15
commit 1b17b5e400
12 changed files with 133 additions and 120 deletions

View File

@@ -12,8 +12,9 @@ import {
getItemType,
changeItemRefOffset,
GC,
splitItem,
compareIDs,
Transaction, ID, AbstractType // eslint-disable-line
StructStore, Transaction, ID, AbstractType // eslint-disable-line
} from '../internals.js'
import * as encoding from 'lib0/encoding.js'
@@ -52,13 +53,27 @@ export class ItemDeleted extends AbstractItem {
copy (id, left, origin, right, rightOrigin, parent, parentSub) {
return new ItemDeleted(id, left, origin, right, rightOrigin, parent, parentSub, this.length)
}
/**
* @param {StructStore} store
* @param {number} diff
*/
splitAt (store, diff) {
/**
* @type {ItemDeleted}
*/
// @ts-ignore
const right = splitItem(store, this, diff)
right._len -= diff
this._len = diff
return right
}
/**
* @param {ItemDeleted} right
* @return {boolean}
*/
mergeWith (right) {
if (compareIDs(right.origin, this.lastId) && this.right === right) {
this._len += right.length
if (compareIDs(right.origin, this.lastId) && this.right === right && compareIDs(this.rightOrigin, right.rightOrigin)) {
this._len += right._len
return true
}
return false