summaryrefslogtreecommitdiffstats
path: root/deluge/tests/test_file_tree.py
blob: 34c018e68b474a79991f3adf3833f63cf0c3e2a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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": ""})