summaryrefslogtreecommitdiffstats
path: root/deluge/tests/test_file_tree.py
diff options
context:
space:
mode:
Diffstat (limited to 'deluge/tests/test_file_tree.py')
-rw-r--r--deluge/tests/test_file_tree.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/deluge/tests/test_file_tree.py b/deluge/tests/test_file_tree.py
new file mode 100644
index 000000000..34c018e68
--- /dev/null
+++ b/deluge/tests/test_file_tree.py
@@ -0,0 +1,46 @@
+from twisted.trial import unittest
+from deluge.ui.common import ExtFileTree
+
+class ExtFileTreeTestCase(unittest.TestCase):
+
+ def test_simple_tree(self):
+ paths = [
+ "SomeRootFolder/file1",
+ "SomeRootFolder/file2",
+ "SomeRootFolder/subfolder1/subfile1",
+ "SomeRootFolder/subfolder1/subfile2"
+ ]
+ tree = ExtFileTree(paths)
+ self.assertEqual(tree.tree, {"children": [
+ {"text": "SomeRootFolder", "children": [
+ {"text": "file1"},
+ {"text": "file2"},
+ {"text": "subfolder1", "children": [
+ {"text": "subfile1"},
+ {"text": "subfile2"}
+ ]}
+ ]}
+ ], "text": ""})
+
+ def test_tree_walk(self):
+ paths = [
+ "SomeRootFolder/file1",
+ "SomeRootFolder/file2",
+ "SomeRootFolder/subfolder1/subfile1",
+ "SomeRootFolder/subfolder1/subfile2"
+ ]
+ tree = ExtFileTree(paths)
+ for path, obj in tree.walk():
+ if path == "SomeRootFolder/file1":
+ obj["size"] = 1024
+
+ self.assertEqual(tree.tree, {"children": [
+ {"text": "SomeRootFolder", "children": [
+ {"text": "file1", "size": 1024},
+ {"text": "file2"},
+ {"text": "subfolder1", "children": [
+ {"text": "subfile1"},
+ {"text": "subfile2"}
+ ]}
+ ]}
+ ], "text": ""})