Support extension data
This commit is contained in:
@@ -203,6 +203,81 @@ class TestApi:
|
||||
self.leave(p)
|
||||
|
||||
|
||||
# extension_data
|
||||
|
||||
|
||||
def test_extension_data(self):
|
||||
p = 'test_extension_data'
|
||||
self.enter(p)
|
||||
|
||||
assert get_all_extension_data_keys(p) == []
|
||||
assert get_all_extension_data(p) == {}
|
||||
assert get_extension_data(p, '') == None
|
||||
|
||||
set_extension_data(p, ChangeSet({'key': 'key', 'value': None}))
|
||||
assert get_extension_data(p, 'key') == None
|
||||
|
||||
set_extension_data(p, ChangeSet({'key': 'key', 'value': ''}))
|
||||
assert get_extension_data(p, 'key') == ''
|
||||
|
||||
set_extension_data(p, ChangeSet({'key': 'key', 'value': 'value'}))
|
||||
assert get_extension_data(p, 'key') == 'value'
|
||||
|
||||
set_extension_data(p, ChangeSet({'key': 'key', 'value': 'val'}))
|
||||
assert get_extension_data(p, 'key') == 'val'
|
||||
|
||||
set_extension_data(p, ChangeSet({'key': 'key1', 'value': 'val1'}))
|
||||
assert get_extension_data(p, 'key1') == 'val1'
|
||||
|
||||
assert get_all_extension_data_keys(p) == ['key', 'key1']
|
||||
assert get_all_extension_data(p) == {'key': 'val', 'key1': 'val1'}
|
||||
|
||||
self.leave(p)
|
||||
|
||||
|
||||
def test_extension_data_op(self):
|
||||
p = 'test_extension_data_op'
|
||||
self.enter(p)
|
||||
|
||||
cs = set_extension_data(p, ChangeSet({'key': 'key', 'value': ''})).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'extension_data'
|
||||
assert cs['key'] == 'key'
|
||||
assert cs['value'] == ''
|
||||
|
||||
cs = execute_undo(p).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'extension_data'
|
||||
assert cs['key'] == 'key'
|
||||
assert cs['value'] == None
|
||||
|
||||
cs = execute_redo(p).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'extension_data'
|
||||
assert cs['key'] == 'key'
|
||||
assert cs['value'] == ''
|
||||
|
||||
cs = set_extension_data(p, ChangeSet({'key': 'key', 'value': 'value'})).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'extension_data'
|
||||
assert cs['key'] == 'key'
|
||||
assert cs['value'] == 'value'
|
||||
|
||||
cs = execute_undo(p).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'extension_data'
|
||||
assert cs['key'] == 'key'
|
||||
assert cs['value'] == ''
|
||||
|
||||
cs = execute_redo(p).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'extension_data'
|
||||
assert cs['key'] == 'key'
|
||||
assert cs['value'] == 'value'
|
||||
|
||||
self.leave(p)
|
||||
|
||||
|
||||
# complex test
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user