File tree Expand file tree Collapse file tree 4 files changed +17
-12
lines changed Expand file tree Collapse file tree 4 files changed +17
-12
lines changed Original file line number Diff line number Diff line change @@ -555,9 +555,7 @@ use PhpSchool\CliMenu\Builder\CliMenuBuilder;
555
555
use PhpSchool\CliMenu\CliMenu;
556
556
557
557
$callable = function (CliMenu $menu) {
558
- $item = $menu->getSelectedItem();
559
- $item->toggle();
560
- $menu->redraw();
558
+ echo $menu->getSelectedItem()->getText();
561
559
};
562
560
563
561
$menu = (new CliMenuBuilder)
Original file line number Diff line number Diff line change 2
2
3
3
use PhpSchool \CliMenu \CliMenu ;
4
4
use PhpSchool \CliMenu \Builder \CliMenuBuilder ;
5
- use PhpSchool \CliMenu \MenuItem \CheckableItem ;
6
5
7
6
require_once (__DIR__ . '/../vendor/autoload.php ' );
8
7
9
8
$ itemCallable = function (CliMenu $ menu ) {
10
- /** @var CheckableItem $item */
11
- $ item = $ menu ->getSelectedItem ();
12
-
13
- $ item ->toggle ();
14
-
15
- $ menu ->redraw ();
9
+ echo $ menu ->getSelectedItem ()->getText ();
16
10
};
17
11
18
12
$ menu = (new CliMenuBuilder )
Original file line number Diff line number Diff line change 2
2
3
3
namespace PhpSchool \CliMenu \MenuItem ;
4
4
5
+ use PhpSchool \CliMenu \CliMenu ;
5
6
use PhpSchool \CliMenu \MenuStyle ;
6
7
use PhpSchool \CliMenu \Util \StringUtil ;
7
8
@@ -49,7 +50,12 @@ public function __construct(
49
50
*/
50
51
public function getSelectAction () : ?callable
51
52
{
52
- return $ this ->selectAction ;
53
+ return function (CliMenu $ cliMenu ) {
54
+ $ this ->toggle ();
55
+ $ cliMenu ->redraw ();
56
+
57
+ return ($ this ->selectAction )($ cliMenu );
58
+ };
53
59
}
54
60
55
61
/**
Original file line number Diff line number Diff line change 2
2
3
3
namespace PhpSchool \CliMenuTest \MenuItem ;
4
4
5
+ use PhpSchool \CliMenu \CliMenu ;
5
6
use PhpSchool \CliMenu \MenuItem \CheckableItem ;
6
7
use PhpSchool \CliMenu \MenuStyle ;
7
8
use PhpSchool \Terminal \Terminal ;
@@ -19,9 +20,15 @@ public function testCanSelectIsTrue() : void
19
20
public function testGetSelectAction () : void
20
21
{
21
22
$ callable = function () {
23
+ return 'callable is called ' ;
22
24
};
23
25
$ item = new CheckableItem ('Item ' , $ callable );
24
- $ this ->assertSame ($ callable , $ item ->getSelectAction ());
26
+
27
+ $ cliMenu = $ this ->getMockBuilder (CLiMenu::class)
28
+ ->disableOriginalConstructor ()
29
+ ->getMock ();
30
+
31
+ $ this ->assertSame ($ callable (), $ item ->getSelectAction ()($ cliMenu ));
25
32
}
26
33
27
34
public function testShowsItemExtra () : void
You can’t perform that action at this time.
0 commit comments