New code for applying edits to an EDL.
This commit is contained in:
parent
5eb927565d
commit
66ea0d1826
3 changed files with 161 additions and 0 deletions
54
tests/test_edit.py
Normal file
54
tests/test_edit.py
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
from sourcing.span import Span
|
||||
from sourcing.edit import apply_edits
|
||||
import pytest
|
||||
|
||||
def test_xanadoc_apply_delete_start():
|
||||
spans = [Span('http://test/test', 0, 11)]
|
||||
|
||||
edits = [{'op': 'delete', 'start': 0, 'old': 'aaa'}]
|
||||
spans = apply_edits(spans, edits)
|
||||
assert spans == [Span('http://test/test', 3, 8)]
|
||||
|
||||
def test_xanadoc_apply_delete_start_offset():
|
||||
offset = 14
|
||||
spans = [Span('http://test/test', offset, 11)]
|
||||
|
||||
edits = [{'op': 'delete', 'start': 0, 'old': 'aaa'}]
|
||||
spans = apply_edits(spans, edits)
|
||||
assert spans == [Span('http://test/test', offset + 3, 8)]
|
||||
|
||||
def test_xanadoc_apply_delete_middle():
|
||||
spans = [Span('http://test/test', 0, 11)]
|
||||
|
||||
edits = [{'op': 'delete', 'start': 4, 'old': 'bbb'}]
|
||||
spans = apply_edits(spans, edits)
|
||||
assert spans == [Span('http://test/test', 0, 4),
|
||||
Span('http://test/test', 7, 4)]
|
||||
|
||||
def test_xanadoc_apply_delete_end():
|
||||
spans = [Span('http://test/test', 0, 11)]
|
||||
|
||||
edits = [{'op': 'delete', 'start': 8, 'old': 'ccc'}]
|
||||
spans = apply_edits(spans, edits)
|
||||
assert spans == [Span('http://test/test', 0, 8)]
|
||||
|
||||
def test_xanadoc_apply_delete_all():
|
||||
spans = [Span('http://test/test', 0, 3)]
|
||||
|
||||
edits = [{'op': 'delete', 'start': 0, 'old': 'aaa'}]
|
||||
spans = apply_edits(spans, edits)
|
||||
assert spans == []
|
||||
|
||||
def test_xanadoc_apply_insert_start():
|
||||
existing_span = Span('http://test/test', 0, 8)
|
||||
new_span = Span('http://test/new_span', 10, 4)
|
||||
edits = [{'op': 'insert', 'start': 0, 'span': new_span}]
|
||||
spans = apply_edits([existing_span], edits)
|
||||
assert spans == [new_span, existing_span]
|
||||
|
||||
def test_xanadoc_apply_insert_end():
|
||||
existing_span = Span('http://test/test', 0, 8)
|
||||
new_span = Span('http://test/new_span', 10, 4)
|
||||
edits = [{'op': 'insert', 'start': 8, 'span': new_span}]
|
||||
spans = apply_edits([existing_span], edits)
|
||||
assert spans == [existing_span, new_span]
|
||||
Loading…
Add table
Add a link
Reference in a new issue