@@ -5,7 +5,7 @@ namespace Terminal.Gui.ViewTests;
5
5
public class ViewCommandTests
6
6
{
7
7
[ Fact ]
8
- public void Command_Accept_Handled_Stops_Propagation_To_IsDefault_Button_Peer ( )
8
+ public void Command_Accept_Handled_Stops_Propagation_To_IsDefaultAcceptView_Button_Peer ( )
9
9
{
10
10
var acceptOk = 0 ;
11
11
var acceptCancel = 0 ;
@@ -28,7 +28,7 @@ public void Command_Accept_Handled_Stops_Propagation_To_IsDefault_Button_Peer ()
28
28
}
29
29
30
30
[ Fact ]
31
- public void Command_Accept_Not_Handled_Propagates_To_IsDefault_Button_Peer ( )
31
+ public void Command_Accept_Not_Handled_Propagates_To_IsDefaultAcceptView_Button_Peer ( )
32
32
{
33
33
var acceptOk = 0 ;
34
34
var acceptCancel = 0 ;
@@ -48,9 +48,76 @@ public void Command_Accept_Not_Handled_Propagates_To_IsDefault_Button_Peer ()
48
48
Assert . Equal ( 1 , acceptCancel ) ;
49
49
}
50
50
51
+ [ Fact ]
52
+ public void Command_Accept_Handled_Stops_Propagation_To_Not_IsDefaultAcceptView_Button_Peer ( )
53
+ {
54
+ var acceptOk = 0 ;
55
+ var acceptCancel = 0 ;
56
+ Button btnOk = new ( ) { Id = "btnOk" , Text = "Ok" , IsDefaultAcceptView = false } ;
57
+ btnOk . Accepting += ( s , e ) => acceptOk ++ ;
58
+ Button btnCancel = new ( ) { Id = "btnCancel" , Text = "Cancel" , IsDefaultAcceptView = false } ;
59
+
60
+ btnCancel . Accepting += ( s , e ) =>
61
+ {
62
+ acceptCancel ++ ;
63
+ e . Handled = true ;
64
+ } ;
65
+
66
+ View superView = new View ( ) { Id = "superView" } ;
67
+ superView . Add ( btnOk , btnCancel ) ;
68
+
69
+ btnCancel . InvokeCommand ( Command . Accept ) ;
70
+ Assert . Equal ( 0 , acceptOk ) ;
71
+ Assert . Equal ( 1 , acceptCancel ) ;
72
+ }
73
+
74
+ [ Fact ]
75
+ public void Command_Accept_Not_Handled_Propagates_To_Not_IsDefaultAcceptView_Button_Peer ( )
76
+ {
77
+ var acceptOk = 0 ;
78
+ var acceptCancel = 0 ;
79
+ Button btnOk = new ( ) { Id = "btnOk" , Text = "Ok" , IsDefaultAcceptView = false } ;
80
+ btnOk . Accepting += ( s , e ) => acceptOk ++ ;
81
+ Button btnCancel = new ( ) { Id = "btnCancel" , Text = "Cancel" , IsDefaultAcceptView = false } ;
82
+
83
+ btnCancel . Accepting += ( s , e ) =>
84
+ {
85
+ acceptCancel ++ ;
86
+ } ;
87
+ View superView = new View ( ) { Id = "superView" } ;
88
+ superView . Add ( btnOk , btnCancel ) ;
89
+
90
+ btnCancel . InvokeCommand ( Command . Accept ) ;
91
+ Assert . Equal ( 0 , acceptOk ) ;
92
+ Assert . Equal ( 1 , acceptCancel ) ;
93
+ }
94
+
95
+ [ Fact ]
96
+ [ AutoInitShutdown ]
97
+ public void HotKey_From_Non_IsDefaultAcceptView_Button_Raises_Accept_In_The_Default_Button ( )
98
+ {
99
+ var acceptOk = 0 ;
100
+ var acceptCancel = 0 ;
101
+ Button btnOk = new ( ) { Id = "Ok" , Text = "_Ok" , IsDefaultAcceptView = true } ;
102
+ btnOk . Accepting += ( s , e ) => acceptOk ++ ;
103
+ Button btnCancel = new ( ) { Id = "Cancel" , Y = 1 , Text = "_Cancel" } ;
104
+ btnCancel . Accepting += ( s , e ) => acceptCancel ++ ;
105
+ Application . Top = new ( ) ;
106
+ Application . Top . Add ( btnOk , btnCancel ) ;
107
+ var rs = Application . Begin ( Application . Top ) ;
108
+
109
+ Application . RaiseKeyDownEvent ( Key . C ) ;
110
+ Assert . Equal ( 1 , acceptOk ) ;
111
+ Assert . Equal ( 1 , acceptCancel ) ;
112
+
113
+ Application . End ( rs ) ;
114
+ Application . Top . Dispose ( ) ;
115
+ Application . ResetState ( ) ;
116
+ }
117
+
51
118
// See https://github.com/gui-cs/Terminal.Gui/issues/3913
52
119
[ Fact ]
53
- public void Button_IsDefault_Raises_Accepted_Correctly ( )
120
+ public void Button_IsDefaultAcceptView_Raises_Accepted_Correctly ( )
54
121
{
55
122
var aAcceptedCount = 0 ;
56
123
var aCancelAccepting = false ;
0 commit comments