fix some tests
This commit is contained in:
		
							parent
							
								
									250050e83b
								
							
						
					
					
						commit
						f35c056bde
					
				| @ -3,7 +3,7 @@ import commonjs from 'rollup-plugin-commonjs' | |||||||
| import multiEntry from 'rollup-plugin-multi-entry' | import multiEntry from 'rollup-plugin-multi-entry' | ||||||
| 
 | 
 | ||||||
| export default { | export default { | ||||||
|   input: 'test/y-text.tests.js', |   input: 'test/index.js', | ||||||
|   name: 'y-tests', |   name: 'y-tests', | ||||||
|   sourcemap: true, |   sourcemap: true, | ||||||
|   output: { |   output: { | ||||||
|  | |||||||
| @ -225,29 +225,31 @@ export default class YArray extends Type { | |||||||
|     }) |     }) | ||||||
|   } |   } | ||||||
|   insert (pos, content) { |   insert (pos, content) { | ||||||
|     let left = null |     this._transact(() => { | ||||||
|     let right = this._start |       let left = null | ||||||
|     let count = 0 |       let right = this._start | ||||||
|     const y = this._y |       let count = 0 | ||||||
|     while (right !== null) { |       const y = this._y | ||||||
|       const rightLen = right._deleted ? 0 : (right._length - 1) |       while (right !== null) { | ||||||
|       if (count <= pos && pos <= count + rightLen) { |         const rightLen = right._deleted ? 0 : (right._length - 1) | ||||||
|         const splitDiff = pos - count |         if (count <= pos && pos <= count + rightLen) { | ||||||
|         right = right._splitAt(y, splitDiff) |           const splitDiff = pos - count | ||||||
|         left = right._left |           right = right._splitAt(y, splitDiff) | ||||||
|         count += splitDiff |           left = right._left | ||||||
|         break |           count += splitDiff | ||||||
|  |           break | ||||||
|  |         } | ||||||
|  |         if (!right._deleted) { | ||||||
|  |           count += right._length | ||||||
|  |         } | ||||||
|  |         left = right | ||||||
|  |         right = right._right | ||||||
|       } |       } | ||||||
|       if (!right._deleted) { |       if (pos > count) { | ||||||
|         count += right._length |         throw new Error('Position exceeds array range!') | ||||||
|       } |       } | ||||||
|       left = right |       this.insertAfter(left, content) | ||||||
|       right = right._right |     }) | ||||||
|     } |  | ||||||
|     if (pos > count) { |  | ||||||
|       throw new Error('Position exceeds array range!') |  | ||||||
|     } |  | ||||||
|     this.insertAfter(left, content) |  | ||||||
|   } |   } | ||||||
|   push (content) { |   push (content) { | ||||||
|     let n = this._start |     let n = this._start | ||||||
|  | |||||||
| @ -1,5 +1,6 @@ | |||||||
| import './red-black-tree.js' | import './red-black-tree.js' | ||||||
| import './y-array.tests.js' | import './y-array.tests.js' | ||||||
|  | import './y-text.tests.js' | ||||||
| import './y-map.tests.js' | import './y-map.tests.js' | ||||||
| import './y-xml.tests.js' | import './y-xml.tests.js' | ||||||
| import './encode-decode.tests.js' | import './encode-decode.tests.js' | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user