testsuite.js revision 2ea17401d5e587b3d45104f547c6793697202cef
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff setUp: function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.one("body").append('<div id="testbed"></div>');
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff tearDown: function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "test default construction": function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff } //no comma
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff setUp: function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.one("body").append('<div id="testbed"></div>');
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff tearDown: function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "test default construction": function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "test render(selector)": function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff '<div class="floated" style="float:left"></div>' + // float
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff (new Y.Dial().render("#testbed > div.floated"));
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff //Check for IE VML and set different number of objects
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff var numObjs = (Y.UA.ie && Y.UA.ie < 9) ? 11 : 11;
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( numObjs, div.all("span,div").size() );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( numObjs, fl.all("span,div").size() );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( numObjs, p.all("span,div").size() );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( numObjs, span.all("span,div").size() );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "test render( node )": function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff '<div class="floated" style="float:left"></div>' + // float
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff //Check for IE VML and set different number of objects
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff var numObjs = (Y.UA.ie && Y.UA.ie < 9) ? 11 : 11;
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( numObjs, div.all("span,div").size() );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( numObjs, fl.all("span,div").size() );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( numObjs, p.all("span,div").size() );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( numObjs, span.all("span,div").size() );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "test render: selector attrib in constructor": function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff '<div class="floated" style="float:left"></div>' + // float
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff (new Y.Dial({ render: "#testbed > div.floated" }));
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff //Check for IE VML and set different number of objects
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff var numObjs = (Y.UA.ie && Y.UA.ie < 9) ? 11 : 11;
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( numObjs, div.all("span,div").size() );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( numObjs, fl.all("span,div").size() );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( numObjs, p.all("span,div").size() );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( numObjs, span.all("span,div").size() );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "test render: node attrib in constructor": function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff '<div class="floated" style="float:left"></div>' + // float
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff //Check for IE VML and set different number of objects
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff var numObjs = (Y.UA.ie && Y.UA.ie < 9) ? 11 : 11;
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( numObjs, div.all("span,div").size() );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( numObjs, fl.all("span,div").size() );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( numObjs, p.all("span,div").size() );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( numObjs, span.all("span,div").size() );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "test render off DOM": function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff //Check for IE VML and set different number of objects
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff var numObjs = (Y.UA.ie && Y.UA.ie < 9) ? 11 : 11;
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( numObjs, container.all("span,div").size() );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "test destroy() before render": function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "test destroy() after render off DOM": function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.isNull( container.get("firstChild") );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "test destroy() after render to DOM": function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.isNull( Y.one("#testbed").get("firstChild") );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff setUp: function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.one('body').append('<div id="testbed"></div>');
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff tearDown: function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "test get('value')) and set('value', v) before render": function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff var d = this.dial;
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff d.set('value', 3.3333); // dial does not round value
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( 3, d.get('value') );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff // out of range constrained by setter FIX THIS BUG. leaving in 3.3.0
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff d.set('value', -500);
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( -220, d.get('value') );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff // out of range constrained by setter FIX THIS BUG. leaving in 3.3.0
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff d.set('value', 500);
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( 220, d.get('value') );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( d.get('value'), d.get('value') );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff d.set('value', 6.77777); // dial does not round value
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( 7, d.get('value') );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( d.get('value'), d.get('value') );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "test get('value')) and set('value', v) after render() to hidden container": function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff d.set('value', 3.3333); // dial does not round value
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( 3, d.get('value') );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff // out of range constrained by setter FIX THIS BUG. leaving in 3.3.0
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff d.set('value', -500);
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( -220, d.get('value'), "2" );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff // out of range constrained by setter FIX THIS BUG. leaving in 3.3.0
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff d.set('value', 500);
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( 220, d.get('value') );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( d.get('value'), d.get('value') );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff d.set('value', 6.77777); // dial does not round value
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( 7, d.get('value') );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( d.get('value'), d.get('value') );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "test get('value')) and set('value', v) after render() to DOM": function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff var d = this.dial;
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff d.set('value', 3.3333); // dial does not round value
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( 3, d.get('value') );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff // out of range constrained by setter FIX THIS BUG. leaving in 3.3.0
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff d.set('value', -500);
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( -220, d.get('value') );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff // out of range constrained by setter FIX THIS BUG. leaving in 3.3.0
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff d.set('value', 500);
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( 220, d.get('value') );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( d.get('value'), d.get('value') );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff d.set('value', 6.77777); // dial does not round value
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( 7, d.get('value') );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( d.get('value'), d.get('value') );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "set('value', v) then render() should position _handleNode": function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff var d = this.dial;
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( 76, parseInt(d._handleNode.getStyle("left"),10) );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "set('value', v) after render() should move the _handleNode": function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff var d = this.dial;
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( 40, parseInt(d._handleNode.getStyle('left'),10) );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( 76, parseInt(d._handleNode.getStyle('left'),10) );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( 40, parseInt(d._handleNode.getStyle('left'),10) );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( 56, parseInt(d._handleNode.getStyle('left'),10) );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff }// no comma *****************
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff // This works in everything but IE9. I don't know why.
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff // compare to similar test in slider's testsuite.js
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "setValue(v) when hidden should still move the handle-user": function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff var d = this.dial;
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.one('#testbed').setStyle('visibility','block');
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff d.render('#testbed');
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( 40, parseInt(d._handleNode.getStyle('left'),10) );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff d.set('value', 20);
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( 76, parseInt(d._handleNode.getStyle('left'),10) );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.one('#testbed').setStyle('visibility','');
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( 76, parseInt(d._handleNode.getStyle('left'),10) );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff } // no comma *****************
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff// _should: {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff// // TODO This is a bug. invalid construction value should fallback
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff// // to specified attribute default
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff// "axis should only accept 'x', 'X', 'y', and 'Y'": true
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff setUp: function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.one('body').append('<span id="testbed"></span>');
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff tearDown: function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "test diameter": function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.one('#testbed').append('<div id="dial"></div><div id="ref"></div>');
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff delta = bb.get('offsetWidth') - parseInt(dial.get('diameter'), 10);
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff dial = new Y.Dial({ diameter: 300 }).render( testbed );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( (300 + delta), bb.get('offsetWidth') );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff/* I don't believe the diameter should be able to be changed after render
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff dial.set('diameter', 200);
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( (200 + delta), bb.get('offsetWidth') );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff dial.set('diameter', "-140px");
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( (200 + delta), bb.get('offsetWidth') );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff ref.setStyle("width", "150px");
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff dial.set('diameter', '150');
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( (ref.get('offsetWidth') + delta), bb.get('offsetWidth') );
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff "test handleDiameter": function () {
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff Y.one('#testbed').append('<div id="dial"></div><div id="ref"></div>');
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff dial = new Y.Dial({handleDiameter: 0.53 }).render( testbed );
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff calcSize = dial.get('diameter') * dial.get('handleDiameter');
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff Y.Assert.areEqual( calcSize, dial._handleNode.get('offsetWidth') );
899dbacf118d7ad4f637548d13251cc2dd0a1dc6Jeff Conniff // Would like to test markerDiameter
899dbacf118d7ad4f637548d13251cc2dd0a1dc6Jeff Conniff // but it reads as zero I believe because _markerNode is hidden until the handle is dragged.
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff "test centerButtonDiameter": function () {
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff Y.one('#testbed').append('<div id="dial"></div><div id="ref"></div>');
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff dial = new Y.Dial({centerButtonDiameter: 0.89 }).render( testbed );
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff calcSize = dial.get('diameter') * dial.get('centerButtonDiameter');
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff Y.Assert.areEqual( calcSize, dial._centerButtonNode.get('offsetWidth') );
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff "test handleDistance": function () {
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff Y.one('#testbed').append('<div id="dial"></div><div id="ref"></div>');
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff dial = new Y.Dial({handleDistance: 1 }).render( testbed );
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff calcHandleTop = -(dial.get('handleDiameter') * dial.get('diameter')) / 2;
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff Y.Assert.areEqual( calcHandleTop, parseInt(dial._handleNode.getStyle('top'),10) );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "test increments and min max": function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "test min, max, resetDial, incrMinor, decrMinor, incrMajor, decrMajor": function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.one('#testbed').append('<div id="dial"></div>');
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual(dial.get('min'), dial.get('value'));
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual(dial.get('max'), dial.get('value'));
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual(dial._originalValue, dial.get('value'));
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "test max": function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "test value": function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff setUp: function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.one('body').append('<span id="testbed"></span>');
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff tearDown: function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "test changing strings after rendering dial": function() {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( labelStr, Y.one('.' + dial._classes[0].CSS_CLASSES.labelString).get('innerHTML') );
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff Y.Assert.areEqual( tooltipStr, Y.one('.' + dial._classes[0].CSS_CLASSES.handleVml).get('title') );
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff Y.Assert.areEqual( tooltipStr, Y.one('.' + dial._classes[0].CSS_CLASSES.handle).get('title') );
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff setUp: function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.one('body').append('<span id="testbed"></span>');
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff tearDown: function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "test international strings from lang files": function() {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Intl.add ( 'dial' , 'xs' , {label: 'My label lang test', resetStr: 'Reset lang test', tooltipHandle: 'Drag to set value lang test'} )
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff //alert(Y.Intl.setLang('dial', 'xs'));
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff Y.Assert.areEqual( Y.Intl.get('dial').label, Y.one('.' + dial._classes[0].CSS_CLASSES.labelString).get('innerHTML') );
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff Y.Assert.areEqual( Y.Intl.get('dial').tooltipHandle, Y.one('.' + dial._classes[0].CSS_CLASSES.handleVml).get('title') );
7dde237706b1869cfe33ea134cb83751ecdb06deJeff Conniff Y.Assert.areEqual( Y.Intl.get('dial').tooltipHandle, Y.one('.' + dial._classes[0].CSS_CLASSES.handle).get('title') );
6bc576b441394b64944b925e027ba91d0cc92151Jeff Conniff setUp: function () {
6bc576b441394b64944b925e027ba91d0cc92151Jeff Conniff Y.one('body').append('<span id="testbed"></span>');
6bc576b441394b64944b925e027ba91d0cc92151Jeff Conniff tearDown: function () {
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff "test mousedown at 3 oclock": function() { //string must start with "test
6bc576b441394b64944b925e027ba91d0cc92151Jeff Conniff Y.one('#testbed').append('<div id="dial"></div><div id="ref"></div>');
ac5ebbd6bec747be7c54ca0ef5d481dd40db1f25Jeff Conniff dial = new Y.Dial({handleDistance: 1, value: 0, min: 0, max: 100 }).render( testbed );
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff var scrollT = Y.one('document').get('scrollTop'),
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownX = (dial._centerXOnPage + 30 - scrollL), //Set the X for click simulation
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownY = (dial._centerYOnPage - scrollT); //Set the Y for click simulation
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff //visual inspection of where the click will occur. Inspect at 100% with no scrolling
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff var mouseDownXYMarker = Y.Node.create('<div style="position:absolute; width:3px; height:3px; background-color:#f00;"></div>')
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.append(mouseDownXYMarker);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownXYMarker.setXY([mouseDownX, mouseDownY]);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: mouseDownX, clientY: mouseDownY});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff "test mousedown with min -40, max 40": function() { //string must start with "test
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff Y.one('#testbed').append('<div id="dial"></div><div id="ref"></div>');
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff dial = new Y.Dial({handleDistance: 1, value: 35, min: -40, max: 40 }).render( testbed );
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff var scrollT = Y.one('document').get('scrollTop'),
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff //visual inspection of where the click will occur. Inspect at 100% with no scrolling
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff/* function visualInspection(x,y){
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff if(!Y.one('.mDMarker')){
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownXYMarker = Y.Node.create('<div class="mDMarker" style="position:absolute; width:3px; height:3px; background-color:#f00;"></div>')
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.append(mouseDownXYMarker);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownXYMarker.setXY([(dial._centerXOnPage + x - scrollL), (dial._centerYOnPage + y - scrollT)]);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownX = -25; //Set the X for click simulation. This is offset from dial._centerXOnPage
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownY = 30; //Set the Y for click simulation. This is offset from dial._centerYOnPage
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff "test mousedown with min -10, max 200": function() { //string must start with "test
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff Y.one('#testbed').append('<div id="dial"></div><div id="ref"></div>');
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff dial = new Y.Dial({handleDistance: 1, value: 10, min: -10, max: 200 }).render( testbed );
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff var scrollT = Y.one('document').get('scrollTop'),
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff //visual inspection of where the click will occur. Inspect at 100% with no scrolling
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff/* function visualInspection(x,y){
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff if(!Y.one('.mDMarker')){
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownXYMarker = Y.Node.create('<div class="mDMarker" style="position:absolute; width:3px; height:3px; background-color:#f00;"></div>')
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.append(mouseDownXYMarker);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownXYMarker.setXY([(dial._centerXOnPage + x - scrollL), (dial._centerYOnPage + y - scrollT)]);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownX = -15; //Set the X for click simulation. This is offset from dial._centerXOnPage
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownY = -30; //Set the Y for click simulation. This is offset from dial._centerYOnPage
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownX = -35; //Set the X for click simulation. This is offset from dial._centerXOnPage
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownY = -30; //Set the Y for click simulation. This is offset from dial._centerYOnPage
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff "test mousedown with min 10, max 25": function() { //string must start with "test
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff Y.one('#testbed').append('<div id="dial"></div><div id="ref"></div>');
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff dial = new Y.Dial({handleDistance: 1, value: 12, min: 10, max: 25 }).render( testbed );
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff var scrollT = Y.one('document').get('scrollTop'),
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff //visual inspection of where the click will occur. Inspect at 100% with no scrolling
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff/* function visualInspection(x,y){
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff if(!Y.one('.mDMarker')){
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownXYMarker = Y.Node.create('<div class="mDMarker" style="position:absolute; width:3px; height:3px; background-color:#f00;"></div>')
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.append(mouseDownXYMarker);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownXYMarker.setXY([(dial._centerXOnPage + x - scrollL), (dial._centerYOnPage + y - scrollT)]);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownX = -15; //Set the X for click simulation. This is offset from dial._centerXOnPage
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownY = -30; //Set the Y for click simulation. This is offset from dial._centerYOnPage
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownX = 28; //Set the X for click simulation. This is offset from dial._centerXOnPage
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownY = -30; //Set the Y for click simulation. This is offset from dial._centerYOnPage
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff "test mousedown on and off North min 0 max 100. one revolution": function() { //string must start with "test
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff Y.one('#testbed').append('<div id="dial"></div><div id="ref"></div>');
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff dial = new Y.Dial({handleDistance: 1, value: 0, min: 0, max: 100 }).render( testbed );
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff var scrollT = Y.one('document').get('scrollTop'),
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff //visual inspection of where the click will occur. Inspect at 100% with no scrolling
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff/* function visualInspection(x,y){
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff if(!Y.one('.mDMarker')){
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownXYMarker = Y.Node.create('<div class="mDMarker" style="position:absolute; width:3px; height:3px; background-color:#f00;"></div>')
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.append(mouseDownXYMarker);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownXYMarker.setXY([(dial._centerXOnPage + x - scrollL), (dial._centerYOnPage + y - scrollT)]);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownX = -15; //Set the X for click simulation. This is offset from dial._centerXOnPage
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownY = -30; //Set the Y for click simulation. This is offset from dial._centerYOnPage
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownX = 0; //Set the X for click simulation. This is offset from dial._centerXOnPage
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownY = -30; //Set the Y for click simulation. This is offset from dial._centerYOnPage
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff "test mousedown min 0 max 200. two revolutions": function() { //string must start with "test
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff Y.one('#testbed').append('<div id="dial"></div><div id="ref"></div>');
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff dial = new Y.Dial({handleDistance: 1, value: 90, min: 0, max: 200 }).render( testbed );
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff var scrollT = Y.one('document').get('scrollTop'),
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff //visual inspection of where the click will occur. Inspect at 100% with no scrolling
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff/* function visualInspection(x,y){
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff if(!Y.one('.mDMarker')){
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownXYMarker = Y.Node.create('<div class="mDMarker" style="position:absolute; width:3px; height:3px; background-color:#f00;"></div>')
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.append(mouseDownXYMarker);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownXYMarker.setXY([(dial._centerXOnPage + x - scrollL), (dial._centerYOnPage + y - scrollT)]);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownX = -15; //Set the X for click simulation. This is offset from dial._centerXOnPage
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownY = -30; //Set the Y for click simulation. This is offset from dial._centerYOnPage
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownX = 0; //Set the X for click simulation. This is offset from dial._centerXOnPage
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownY = -30; //Set the Y for click simulation. This is offset from dial._centerYOnPage
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff "test mousedown min 5 max 80": function() { //string must start with "test
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff Y.one('#testbed').append('<div id="dial"></div><div id="ref"></div>');
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff dial = new Y.Dial({handleDistance: 1, value: 60, min: 5, max: 80 }).render( testbed );
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff var scrollT = Y.one('document').get('scrollTop'),
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff //visual inspection of where the click will occur. Inspect at 100% with no scrolling
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff/* function visualInspection(x,y){
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff if(!Y.one('.mDMarker')){
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownXYMarker = Y.Node.create('<div class="mDMarker" style="position:absolute; width:3px; height:3px; background-color:#f00;"></div>')
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.append(mouseDownXYMarker);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownXYMarker.setXY([(dial._centerXOnPage + x - scrollL), (dial._centerYOnPage + y - scrollT)]);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownX = -5; //Set the X for click simulation. This is offset from dial._centerXOnPage
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownY = -30; //Set the Y for click simulation. This is offset from dial._centerYOnPage
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownX = -30; //Set the X for click simulation. This is offset from dial._centerXOnPage
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff mouseDownY = 0; //Set the Y for click simulation. This is offset from dial._centerYOnPage
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff// visualInspection(mouseDownX,mouseDownY);
f61be8b915b3e0b7e9be07d134145b61707bc881Jeff Conniff ring.simulate("mousedown", { clientX: (dial._centerXOnPage + mouseDownX - scrollL), clientY: (dial._centerYOnPage + mouseDownY - scrollT)});
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff "test drag handle past max, around one revolution, then back to less than max": function() { //string must start with "test
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff Y.one('#testbed').append('<div id="dial"></div><div id="ref"></div>');
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff dial = new Y.Dial({handleDistance: 1, value: 80, min: 0, max: 100 }).render( testbed );
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff var scrollT = Y.one('document').get('scrollTop'),
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff // visual inspection of where the event *will* occur in the next line of code.
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff // When uncommented, this can help see what's going on.
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff // Inspect at 100% with no scrolling
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff function visualInspection(x,y){
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff if(!Y.one('.mDMarker')){
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff mouseDownXYMarker = Y.Node.create('<div class="mDMarker" style="position:absolute; width:3px; height:3px; background-color:#f00;"></div>')
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff ring.append(mouseDownXYMarker);
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff mouseDownXYMarker.setXY([(dial._centerXOnPage + x - scrollL), (dial._centerYOnPage + y - scrollT)]);
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff // Simulating a drag is not possible with Y.event.simulate
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff // So I have to use an event supported by simulate.
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff // One that doesn't interfere with the other events of dial as mousedown does
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff // I chose mouseover on the ring as the event
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff // and send it to the dial._handleDrag method,
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff // which is what drag is attached to in the Dial.js code.
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff Y.on('mouseover', Y.bind(dial._handleDrag, dial), dial._ringNode);
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff eventX = -25; //Set the X for event simulation. This is offset from dial._centerXOnPage
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff eventY = -30; //Set the Y for event simulation. This is offset from dial._centerYOnPage
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff// visualInspection(eventX,eventY);
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff ring.simulate("mouseover", { clientX: (dial._centerXOnPage + eventX - scrollL), clientY: (dial._centerYOnPage + eventY - scrollT)});
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff Y.Assert.areEqual( 90, dial.get('value'), 'Less than max at 11 oclock');
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff// visualInspection(eventX,eventY);
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff ring.simulate("mouseover", { clientX: (dial._centerXOnPage + eventX - scrollL), clientY: (dial._centerYOnPage + eventY - scrollT)});
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff Y.Assert.areEqual( 100, dial.get('value'), '> max at 1 oclock');
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff// visualInspection(eventX,eventY);
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff ring.simulate("mouseover", { clientX: (dial._centerXOnPage + eventX - scrollL), clientY: (dial._centerYOnPage + eventY - scrollT)});
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff Y.Assert.areEqual( 100, dial.get('value'), '> max at 4 oclock');
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff// visualInspection(eventX,eventY);
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff ring.simulate("mouseover", { clientX: (dial._centerXOnPage + eventX - scrollL), clientY: (dial._centerYOnPage + eventY - scrollT)});
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff Y.Assert.areEqual( 100, dial.get('value'), '> max at 7 oclock');
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff// visualInspection(eventX,eventY);
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff ring.simulate("mouseover", { clientX: (dial._centerXOnPage + eventX - scrollL), clientY: (dial._centerYOnPage + eventY - scrollT)});
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff Y.Assert.areEqual( 100, dial.get('value'), '> max at 11oclock');
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff// visualInspection(eventX,eventY);
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff ring.simulate("mouseover", { clientX: (dial._centerXOnPage + eventX - scrollL), clientY: (dial._centerYOnPage + eventY - scrollT)});
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff Y.Assert.areEqual( 100, dial.get('value'), 'passed max the second time');
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff// visualInspection(eventX,eventY);
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff ring.simulate("mouseover", { clientX: (dial._centerXOnPage + eventX - scrollL), clientY: (dial._centerYOnPage + eventY - scrollT)});
2ea17401d5e587b3d45104f547c6793697202cefJeff Conniff Y.Assert.areEqual( 90, dial.get('value'), 'was > max, now back to < max');
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniffsuite.add( new Y.Test.Case({
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff name: "Bugs",
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff setUp: function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff tearDown: function () {
644f103ad609f6b7ff06f1f71e405f40de8d697fJeff Conniff "test ": function () {