| | 19 | var arrowSliders=['slider1','slider2','programaticSlider']; |
| | 20 | var arrowSliderInit_min=[0.2,10,1200]; |
| | 21 | var arrowSliderInit_max=[99.8,90,2800]; |
| | 22 | var accessibleSliders=['slider1','slider2','slider3','programaticSlider'] |
| | 23 | var accessibleSliderInit_min=[0.2,10,2,1200]; |
| | 24 | var accessibleSliderInit_max=[99.8,90,2,2800]; |
| | 25 | |
| | 26 | onChange={slider1:'slider1input', slider2:'slider2input', programaticSlider:'sliderProgInput'}; |
| | 27 | |
| | 28 | var boundaryTest=function(slider, initValue, finalValue){ |
| | 29 | var d = new doh.Deferred(); |
| | 30 | slider.attr('value', initValue); |
| | 31 | var button = slider._descending?(initValue<finalValue?slider.decrementButton:slider.incrementButton):(initValue<finalValue?slider.incrementButton:slider.decrementButton); |
| | 32 | doh.robot.sequence(function(){ |
| | 33 | dijit.scrollIntoView(slider.domNode); |
| | 34 | },500); |
| | 35 | doh.robot.mouseMoveAt(button, 500); |
| | 36 | doh.robot.mouseClick({left:true}, 500); |
| | 37 | doh.robot.sequence(function(){ |
| | 38 | try{ |
| | 39 | doh.is(finalValue, new Number(slider.attr('value')).toFixed(1)); |
| | 40 | if(onChange[slider.id]){ |
| | 41 | doh.is(finalValue, parseFloat(dojo.byId(onChange[slider.id]).value)); |
| | 42 | } |
| | 43 | doh.robot.mouseMoveAt(button, 500); |
| | 44 | doh.robot.mouseClick({left:true}, 500); |
| | 45 | doh.robot.sequence(function(){ |
| | 46 | try{ |
| | 47 | doh.is(finalValue, new Number(slider.attr('value')).toFixed(1)); |
| | 48 | if(onChange[slider.id]){ |
| | 49 | doh.is(finalValue, parseFloat(dojo.byId(onChange[slider.id]).value)); |
| | 50 | } |
| | 51 | d.callback(true); |
| | 52 | }catch(e){ |
| | 53 | d.errback(e); |
| | 54 | } |
| | 55 | }, 500); |
| | 56 | }catch(e){ |
| | 57 | d.errback(e); |
| | 58 | } |
| | 59 | }, 500); |
| | 60 | return d; |
| | 61 | }; |
| | 62 | |
| | 63 | var a11yBoundaryTest=function(slider, initValue, finalValue){ |
| | 64 | var d = new doh.Deferred(); |
| | 65 | var key = initValue<finalValue?dojo.keys.RIGHT_ARROW:dojo.keys.LEFT_ARROW; |
| | 66 | slider.attr('value',initValue); |
| | 67 | doh.robot.sequence(function(){ |
| | 68 | dijit.scrollIntoView(slider.domNode); |
| | 69 | },500); |
| | 70 | doh.robot.mouseMoveAt(slider.focusNode, 500); |
| | 71 | doh.robot.mouseClick({left:true}, 500); |
| | 72 | doh.robot.keyPress(key, 500); |
| | 73 | doh.robot.sequence(function(){ |
| | 74 | try{ |
| | 75 | doh.is(finalValue, new Number(slider.attr('value')).toFixed(1)); |
| | 76 | if(onChange[slider.id]){ |
| | 77 | doh.is(finalValue,parseFloat(dojo.byId(onChange[slider.id]).value)); |
| | 78 | } |
| | 79 | doh.robot.keyPress(key, 500); |
| | 80 | doh.robot.sequence(function(){ |
| | 81 | try{ |
| | 82 | doh.is(finalValue, new Number(slider.attr('value')).toFixed(1)); |
| | 83 | if(onChange[slider.id]){ |
| | 84 | doh.is(finalValue, parseFloat(dojo.byId(onChange[slider.id]).value)); |
| | 85 | } |
| | 86 | d.callback(true); |
| | 87 | }catch(e){ |
| | 88 | d.errback(e); |
| | 89 | } |
| | 90 | }, 500); |
| | 91 | }catch(e){ |
| | 92 | d.errback(e); |
| | 93 | } |
| | 94 | }, 500); |
| | 95 | return d; |
| | 96 | }; |
| | 97 | |
| | 98 | var buttonHeldTest=function(slider, initValue, finalValue){ |
| | 99 | var d = new doh.Deferred(); |
| | 100 | slider.attr('value', initValue); |
| | 101 | var button = slider._descending?(initValue<finalValue?slider.decrementButton:slider.incrementButton):(initValue<finalValue?slider.incrementButton:slider.decrementButton); |
| | 102 | doh.robot.sequence(function(){ |
| | 103 | dijit.scrollIntoView(slider.domNode); |
| | 104 | },500); |
| | 105 | doh.robot.mouseMoveAt(button, 500); |
| | 106 | doh.robot.mousePress({left:true}, 500); |
| | 107 | doh.robot.mouseRelease({left:true}, 5000); |
| | 108 | doh.robot.sequence(function(){ |
| | 109 | try{ |
| | 110 | doh.is(finalValue, new Number(slider.attr('value')).toFixed(1)); |
| | 111 | if(onChange[slider.id]){ |
| | 112 | doh.is(finalValue, parseFloat(dojo.byId(onChange[slider.id]).value)); |
| | 113 | } |
| | 114 | d.callback(true); |
| | 115 | }catch(e){ |
| | 116 | d.errback(e); |
| | 117 | } |
| | 118 | }, 500); |
| | 119 | return d; |
| | 120 | }; |
| | 121 | |
| | 122 | var mouseWheelTest=function(slider, initValue, finalValue){ |
| | 123 | if(slider.discreteValues != Infinity){ |
| | 124 | var d = new doh.Deferred(); |
| | 125 | slider.attr('value', initValue); |
| | 126 | var direction=(finalValue-initValue)/Math.abs(finalValue-initValue); |
| | 127 | var delta = Math.ceil((slider.discreteValues-1)*Math.abs(doh.robot.mouseWheelSize)/doh.robot.mouseWheelSize); |
| | 128 | doh.robot.sequence(function(){ |
| | 129 | dijit.scrollIntoView(slider.domNode); |
| | 130 | },500); |
| | 131 | doh.robot.mouseMoveAt(slider.focusNode, 500); |
| | 132 | doh.robot.mouseClick({left:true}, 500); |
| | 133 | doh.robot.mouseWheel(delta*direction, 500, Math.abs(delta)*100); |
| | 134 | doh.robot.sequence(function(){ |
| | 135 | try{ |
| | 136 | doh.is(finalValue, new Number(slider.attr('value')).toFixed(1)); |
| | 137 | if(onChange[slider.id]){ |
| | 138 | doh.is(finalValue, parseFloat(dojo.byId(onChange[slider.id]).value)); |
| | 139 | } |
| | 140 | d.callback(true); |
| | 141 | }catch(e){ |
| | 142 | d.errback(e); |
| | 143 | } |
| | 144 | }, 500); |
| | 145 | return d; |
| | 146 | } |
| | 147 | }; |
| | 148 | |
| | 151 | |
| | 152 | doh.register("setUp",{ |
| | 153 | name:"setUp", |
| | 154 | runTest:function(){ |
| | 155 | var s='horizontal1: 10\n' |
| | 156 | +': 10.0%\n' |
| | 157 | +'vertical1: 10\n' |
| | 158 | +': 10\n' |
| | 159 | +'horizontal2: 2\n' |
| | 160 | +'horizontalH2: 10\n' |
| | 161 | +'programaticSlider: 1400\n' |
| | 162 | +': 1400\n'; |
| | 163 | doh.is(s, dojo.doc.displayData().replace(/[a-zA-Z0-9_]*_displayed_/g, "")); |
| | 164 | } |
| | 165 | }); |
| | 166 | |
| | 167 | doh.register("setvaluetest",{ |
| | 168 | name:"valid", |
| | 169 | slider:arrowSliders[0], |
| | 170 | runTest:function(){ |
| | 171 | this.slider=dijit.byId(this.slider); |
| | 172 | this.slider.attr('value', 50); |
| | 173 | doh.is(50, parseFloat(dojo.byId(onChange[this.slider.id]).value)); |
| | 174 | } |
| | 175 | }); |
| | 176 | |
| | 177 | doh.register("setvaluetest",{ |
| | 178 | name:"null", |
| | 179 | slider:arrowSliders[0], |
| | 180 | runTest:function(){ |
| | 181 | this.slider=dijit.byId(this.slider); |
| | 182 | this.slider.attr('value', null); |
| | 183 | doh.is(0, parseFloat(dojo.byId(onChange[this.slider.id]).value)); |
| | 184 | } |
| | 185 | }); |
| | 186 | |
| | 187 | doh.register("disabledTest",{ |
| | 188 | name:arrowSliders[0]+'_setUp', |
| | 189 | slider:arrowSliders[0], |
| | 190 | timeout:30000, |
| | 191 | runTest:function(){ |
| | 192 | var d = new doh.Deferred(); |
| | 193 | doh.robot.mouseMoveAt('disableButton',500); |
| | 194 | doh.robot.mouseClick({left:true}, 500); |
| | 195 | doh.robot.sequence(function(){ d.callback(true); },500); |
| | 196 | return d; |
| | 197 | } |
| | 198 | }); |
| | 199 | |
| | 200 | doh.register("disabledTest",{ |
| | 201 | name:arrowSliders[0]+'_min', |
| | 202 | slider:arrowSliders[0], |
| | 203 | value:arrowSliderInit_min[0], |
| | 204 | timeout:30000, |
| | 205 | runTest:function(){ |
| | 206 | this.slider=dijit.byId(this.slider); |
| | 207 | return boundaryTest(this.slider, this.value, this.value); |
| | 208 | } |
| | 209 | }); |
| | 210 | |
| | 211 | doh.register("disabledTest",{ |
| | 212 | name:arrowSliders[0]+'_a11y_min', |
| | 213 | slider:arrowSliders[0], |
| | 214 | value:arrowSliderInit_min[0], |
| | 215 | timeout:30000, |
| | 216 | runTest:function(){ |
| | 217 | this.slider=dijit.byId(this.slider); |
| | 218 | return a11yBoundaryTest(this.slider, this.value, this.value); |
| | 219 | } |
| | 220 | }); |
| | 221 | |
| | 222 | doh.register("disabledTest",{ |
| | 223 | name:arrowSliders[0]+'_tearDown', |
| | 224 | slider:arrowSliders[0], |
| | 225 | timeout:30000, |
| | 226 | runTest:function(){ |
| | 227 | var d = new doh.Deferred(); |
| | 228 | doh.robot.mouseMoveAt('enableButton',500); |
| | 229 | doh.robot.mouseClick({left:true}, 500); |
| | 230 | doh.robot.sequence(function(){ d.callback(true); },500); |
| | 231 | return d; |
| | 232 | } |
| | 233 | }); |
| | 234 | |
| | 235 | for(var i=0; i<arrowSliders.length; i++){ |
| | 236 | doh.register("buttonBoundaryTest",{ |
| | 237 | name:arrowSliders[i]+'_min', |
| | 238 | slider:arrowSliders[i], |
| | 239 | value:arrowSliderInit_min[i], |
| | 240 | timeout:30000, |
| | 241 | runTest:function(){ |
| | 242 | this.slider=dijit.byId(this.slider); |
| | 243 | return boundaryTest(this.slider, this.value, this.slider.minimum); |
| | 244 | } |
| | 245 | }); |
| | 246 | doh.register("buttonBoundaryTest",{ |
| | 247 | name:arrowSliders[i]+'_max', |
| | 248 | slider:arrowSliders[i], |
| | 249 | value:arrowSliderInit_max[i], |
| | 250 | timeout:30000, |
| | 251 | runTest:function(){ |
| | 252 | this.slider=dijit.byId(this.slider); |
| | 253 | return boundaryTest(this.slider, this.value, this.slider.maximum); |
| | 254 | } |
| | 255 | }); |
| | 256 | } |
| | 257 | |
| | 258 | for(var i=1; i<arrowSliders.length; i++){ |
| | 259 | doh.register("buttonHeldTest",{ |
| | 260 | name:arrowSliders[i]+'_minToMax', |
| | 261 | slider:arrowSliders[i], |
| | 262 | timeout:30000, |
| | 263 | runTest:function(){ |
| | 264 | this.slider=dijit.byId(this.slider); |
| | 265 | return buttonHeldTest(this.slider, this.slider.minimum, this.slider.maximum); |
| | 266 | } |
| | 267 | }); |
| | 268 | doh.register("buttonHeldTest",{ |
| | 269 | name:arrowSliders[i]+'_maxToMin', |
| | 270 | slider:arrowSliders[i], |
| | 271 | timeout:30000, |
| | 272 | runTest:function(){ |
| | 273 | this.slider=dijit.byId(this.slider); |
| | 274 | return buttonHeldTest(this.slider, this.slider.maximum, this.slider.minimum); |
| | 275 | } |
| | 276 | }); |
| | 277 | } |
| | 278 | |
| | 279 | for(var i=0; i<accessibleSliders.length; i++){ |
| | 280 | doh.register("a11yBoundaryTest",{ |
| | 281 | name:accessibleSliders[i]+'_a11y_min', |
| | 282 | slider:accessibleSliders[i], |
| | 283 | value:accessibleSliderInit_min[i], |
| | 284 | timeout:30000, |
| | 285 | runTest:function(){ |
| | 286 | this.slider=dijit.byId(this.slider); |
| | 287 | return a11yBoundaryTest(this.slider, this.value, this.slider.minimum); |
| | 288 | } |
| | 289 | }); |
| | 290 | doh.register("a11yBoundaryTest",{ |
| | 291 | name:accessibleSliders[i]+'_a11y_max', |
| | 292 | slider:accessibleSliders[i], |
| | 293 | value:accessibleSliderInit_max[i], |
| | 294 | timeout:30000, |
| | 295 | runTest:function(){ |
| | 296 | this.slider=dijit.byId(this.slider); |
| | 297 | return a11yBoundaryTest(this.slider, this.value, this.slider.maximum); |
| | 298 | } |
| | 299 | }); |
| | 300 | } |
| | 301 | |
| | 302 | for(var i=1; i<accessibleSliders.length; i++){ |
| | 303 | doh.register("mouseWheelTest",{ |
| | 304 | name:accessibleSliders[i]+'_minToMax', |
| | 305 | slider:accessibleSliders[i], |
| | 306 | timeout:30000, |
| | 307 | runTest:function(){ |
| | 308 | this.slider=dijit.byId(this.slider); |
| | 309 | return mouseWheelTest(this.slider, this.slider.minimum, this.slider.maximum); |
| | 310 | } |
| | 311 | }); |
| | 312 | doh.register("mouseWheelTest",{ |
| | 313 | name:accessibleSliders[i]+'_maxToMin', |
| | 314 | slider:accessibleSliders[i], |
| | 315 | timeout:30000, |
| | 316 | runTest:function(){ |
| | 317 | this.slider=dijit.byId(this.slider); |
| | 318 | return mouseWheelTest(this.slider, this.slider.maximum, this.slider.minimum); |
| | 319 | } |
| | 320 | }); |
| | 321 | } |
| | 322 | |