Thu, 15 Jan 2015 15:55:04 +0100
Back out 97036ab72558 which inappropriately compared turds to third parties.
michael@0 | 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
michael@0 | 2 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
michael@0 | 3 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
michael@0 | 4 | <head> |
michael@0 | 5 | <title>script.aculo.us Unit test file</title> |
michael@0 | 6 | <meta http-equiv="content-type" content="text/html; charset=utf-8" /> |
michael@0 | 7 | <script src="../../lib/prototype.js" type="text/javascript"></script> |
michael@0 | 8 | <script src="../../src/scriptaculous.js" type="text/javascript"></script> |
michael@0 | 9 | <script src="../../src/unittest.js" type="text/javascript"></script> |
michael@0 | 10 | <link rel="stylesheet" href="../test.css" type="text/css" /> |
michael@0 | 11 | </head> |
michael@0 | 12 | <body> |
michael@0 | 13 | <h1>script.aculo.us Unit test file</h1> |
michael@0 | 14 | <p> |
michael@0 | 15 | Tests for slider.js |
michael@0 | 16 | </p> |
michael@0 | 17 | |
michael@0 | 18 | <div id="track1" style="width:200px;background-color:#aaa;height:5px;"> |
michael@0 | 19 | <div id="handle1" style="width:15px;height:25px;background-color:#f00;"> </div> |
michael@0 | 20 | </div> |
michael@0 | 21 | |
michael@0 | 22 | <div id="track2-vertical" style="height:100px;background-color:#aaa;width:5px;"> |
michael@0 | 23 | <div id="handle2-vertical" style="width:25px;height:10px;background-color:#f00;"> </div> |
michael@0 | 24 | </div> |
michael@0 | 25 | |
michael@0 | 26 | <div id="track2-horizontal" style="height:5px;background-color:#aaa;width:100px;"> |
michael@0 | 27 | <div id="handle2-horizontal" style="width:10px;height:25px;background-color:#f00;"> </div> |
michael@0 | 28 | </div> |
michael@0 | 29 | |
michael@0 | 30 | <div id="track3" style="width:300px;background-color:#cfb;height:30px;"> |
michael@0 | 31 | <span id="handle3-1">1</span> |
michael@0 | 32 | <span id="handle3-2">2</span> |
michael@0 | 33 | <span id="handle3-3">3</span> |
michael@0 | 34 | </div> |
michael@0 | 35 | |
michael@0 | 36 | <div id="track4" style="width:300px;position:relative;background-color:#cbf;height:30px;"> |
michael@0 | 37 | <span id="handle4-1" style="top:0;left:0;position:absolute;background-color:#f00;">1</span> |
michael@0 | 38 | <span id="handle4-2" style="top:0;left:0;position:absolute;background-color:#0f0;">2</span> |
michael@0 | 39 | <span id="handle4-3" style="top:0;left:0;position:absolute;background-color:#00f;">3</span> |
michael@0 | 40 | </div> |
michael@0 | 41 | |
michael@0 | 42 | <div id="track5" style="width:300px;background-color:#cbf;height:30px;position:relative;z-index:0;"> |
michael@0 | 43 | <div id="handle5-1" style="top:0;left:0;position:absolute;background-color:#f00;z-index:2">1</div> |
michael@0 | 44 | <div id="handle5-2" style="top:0;left:0;position:absolute;background-color:#0f0;z-index:2">2</div> |
michael@0 | 45 | <div id="handle5-3" style="top:0;left:0;position:absolute;background-color:#00f;z-index:2">3</div> |
michael@0 | 46 | |
michael@0 | 47 | <div id="span5-1" style="top:0;left:0;position:absolute;background-color:#000;height:20px;z-index:1;"> </div> |
michael@0 | 48 | <div id="span5-2" style="top:0;left:0;position:absolute;background-color:#444;height:20px;z-index:1;"> </div> |
michael@0 | 49 | </div> |
michael@0 | 50 | |
michael@0 | 51 | <div id="track6" style="width:20px;background-color:#cbf;height:100px;position:relative;z-index:0;"> |
michael@0 | 52 | <div id="handle6-1" style="top:0;left:0;height:13px;position:absolute;background-color:#f00;z-index:2">1</div> |
michael@0 | 53 | <div id="handle6-2" style="top:0;left:0;height:13px;position:absolute;background-color:#0f0;z-index:2">2</div> |
michael@0 | 54 | <div id="handle6-3" style="top:0;left:0;height:13px;position:absolute;background-color:#00f;z-index:2">3</div> |
michael@0 | 55 | |
michael@0 | 56 | <div id="span6-1" style="top:0;left:0;position:absolute;background-color:#000;width:20px;z-index:1;"> </div> |
michael@0 | 57 | <div id="span6-2" style="top:0;left:0;position:absolute;background-color:#444;width:20px;z-index:1;"> </div> |
michael@0 | 58 | </div> |
michael@0 | 59 | |
michael@0 | 60 | <div id="track7" style="width:200px;background-color:#cbf;height:30px;position:relative;z-index:0;"> |
michael@0 | 61 | <div id="handle7-1" style="top:0;left:0;position:absolute;background-color:#f88;z-index:2">1</div> |
michael@0 | 62 | <div id="handle7-2" style="top:0;left:0;position:absolute;background-color:#8f8;z-index:2">2</div> |
michael@0 | 63 | <div id="handle7-3" style="top:0;left:0;position:absolute;background-color:#88f;z-index:2">3</div> |
michael@0 | 64 | |
michael@0 | 65 | <div id="span7-1" style="top:0;left:0;position:absolute;background-color:#000;height:20px;z-index:1;"> </div> |
michael@0 | 66 | <div id="span7-2" style="top:0;left:0;position:absolute;background-color:#444;height:20px;z-index:1;"> </div> |
michael@0 | 67 | |
michael@0 | 68 | <div id="span7-start" style="top:0;left:0;position:absolute;background-color:#f00;height:20px;z-index:1;"> </div> |
michael@0 | 69 | <div id="span7-end" style="top:0;left:0;position:absolute;background-color:#00f;height:20px;z-index:1;"> </div> |
michael@0 | 70 | </div> |
michael@0 | 71 | |
michael@0 | 72 | |
michael@0 | 73 | <div id="debug"> </div> |
michael@0 | 74 | |
michael@0 | 75 | <!-- Log output --> |
michael@0 | 76 | <div id="testlog"> </div> |
michael@0 | 77 | |
michael@0 | 78 | <!-- Tests follow --> |
michael@0 | 79 | <script type="text/javascript" language="javascript" charset="utf-8"> |
michael@0 | 80 | // <![CDATA[ |
michael@0 | 81 | var globalValue; |
michael@0 | 82 | |
michael@0 | 83 | new Test.Unit.Runner({ |
michael@0 | 84 | |
michael@0 | 85 | testSliderBasics: function() { with(this) { |
michael@0 | 86 | var slider = new Control.Slider('handle1', 'track1'); |
michael@0 | 87 | assertInstanceOf(Control.Slider, slider); |
michael@0 | 88 | assertEqual(Prototype.Browser.IE ? 5 : 4, Event.observers.length); |
michael@0 | 89 | |
michael@0 | 90 | assertEqual('horizontal', slider.axis); |
michael@0 | 91 | assertEqual(false, slider.disabled); |
michael@0 | 92 | assertEqual(0, slider.value); |
michael@0 | 93 | |
michael@0 | 94 | slider.dispose(); |
michael@0 | 95 | }}, |
michael@0 | 96 | |
michael@0 | 97 | testSliderValues: function() { with(this) { |
michael@0 | 98 | ['horizontal', 'vertical'].each( function(axis) { |
michael@0 | 99 | var slider = new Control.Slider('handle2-'+axis, 'track2-'+axis, {values:[0.2,0.4,0.6,0.8,1],axis:axis}); |
michael@0 | 100 | assertEqual(axis, slider.axis); |
michael@0 | 101 | assertEqual(0.2, slider.value); |
michael@0 | 102 | |
michael@0 | 103 | slider.setValue(0.35); |
michael@0 | 104 | assertEqual(0.4, slider.value); |
michael@0 | 105 | |
michael@0 | 106 | slider.setValueBy(0.1); |
michael@0 | 107 | assertEqual(0.6, slider.value); |
michael@0 | 108 | slider.setValueBy(-0.6); |
michael@0 | 109 | assertEqual(0.2, slider.value); |
michael@0 | 110 | |
michael@0 | 111 | slider.setValue(1); |
michael@0 | 112 | assertEqual(1, slider.value); |
michael@0 | 113 | |
michael@0 | 114 | slider.setValue(-2); |
michael@0 | 115 | assertEqual(0.2, slider.value); |
michael@0 | 116 | |
michael@0 | 117 | slider.setValue(55555); |
michael@0 | 118 | assertEqual(1, slider.value); |
michael@0 | 119 | |
michael@0 | 120 | // leave active to be able to play around with the sliders |
michael@0 | 121 | // slider.dispose(); |
michael@0 | 122 | }); |
michael@0 | 123 | assertEqual("90px", $('handle2-horizontal').style.left); |
michael@0 | 124 | assertEqual("90px", $('handle2-vertical').style.top); |
michael@0 | 125 | }}, |
michael@0 | 126 | |
michael@0 | 127 | testSliderInitialValues: function() { with(this) { |
michael@0 | 128 | var slider = new Control.Slider('handle1', 'track1',{sliderValue:0.5}); |
michael@0 | 129 | assertEqual(0.5, slider.value); |
michael@0 | 130 | |
michael@0 | 131 | var slider = new Control.Slider(['handle4-1','handle4-2','handle4-3'], 'track4', { |
michael@0 | 132 | sliderValue:[50,145,170], |
michael@0 | 133 | values:[50,150,160,170,180], |
michael@0 | 134 | range:$R(50,180) |
michael@0 | 135 | }); |
michael@0 | 136 | assertEqual(50, slider.value); |
michael@0 | 137 | assertEqual(50, slider.values[0]); |
michael@0 | 138 | assertEqual(150, slider.values[1]); |
michael@0 | 139 | assertEqual(170, slider.values[2]); |
michael@0 | 140 | slider.dispose(); |
michael@0 | 141 | |
michael@0 | 142 | var slider = new Control.Slider(['handle4-1','handle4-2','handle4-3'], 'track4', { |
michael@0 | 143 | sliderValue:[50,145,170], |
michael@0 | 144 | values:[50,150,160,170,180] |
michael@0 | 145 | }); |
michael@0 | 146 | assertEqual(50, slider.value); |
michael@0 | 147 | assertEqual(50, slider.values[0]); |
michael@0 | 148 | assertEqual(150, slider.values[1]); |
michael@0 | 149 | assertEqual(170, slider.values[2]); |
michael@0 | 150 | slider.dispose(); |
michael@0 | 151 | |
michael@0 | 152 | var slider = new Control.Slider(['handle4-1','handle4-2','handle4-3'], 'track4', { |
michael@0 | 153 | restricted:true, |
michael@0 | 154 | sliderValue:[50,145,170], |
michael@0 | 155 | values:[50,150,160,170,180] |
michael@0 | 156 | }); |
michael@0 | 157 | assertEqual(50, slider.value); |
michael@0 | 158 | assertEqual(50, slider.values[0]); |
michael@0 | 159 | assertEqual(150, slider.values[1]); |
michael@0 | 160 | assertEqual(170, slider.values[2]); |
michael@0 | 161 | slider.dispose(); |
michael@0 | 162 | }}, |
michael@0 | 163 | |
michael@0 | 164 | testSliderOnChange: function() { with(this) { |
michael@0 | 165 | var slider = new Control.Slider('handle1', 'track1', { onChange:function(v){ globalValue = v; } }); |
michael@0 | 166 | slider.setValue(1); |
michael@0 | 167 | assert(1, globalValue); |
michael@0 | 168 | assert(1, slider.value); |
michael@0 | 169 | |
michael@0 | 170 | slider.setDisabled(); |
michael@0 | 171 | slider.setValue(0.5); |
michael@0 | 172 | assert(1, globalValue); |
michael@0 | 173 | assert(1, slider.value); |
michael@0 | 174 | |
michael@0 | 175 | slider.setEnabled(); |
michael@0 | 176 | slider.setValue(0.2); |
michael@0 | 177 | assert(0.2, globalValue); |
michael@0 | 178 | assert(0.2, slider.value); |
michael@0 | 179 | |
michael@0 | 180 | // s.event should be null if setValue is called from script |
michael@0 | 181 | var slider = new Control.Slider(['handle3-1','handle3-2','handle3-3'], 'track3', { |
michael@0 | 182 | onChange:function(v, s){ if(!s.event) globalValue = v; } }); |
michael@0 | 183 | |
michael@0 | 184 | slider.setValue(0.5,1); |
michael@0 | 185 | assertEqual([0,0.5,0].inspect(), globalValue.inspect()); |
michael@0 | 186 | assert(!slider.event); |
michael@0 | 187 | |
michael@0 | 188 | slider.dispose(); |
michael@0 | 189 | }}, |
michael@0 | 190 | |
michael@0 | 191 | testMultipleHandles: function() { with(this) { |
michael@0 | 192 | var slider = new Control.Slider(['handle3-1','handle3-2','handle3-3'], 'track3', {range:$R(0,300)}); |
michael@0 | 193 | assertInstanceOf(Control.Slider, slider); |
michael@0 | 194 | |
michael@0 | 195 | slider.setValue(20, 0); |
michael@0 | 196 | slider.setValue(50, 1); |
michael@0 | 197 | slider.setValue(70, 2); |
michael@0 | 198 | assertEqual(20, slider.values[0]); |
michael@0 | 199 | assertEqual(50, slider.values[1]); |
michael@0 | 200 | assertEqual(70, slider.values[2]); |
michael@0 | 201 | assertEqual("20px", slider.handles[0].style.left); |
michael@0 | 202 | assertEqual("49px", slider.handles[1].style.left); |
michael@0 | 203 | assertEqual("68px", slider.handles[2].style.left); |
michael@0 | 204 | |
michael@0 | 205 | // should change last manipulated handled by -10, |
michael@0 | 206 | // so check for handle with idx 2 |
michael@0 | 207 | slider.setValueBy(-10); |
michael@0 | 208 | assertEqual(60, slider.values[2]); |
michael@0 | 209 | |
michael@0 | 210 | slider.setValueBy(10, 0); |
michael@0 | 211 | assertEqual(20, slider.values[0]); |
michael@0 | 212 | slider.setValueBy(10, 1); |
michael@0 | 213 | assertEqual(60, slider.values[1]); |
michael@0 | 214 | slider.setValueBy(20, slider.activeHandleIdx); |
michael@0 | 215 | assertEqual(80, slider.values[1]); |
michael@0 | 216 | }}, |
michael@0 | 217 | |
michael@0 | 218 | testMultipleHandlesValues: function() { with(this) { |
michael@0 | 219 | var slider = new Control.Slider(['handle4-1','handle4-2','handle4-3'], 'track4', {values:[50,150,160,170,180],range:$R(50,180)}); |
michael@0 | 220 | assertInstanceOf(Control.Slider, slider); |
michael@0 | 221 | |
michael@0 | 222 | slider.setValue(20, 0); |
michael@0 | 223 | slider.setValue(150, 2); |
michael@0 | 224 | slider.setValue(179, 1); |
michael@0 | 225 | |
michael@0 | 226 | assertEqual(50, slider.values[0]); |
michael@0 | 227 | assertEqual(150, slider.values[2]); |
michael@0 | 228 | assertEqual(180, slider.values[1]); |
michael@0 | 229 | |
michael@0 | 230 | assertEqual("0px", slider.handles[0].style.left); |
michael@0 | 231 | assertEqual("225px", slider.handles[2].style.left); |
michael@0 | 232 | assertEqual("293px", slider.handles[1].style.left); |
michael@0 | 233 | |
michael@0 | 234 | assertEqual($R(50,150).inspect(), slider.getRange().inspect()); |
michael@0 | 235 | assertEqual(30, slider.getRange(1).end-slider.getRange(1).start); |
michael@0 | 236 | }}, |
michael@0 | 237 | |
michael@0 | 238 | testMultipleHandlesSpans: function() { with(this) { |
michael@0 | 239 | var slider = new Control.Slider(['handle5-1','handle5-2','handle5-3'], 'track5', |
michael@0 | 240 | {spans:['span5-1','span5-2'],range:$R(0,300)}); |
michael@0 | 241 | assertInstanceOf(Control.Slider, slider); |
michael@0 | 242 | |
michael@0 | 243 | slider.setValue(20, 0); |
michael@0 | 244 | slider.setValue(100, 1); |
michael@0 | 245 | slider.setValue(150, 2); |
michael@0 | 246 | |
michael@0 | 247 | assertEqual("20px", $('span5-1').style.left); |
michael@0 | 248 | assertEqual("78px", $('span5-1').style.width); |
michael@0 | 249 | assertEqual("98px", $('span5-2').style.left); |
michael@0 | 250 | assertEqual("49px", $('span5-2').style.width); |
michael@0 | 251 | |
michael@0 | 252 | slider.setValue(30, 0); |
michael@0 | 253 | slider.setValue(110, 1); |
michael@0 | 254 | slider.setValue(90, 2); |
michael@0 | 255 | |
michael@0 | 256 | assertEqual("29px", $('span5-1').style.left); |
michael@0 | 257 | assertEqual("59px", $('span5-1').style.width); |
michael@0 | 258 | assertEqual("88px", $('span5-2').style.left); |
michael@0 | 259 | assertEqual("20px", $('span5-2').style.width); |
michael@0 | 260 | |
michael@0 | 261 | slider.dispose(); |
michael@0 | 262 | }}, |
michael@0 | 263 | |
michael@0 | 264 | testMultipleHandlesSpansStartEnd: function() { with(this) { |
michael@0 | 265 | var slider = new Control.Slider(['handle7-1','handle7-2','handle7-3'], 'track7', |
michael@0 | 266 | { spans:['span7-1','span7-2'], |
michael@0 | 267 | startSpan:'span7-start', |
michael@0 | 268 | endSpan:'span7-end', |
michael@0 | 269 | range:$R(0,200) }); |
michael@0 | 270 | assertInstanceOf(Control.Slider, slider); |
michael@0 | 271 | |
michael@0 | 272 | slider.setValue(20, 0); |
michael@0 | 273 | slider.setValue(100, 1); |
michael@0 | 274 | slider.setValue(150, 2); |
michael@0 | 275 | assertEqual("0px", $('span7-start').style.left); |
michael@0 | 276 | assertEqual("19px", $('span7-start').style.width); |
michael@0 | 277 | assertEqual("145px", $('span7-end').style.left); |
michael@0 | 278 | assertEqual("48px", $('span7-end').style.width); |
michael@0 | 279 | |
michael@0 | 280 | slider.dispose(); |
michael@0 | 281 | }}, |
michael@0 | 282 | |
michael@0 | 283 | testSingleHandleSpansStartEnd: function() { with(this) { |
michael@0 | 284 | var slider = new Control.Slider('handle7-1', 'track7', |
michael@0 | 285 | { spans:['span7-1','span7-2'], |
michael@0 | 286 | startSpan:'span7-start', |
michael@0 | 287 | endSpan:'span7-end', |
michael@0 | 288 | range:$R(0,200) }); |
michael@0 | 289 | assertInstanceOf(Control.Slider, slider); |
michael@0 | 290 | |
michael@0 | 291 | slider.setValue(20, 0); |
michael@0 | 292 | assertEqual("0px", $('span7-start').style.left); |
michael@0 | 293 | assertEqual("19px", $('span7-start').style.width); |
michael@0 | 294 | assertEqual("19px", $('span7-end').style.left); |
michael@0 | 295 | assertEqual("174px", $('span7-end').style.width); |
michael@0 | 296 | |
michael@0 | 297 | slider.dispose(); |
michael@0 | 298 | }}, |
michael@0 | 299 | |
michael@0 | 300 | testMultipleHandlesStyles: function() { with(this) { |
michael@0 | 301 | var slider = new Control.Slider(['handle7-1','handle7-2','handle7-3'], 'track7', |
michael@0 | 302 | { spans:['span7-1','span7-2'], |
michael@0 | 303 | startSpan:'span7-start', |
michael@0 | 304 | endSpan:'span7-end', |
michael@0 | 305 | range:$R(0,200) }); |
michael@0 | 306 | assertInstanceOf(Control.Slider, slider); |
michael@0 | 307 | assert(Element.hasClassName('handle7-1','selected')); |
michael@0 | 308 | assert(!Element.hasClassName('handle7-2','selected')); |
michael@0 | 309 | assert(!Element.hasClassName('handle7-3','selected')); |
michael@0 | 310 | |
michael@0 | 311 | slider.setValue(20, 0); |
michael@0 | 312 | assert(Element.hasClassName('handle7-1','selected')); |
michael@0 | 313 | assert(!Element.hasClassName('handle7-2','selected')); |
michael@0 | 314 | assert(!Element.hasClassName('handle7-3','selected')); |
michael@0 | 315 | |
michael@0 | 316 | slider.setValue(100, 1); |
michael@0 | 317 | assert(!Element.hasClassName('handle7-1','selected')); |
michael@0 | 318 | assert(Element.hasClassName('handle7-2','selected')); |
michael@0 | 319 | assert(!Element.hasClassName('handle7-3','selected')); |
michael@0 | 320 | |
michael@0 | 321 | slider.setValue(150, 2); |
michael@0 | 322 | assert(!Element.hasClassName('handle7-1','selected')); |
michael@0 | 323 | assert(!Element.hasClassName('handle7-2','selected')); |
michael@0 | 324 | assert(Element.hasClassName('handle7-3','selected')); |
michael@0 | 325 | |
michael@0 | 326 | slider.dispose(); |
michael@0 | 327 | }}, |
michael@0 | 328 | |
michael@0 | 329 | testMultipleHandlesSpansRestricted: function() { with(this) { |
michael@0 | 330 | var slider = new Control.Slider(['handle5-1','handle5-2','handle5-3'], 'track5', |
michael@0 | 331 | {restricted:true,spans:['span5-1','span5-2'],range:$R(0,300)}); |
michael@0 | 332 | assertInstanceOf(Control.Slider, slider); |
michael@0 | 333 | |
michael@0 | 334 | slider.setValue(20, 0); |
michael@0 | 335 | slider.setValue(100, 1); |
michael@0 | 336 | slider.setValue(150, 2); |
michael@0 | 337 | assertEqual(0, slider.values[0]); |
michael@0 | 338 | assertEqual(0, slider.values[1]); |
michael@0 | 339 | assertEqual(150, slider.values[2]); |
michael@0 | 340 | |
michael@0 | 341 | slider.setValue(150, 2); |
michael@0 | 342 | slider.setValue(100, 1); |
michael@0 | 343 | slider.setValue(20, 0); |
michael@0 | 344 | assertEqual(20, slider.values[0]); |
michael@0 | 345 | assertEqual(100, slider.values[1]); |
michael@0 | 346 | assertEqual(150, slider.values[2]); |
michael@0 | 347 | assertEqual("20px", $('span5-1').style.left); |
michael@0 | 348 | assertEqual("78px", $('span5-1').style.width); |
michael@0 | 349 | assertEqual("98px", $('span5-2').style.left); |
michael@0 | 350 | assertEqual("49px", $('span5-2').style.width); |
michael@0 | 351 | |
michael@0 | 352 | slider.setValue(30, 0); |
michael@0 | 353 | slider.setValue(110, 1); |
michael@0 | 354 | slider.setValue(90, 2); |
michael@0 | 355 | assertEqual(30, slider.values[0]); |
michael@0 | 356 | assertEqual(110, slider.values[1]); |
michael@0 | 357 | assertEqual(110, slider.values[2], '???'); |
michael@0 | 358 | |
michael@0 | 359 | assertEqual("29px", $('span5-1').style.left); |
michael@0 | 360 | assertEqual("78px", $('span5-1').style.width); |
michael@0 | 361 | assertEqual("107px", $('span5-2').style.left); |
michael@0 | 362 | assertEqual("0px", $('span5-2').style.width); |
michael@0 | 363 | |
michael@0 | 364 | slider.dispose(); |
michael@0 | 365 | }}, |
michael@0 | 366 | |
michael@0 | 367 | testMultipleHandlesSpansVertical: function() { with(this) { |
michael@0 | 368 | var slider = new Control.Slider(['handle6-1','handle6-2','handle6-3'], 'track6', {axis:'vertical',spans:['span6-1','span6-2'],range:$R(0,100)}); |
michael@0 | 369 | assertInstanceOf(Control.Slider, slider); |
michael@0 | 370 | |
michael@0 | 371 | slider.setValue(20, 0); |
michael@0 | 372 | slider.setValue(80, 1); |
michael@0 | 373 | slider.setValue(90, 2); |
michael@0 | 374 | |
michael@0 | 375 | assertEqual("17px", $('span6-1').style.top); |
michael@0 | 376 | assertEqual("52px", $('span6-1').style.height); |
michael@0 | 377 | assertEqual("70px", $('span6-2').style.top); |
michael@0 | 378 | assertEqual("9px", $('span6-2').style.height); |
michael@0 | 379 | |
michael@0 | 380 | slider.setValue(30, 0); |
michael@0 | 381 | slider.setValue(20, 1); |
michael@0 | 382 | slider.setValue(95, 2); |
michael@0 | 383 | |
michael@0 | 384 | assertEqual("17px", $('span6-1').style.top); |
michael@0 | 385 | assertEqual("9px", $('span6-1').style.height); |
michael@0 | 386 | assertEqual("26px", $('span6-2').style.top); |
michael@0 | 387 | assertEqual("57px", $('span6-2').style.height); |
michael@0 | 388 | }}, |
michael@0 | 389 | |
michael@0 | 390 | testRange: function() { with(this) { |
michael@0 | 391 | var slider = new Control.Slider('handle1','track1'); |
michael@0 | 392 | assertEqual(0, slider.value); |
michael@0 | 393 | slider.setValue(1); |
michael@0 | 394 | assertEqual("185px", $('handle1').style.left); |
michael@0 | 395 | slider.dispose(); |
michael@0 | 396 | |
michael@0 | 397 | var slider = new Control.Slider('handle1','track1',{range:$R(10,20)}); |
michael@0 | 398 | assertEqual(10, slider.value); |
michael@0 | 399 | assertEqual("0px", $('handle1').style.left); |
michael@0 | 400 | slider.setValue(15); |
michael@0 | 401 | assertEqual("93px", $('handle1').style.left); |
michael@0 | 402 | slider.setValue(20); |
michael@0 | 403 | assertEqual("185px", $('handle1').style.left); |
michael@0 | 404 | slider.dispose(); |
michael@0 | 405 | }}, |
michael@0 | 406 | |
michael@0 | 407 | // test for #3732 |
michael@0 | 408 | testRangeValues: function() { with(this) { |
michael@0 | 409 | // test for non-zero starting range |
michael@0 | 410 | var slider = new Control.Slider('handle1','track1',{ |
michael@0 | 411 | range:$R(1,3), values:[1,2,3] |
michael@0 | 412 | }); |
michael@0 | 413 | assertEqual(1, slider.value); |
michael@0 | 414 | assertEqual("0px", $('handle1').style.left); |
michael@0 | 415 | slider.setValue(2); |
michael@0 | 416 | assertEqual("93px", $('handle1').style.left); |
michael@0 | 417 | slider.setValue(3); |
michael@0 | 418 | assertEqual("185px", $('handle1').style.left); |
michael@0 | 419 | slider.dispose(); |
michael@0 | 420 | |
michael@0 | 421 | // test zero-starting range |
michael@0 | 422 | var slider = new Control.Slider('handle1','track1',{ |
michael@0 | 423 | range:$R(0,2), values:[0,1,2] |
michael@0 | 424 | }); |
michael@0 | 425 | assertEqual(0, slider.value); |
michael@0 | 426 | assertEqual("0px", $('handle1').style.left); |
michael@0 | 427 | slider.setValue(1); |
michael@0 | 428 | assertEqual("93px", $('handle1').style.left); |
michael@0 | 429 | slider.setValue(2); |
michael@0 | 430 | assertEqual("185px", $('handle1').style.left); |
michael@0 | 431 | slider.dispose(); |
michael@0 | 432 | }} |
michael@0 | 433 | |
michael@0 | 434 | }, "testlog"); |
michael@0 | 435 | // ]]> |
michael@0 | 436 | </script> |
michael@0 | 437 | </body> |
michael@0 | 438 | </html> |