Implemented enable/disable for keyboard support
This commit is contained in:
@@ -145,7 +145,7 @@ class TestTreeviewBehaviour:
|
||||
node = TreeNode(label="Node", type="folder")
|
||||
tree_view.add_node(node)
|
||||
|
||||
tree_view._select_node(node.id)
|
||||
tree_view.handle_select_node(node.id)
|
||||
|
||||
assert tree_view._state.selected == node.id
|
||||
|
||||
@@ -155,7 +155,7 @@ class TestTreeviewBehaviour:
|
||||
node = TreeNode(label="Old Name", type="folder")
|
||||
tree_view.add_node(node)
|
||||
|
||||
tree_view._start_rename(node.id)
|
||||
tree_view.handle_start_rename(node.id)
|
||||
|
||||
assert tree_view._state.editing == node.id
|
||||
|
||||
@@ -164,9 +164,9 @@ class TestTreeviewBehaviour:
|
||||
tree_view = TreeView(root_instance)
|
||||
node = TreeNode(label="Old Name", type="folder")
|
||||
tree_view.add_node(node)
|
||||
tree_view._start_rename(node.id)
|
||||
tree_view.handle_start_rename(node.id)
|
||||
|
||||
tree_view._save_rename(node.id, "New Name")
|
||||
tree_view.handle_save_rename(node.id, "New Name")
|
||||
|
||||
assert tree_view._state.items[node.id].label == "New Name"
|
||||
assert tree_view._state.editing is None
|
||||
@@ -176,9 +176,9 @@ class TestTreeviewBehaviour:
|
||||
tree_view = TreeView(root_instance)
|
||||
node = TreeNode(label="Name", type="folder")
|
||||
tree_view.add_node(node)
|
||||
tree_view._start_rename(node.id)
|
||||
tree_view.handle_start_rename(node.id)
|
||||
|
||||
tree_view._cancel_rename()
|
||||
tree_view.handle_cancel_rename()
|
||||
|
||||
assert tree_view._state.editing is None
|
||||
assert tree_view._state.items[node.id].label == "Name"
|
||||
@@ -193,7 +193,7 @@ class TestTreeviewBehaviour:
|
||||
tree_view.add_node(child, parent_id=parent.id)
|
||||
|
||||
# Delete child (leaf node)
|
||||
tree_view._delete_node(child.id)
|
||||
tree_view.handle_delete_node(child.id)
|
||||
|
||||
assert child.id not in tree_view._state.items
|
||||
assert child.id not in parent.children
|
||||
@@ -225,7 +225,7 @@ class TestTreeviewBehaviour:
|
||||
|
||||
# Try to delete parent (has children)
|
||||
with pytest.raises(ValueError, match="Cannot delete node.*with children"):
|
||||
tree_view._delete_node(parent.id)
|
||||
tree_view.handle_delete_node(parent.id)
|
||||
|
||||
def test_i_cannot_add_sibling_to_root(self, root_instance):
|
||||
"""Test that adding sibling to root node raises an error."""
|
||||
@@ -243,7 +243,7 @@ class TestTreeviewBehaviour:
|
||||
|
||||
# Try to select node that doesn't exist
|
||||
with pytest.raises(ValueError, match="Node.*does not exist"):
|
||||
tree_view._select_node("nonexistent_id")
|
||||
tree_view.handle_select_node("nonexistent_id")
|
||||
|
||||
def test_add_node_prevents_duplicate_children(self, root_instance):
|
||||
"""Test that add_node prevents adding duplicate child IDs."""
|
||||
@@ -317,11 +317,11 @@ class TestTreeviewBehaviour:
|
||||
tree_view.add_node(child, parent_id=parent.id)
|
||||
|
||||
# Select the child
|
||||
tree_view._select_node(child.id)
|
||||
tree_view.handle_select_node(child.id)
|
||||
assert tree_view._state.selected == child.id
|
||||
|
||||
# Delete the selected child
|
||||
tree_view._delete_node(child.id)
|
||||
tree_view.handle_delete_node(child.id)
|
||||
|
||||
# Selection should be cleared
|
||||
assert tree_view._state.selected is None
|
||||
@@ -340,7 +340,7 @@ class TestTreeviewBehaviour:
|
||||
assert parent.id in tree_view._state.opened
|
||||
|
||||
# Delete the child (making parent a leaf)
|
||||
tree_view._delete_node(child.id)
|
||||
tree_view.handle_delete_node(child.id)
|
||||
|
||||
# Now delete the parent (now a leaf node)
|
||||
# First remove it from root by creating a grandparent
|
||||
@@ -349,7 +349,7 @@ class TestTreeviewBehaviour:
|
||||
parent.parent = grandparent.id
|
||||
grandparent.children.append(parent.id)
|
||||
|
||||
tree_view._delete_node(parent.id)
|
||||
tree_view.handle_delete_node(parent.id)
|
||||
|
||||
# Parent should be removed from opened list
|
||||
assert parent.id not in tree_view._state.opened
|
||||
@@ -360,7 +360,7 @@ class TestTreeviewBehaviour:
|
||||
|
||||
# Try to start rename on node that doesn't exist
|
||||
with pytest.raises(ValueError, match="Node.*does not exist"):
|
||||
tree_view._start_rename("nonexistent_id")
|
||||
tree_view.handle_start_rename("nonexistent_id")
|
||||
|
||||
def test_i_cannot_save_rename_nonexistent_node(self, root_instance):
|
||||
"""Test that saving rename for nonexistent node raises error."""
|
||||
@@ -368,7 +368,7 @@ class TestTreeviewBehaviour:
|
||||
|
||||
# Try to save rename for node that doesn't exist
|
||||
with pytest.raises(ValueError, match="Node.*does not exist"):
|
||||
tree_view._save_rename("nonexistent_id", "New Name")
|
||||
tree_view.handle_save_rename("nonexistent_id", "New Name")
|
||||
|
||||
def test_i_cannot_add_sibling_to_nonexistent_node(self, root_instance):
|
||||
"""Test that adding sibling to nonexistent node raises error."""
|
||||
@@ -597,11 +597,11 @@ class TestTreeviewBehaviour:
|
||||
tree_view.add_node(node2)
|
||||
|
||||
# Start editing node1
|
||||
tree_view._start_rename(node1.id)
|
||||
tree_view.handle_start_rename(node1.id)
|
||||
assert tree_view._state.editing == node1.id
|
||||
|
||||
# Select node2
|
||||
tree_view._select_node(node2.id)
|
||||
tree_view.handle_select_node(node2.id)
|
||||
|
||||
# Edit mode should be cancelled
|
||||
assert tree_view._state.editing is None
|
||||
@@ -615,11 +615,11 @@ class TestTreeviewBehaviour:
|
||||
tree_view.add_node(node)
|
||||
|
||||
# Start editing the node
|
||||
tree_view._start_rename(node.id)
|
||||
tree_view.handle_start_rename(node.id)
|
||||
assert tree_view._state.editing == node.id
|
||||
|
||||
# Select the same node
|
||||
tree_view._select_node(node.id)
|
||||
tree_view.handle_select_node(node.id)
|
||||
|
||||
# Edit mode should be cancelled
|
||||
assert tree_view._state.editing is None
|
||||
@@ -784,7 +784,7 @@ class TestTreeViewRender:
|
||||
"""
|
||||
node = TreeNode(label="Selected Node", type="file")
|
||||
tree_view.add_node(node)
|
||||
tree_view._select_node(node.id)
|
||||
tree_view.handle_select_node(node.id)
|
||||
|
||||
rendered = tree_view.render()
|
||||
selected_container = find_one(rendered, Div(data_node_id=node.id))
|
||||
@@ -814,7 +814,7 @@ class TestTreeViewRender:
|
||||
"""
|
||||
node = TreeNode(label="Edit Me", type="file")
|
||||
tree_view.add_node(node)
|
||||
tree_view._start_rename(node.id)
|
||||
tree_view.handle_start_rename(node.id)
|
||||
|
||||
rendered = tree_view.render()
|
||||
editing_container = find_one(rendered, Div(data_node_id=node.id))
|
||||
@@ -1009,7 +1009,7 @@ class TestTreeViewRender:
|
||||
"""
|
||||
node = TreeNode(label="Edit Me", type="file")
|
||||
tree_view.add_node(node)
|
||||
tree_view._start_rename(node.id)
|
||||
tree_view.handle_start_rename(node.id)
|
||||
|
||||
# Step 1: Extract the input element
|
||||
rendered = tree_view.render()
|
||||
|
||||
Reference in New Issue
Block a user