event fixes
This commit is contained in:
@@ -35,7 +35,7 @@ class HookedMapping(HookedContainer[T], MutableMapping[T, MutableNesting[T]]):
|
||||
def insert(self, key: T, value: MutableNesting[T]) -> None:
|
||||
self._data[key] = value
|
||||
if self.hook:
|
||||
self.hook(e.AddItemEvent(value, path=self.new_path(key)))
|
||||
self.hook(e.AddItemEvent(self.new_path(key), value))
|
||||
|
||||
# HookedContainer methods
|
||||
|
||||
@@ -58,10 +58,10 @@ class HookedMapping(HookedContainer[T], MutableMapping[T, MutableNesting[T]]):
|
||||
else:
|
||||
self._data[key] = value
|
||||
if self.hook:
|
||||
self.hook(e.SetItemEvent(value, path=self.new_path(key)))
|
||||
self.hook(e.SetItemEvent(self.new_path(key), value))
|
||||
|
||||
def __delitem__(self, key: T) -> None:
|
||||
item = self._data[key]
|
||||
del self._data[key]
|
||||
if self.hook:
|
||||
self.hook(e.RemoveItemEvent(item, path=self.new_path(key)))
|
||||
self.hook(e.RemoveItemEvent(self.new_path(key), item))
|
||||
|
||||
@@ -24,9 +24,18 @@ class TestHookedMapping:
|
||||
|
||||
class TestMappingOps:
|
||||
def test_setitem(self):
|
||||
m = HookedMapping({})
|
||||
added = []
|
||||
m = HookedMapping({}, lambda e: added.append(e.item))
|
||||
m["a"] = 1
|
||||
assert m._data == {"a": 1}
|
||||
assert added == [1]
|
||||
|
||||
def test_nested_setitem(self):
|
||||
added = []
|
||||
m = HookedMapping({"a": {}}, lambda e: added.append(e.item))
|
||||
m["a"]["x"] = 1
|
||||
assert m._data == {"a": {"x": 1}}
|
||||
assert added == [1]
|
||||
|
||||
def test_getitem(self):
|
||||
m = HookedMapping({"a": 1})
|
||||
|
||||
Reference in New Issue
Block a user