1+ <?php
2+
3+ declare (strict_types=1 );
4+
5+ namespace Tkui \Tests \Widgets ;
6+
7+ use Tkui \Tests \TestCase ;
8+ use Tkui \Widgets \TreeView \Column ;
9+ use Tkui \Widgets \TreeView \Header ;
10+ use Tkui \Widgets \TreeView \Item ;
11+ use Tkui \Widgets \TreeView \TreeView ;
12+
13+ class TreeViewTest extends TestCase
14+ {
15+ /** @test */
16+ public function treeview_created (): void
17+ {
18+ $ this ->tclEvalTest (3 , [
19+ ['ttk::treeview ' , $ this ->checkWidget ('.tv ' ), '-columns ' , '{{c1} {c2}} ' , '-show ' , '{{headings}} ' ],
20+ [$ this ->checkWidget ('.tv ' ), 'heading ' , 'c1 ' , '-text ' , 'column1 ' ],
21+ [$ this ->checkWidget ('.tv ' ), 'heading ' , 'c2 ' , '-text ' , 'column2 ' ],
22+ ]);
23+
24+ new TreeView ($ this ->createWindowStub (), [
25+ new Column ('c1 ' , new Header ('column1 ' )),
26+ new Column ('c2 ' , new Header ('column2 ' )),
27+ ]);
28+ }
29+
30+ /** @test */
31+ public function treeview_can_add_item (): void
32+ {
33+ $ item = new Item ([1 ,2 ,3 ]);
34+
35+ $ this ->tclEvalTest (3 , [
36+ ['ttk::treeview ' , $ this ->checkWidget ('.tv ' )],
37+ [$ this ->checkWidget ('.tv ' ), 'heading ' ],
38+ [$ this ->checkWidget ('.tv ' ), 'insert ' , '{} ' , 'end ' , '-id ' , $ item ->id , '-values ' , '{{1} {2} {3}} ' ],
39+ ]);
40+
41+ $ tv = new TreeView ($ this ->createWindowStub (), [
42+ new Column ('c1 ' , new Header ('h1 ' )),
43+ ]);
44+ $ tv ->add ($ item );
45+ }
46+
47+ /** @test */
48+ public function treeview_item_can_be_deleted (): void
49+ {
50+ $ item = new Item ([1 ,2 ,3 ]);
51+
52+ $ this ->tclEvalTest (4 , [
53+ ['ttk::treeview ' , $ this ->checkWidget ('.tv ' )],
54+ [$ this ->checkWidget ('.tv ' ), 'heading ' ],
55+ [$ this ->checkWidget ('.tv ' ), 'insert ' , '{} ' , 'end ' , '-id ' , $ item ->id ],
56+ [$ this ->checkWidget ('.tv ' ), 'delete ' , $ item ->id ],
57+ ]);
58+
59+ $ tv = new TreeView ($ this ->createWindowStub (), [
60+ new Column ('c1 ' , new Header ('h1 ' )),
61+ ]);
62+ $ tv ->add ($ item );
63+ $ tv ->delete ($ item );
64+ }
65+ }
0 commit comments