def test_delta_as_data(self): delta = Delta(ops=[ Insert('abc', None), Retain(1, {'color': 'red'}), Delete(4), Insert('def', {'bold': True}), Retain(6, None) ]) expected = [{ 'insert': 'abc' }, { 'retain': 1, 'attributes': { 'color': 'red' } }, { 'delete': 4 }, { 'insert': 'def', 'attributes': { 'bold': True } }, { 'retain': 6 }] self.assertListEqual(delta.as_data(), expected)
def test_delta_as_string(self): delta = Delta(ops=[ Insert('abc', None), Retain(1, {'color': 'red'}), Delete(3), ]) assert str(delta) == ('[{"insert": "abc"}, ' '{"retain": 1, "attributes": {"color": "red"}}, ' '{"delete": 3}]')
def test_sum_operation(self): op = Delete(1) + Delete(2) assert op == Delete(3) op = reduce(lambda o, other: o + other, [Delete(1), Delete(2), Delete(3)]) assert op == Delete(6) with pytest.raises(ValueError) as err: Delete(1) + Insert('foo', None) assert err.match('Operations are not the same type')
def test_delete_as_data(self): assert Delete(1).as_data() == {'delete': 1} assert Delete(2).as_data() == {'delete': 2}
def test_delete_from_dict(self): assert load_operation({'delete': 1}) == Delete(1)
def test_delete_str_json(self): assert str(Delete(1)) == '{"delete": 1}'
def test_as_json(self): op = Delete(1) assert op.as_json() == '{"delete": 1}'
def test_as_data(self): op = Delete(1) assert op.as_data() == {'delete': 1}
def test_parse(self): op = Delete.fromdict({'delete': 1}) assert isinstance(op, Delete) assert op.value == 1 assert op.length == 1
def test_retain_constructor(self): op = Delete(1) assert op.value == 1 assert op.length == 1