1
-
2
1
/*
3
- * Copyright (c) 2016, 2019 , Oracle and/or its affiliates. All rights reserved.
2
+ * Copyright (c) 2016, 2020 , Oracle and/or its affiliates. All rights reserved.
4
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5
4
*
6
5
* This code is free software; you can redistribute it and/or modify it
30
29
import javax .swing .UIManager ;
31
30
32
31
import static org .testng .AssertJUnit .*;
32
+
33
+ import org .netbeans .jemmy .drivers .DriverManager ;
34
+ import org .netbeans .jemmy .drivers .scrolling .KeyboardJSliderScrollDriver ;
35
+ import org .testng .annotations .BeforeClass ;
33
36
import org .testng .annotations .Test ;
34
37
import org .netbeans .jemmy .ClassReference ;
35
38
import org .netbeans .jemmy .ComponentChooser ;
@@ -68,6 +71,11 @@ public class SliderDemoTest {
68
71
private static final int VERTICAL_MINOR_TICKS_SLIDER_MINIMUM = 0 ;
69
72
private static final int VERTICAL_MINOR_TICKS_SLIDER_MAXIMUM = 100 ;
70
73
74
+ @ BeforeClass
75
+ public void useKeyboardSliderDriver () {
76
+ DriverManager .setScrollDriver (new KeyboardJSliderScrollDriver ());
77
+ }
78
+
71
79
@ Test (dataProvider = "availableLookAndFeels" , dataProviderClass = TestHelpers .class )
72
80
public void test (String lookAndFeel ) throws Exception {
73
81
UIManager .setLookAndFeel (lookAndFeel );
@@ -139,70 +147,81 @@ private void disabled(JFrameOperator jfo, String accessibleName)
139
147
140
148
private void checkMaximum (JSliderOperator jso , int maxValue ) {
141
149
jso .scrollToMaximum ();
142
- waitSliderValue (jso , jSlider -> jSlider .getValue () == maxValue );
150
+ waitSliderValue (jso , jSlider -> jSlider .getValue () == maxValue ,
151
+ "value == " + maxValue );
143
152
}
144
153
145
154
private void checkMinimum (JSliderOperator jso , int minValue ) {
146
155
jso .scrollToMinimum ();
147
- waitSliderValue (jso , jSlider -> jSlider .getValue () == minValue );
156
+ waitSliderValue (jso , jSlider -> jSlider .getValue () == minValue ,
157
+ "value == " + minValue );
148
158
}
149
159
150
160
private void checkKeyboard (JSliderOperator jso ) {
151
161
boolean isMotif = LookAndFeel .isMotif ();
152
162
checkKeyPress (jso , KeyEvent .VK_HOME ,
153
- jSlider -> jSlider .getValue () == jso .getMinimum ());
163
+ jSlider -> jSlider .getValue () == jso .getMinimum (),
164
+ "value == " + jso .getMinimum ());
154
165
155
166
{
156
167
int expectedValue = jso .getValue () + 1 ;
157
168
checkKeyPress (jso , KeyEvent .VK_UP ,
158
- jSlider -> jSlider .getValue () >= expectedValue );
169
+ jSlider -> jSlider .getValue () >= expectedValue ,
170
+ "value >= " + expectedValue );
159
171
}
160
172
{
161
173
int expectedValue = jso .getValue () + 1 ;
162
174
checkKeyPress (jso , KeyEvent .VK_RIGHT ,
163
- jSlider -> jSlider .getValue () >= expectedValue );
175
+ jSlider -> jSlider .getValue () >= expectedValue ,
176
+ "value >= " + expectedValue );
164
177
}
165
178
if (!isMotif ) {
166
179
int expectedValue = jso .getValue () + 11 ;
167
180
checkKeyPress (jso , KeyEvent .VK_PAGE_UP ,
168
- jSlider -> jSlider .getValue () >= expectedValue );
181
+ jSlider -> jSlider .getValue () >= expectedValue ,
182
+ "value >= " + expectedValue );
169
183
}
170
184
171
185
checkKeyPress (jso , KeyEvent .VK_END ,
172
- jSlider -> jSlider .getValue () == jso .getMaximum ());
186
+ jSlider -> jSlider .getValue () == jso .getMaximum (),
187
+ "value == " + jso .getMaximum ());
173
188
174
189
{
175
190
int expectedValue = jso .getValue () - 1 ;
176
191
checkKeyPress (jso , KeyEvent .VK_DOWN ,
177
- jSlider -> jSlider .getValue () <= expectedValue );
192
+ jSlider -> jSlider .getValue () <= expectedValue ,
193
+ "value <= " + expectedValue );
178
194
}
179
195
{
180
196
int expectedValue = jso .getValue () - 1 ;
181
197
checkKeyPress (jso , KeyEvent .VK_LEFT ,
182
- jSlider -> jSlider .getValue () <= expectedValue );
198
+ jSlider -> jSlider .getValue () <= expectedValue ,
199
+ "value <= " + expectedValue );
183
200
}
184
201
if (!isMotif ) {
185
202
int expectedValue = jso .getValue () - 11 ;
186
203
checkKeyPress (jso , KeyEvent .VK_PAGE_DOWN ,
187
- jSlider -> jSlider .getValue () <= expectedValue );
204
+ jSlider -> jSlider .getValue () <= expectedValue ,
205
+ "value <= " + expectedValue );
188
206
}
189
207
}
190
208
191
209
private void checkKeyPress (JSliderOperator jso , int keyCode ,
192
- Predicate <JSliderOperator > predicate ) {
210
+ Predicate <JSliderOperator > predicate ,
211
+ String description ) {
193
212
jso .pushKey (keyCode );
194
- waitSliderValue (jso , predicate );
213
+ waitSliderValue (jso , predicate , description );
195
214
}
196
215
197
216
private void waitSliderValue (JSliderOperator jso ,
198
- Predicate <JSliderOperator > predicate ) {
217
+ Predicate <JSliderOperator > predicate , String description ) {
199
218
jso .waitState (new ComponentChooser () {
200
219
public boolean checkComponent (Component comp ) {
201
220
return predicate .test (jso );
202
221
}
203
222
204
223
public String getDescription () {
205
- return "Wait till Slider attains the specified state." ;
224
+ return description ;
206
225
}
207
226
});
208
227
}
@@ -211,14 +230,16 @@ private void checkMoveForward(JSliderOperator jso, int value) {
211
230
jso .setValue (jso .getMinimum ());
212
231
int finalValue = jso .getValue () + value ;
213
232
jso .scrollToValue (finalValue );
214
- waitSliderValue (jso , jSlider -> jSlider .getValue () == finalValue );
233
+ waitSliderValue (jso , jSlider -> jSlider .getValue () == finalValue ,
234
+ "value == " + finalValue );
215
235
}
216
236
217
237
private void checkSnapToTick (JSliderOperator jso , int expectedLower ,
218
238
int expectedHigher ) {
219
239
jso .pressMouse (jso .getCenterXForClick (), jso .getCenterYForClick ());
220
240
waitSliderValue (jso , jSlider -> jSlider .getValue () == expectedLower
221
- || jSlider .getValue () == expectedHigher );
241
+ || jSlider .getValue () == expectedHigher ,
242
+ "value is either" + expectedLower + " or " + expectedHigher );
222
243
jso .releaseMouse ();
223
244
}
224
245
@@ -230,13 +251,15 @@ private void checkMouse(JSliderOperator jso) {
230
251
jso .setValue ((jso .getMaximum () + jso .getMinimum ()) / 2 );
231
252
jso .pressMouse (jso .getCenterXForClick (), jso .getCenterYForClick ());
232
253
jso .dragMouse (jso .getWidth () + 10 , jso .getHeight ());
233
- waitSliderValue (jso , jSlider -> jSlider .getValue () == jSlider .getMaximum ());
254
+ waitSliderValue (jso , jSlider -> jSlider .getValue () == jSlider .getMaximum (),
255
+ "value == " + jso .getMaximum ());
234
256
jso .releaseMouse ();
235
257
236
258
// Check mouse click by clicking on the center of the track 2 times
237
259
// and waiting till the slider value has changed from its previous
238
260
// value as a result of the clicks.
239
261
jso .clickMouse (jso .getCenterXForClick (), jso .getCenterYForClick (), 2 );
240
- waitSliderValue (jso , jSlider -> jSlider .getValue () != jSlider .getMaximum ());
262
+ waitSliderValue (jso , jSlider -> jSlider .getValue () != jSlider .getMaximum (),
263
+ "value != " + jso .getMaximum ());
241
264
}
242
265
}
0 commit comments