Skip to content

Commit ecd25d7

Browse files
committed
treeview test cases
1 parent 0d3d356 commit ecd25d7

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed

tests/Widgets/TreeViewTest.php

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
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

Comments
 (0)