testsuite.js revision 6c299ce58a8804eadd3d34ea217c3def48949662
0N/A "test default construction":
function () {
0N/A "test default construction":
function () {
0N/A "test render(selector)":
function () {
0N/A "<div></div>" +
// block element 0N/A '<div class="floated" style="float:left"></div>' +
// float 0N/A "<p></p>" +
// limited block element 0N/A "<span></span>");
// inline element 0N/A //Check for IE VML and set different number of objects 0N/A "test render( node )":
function () {
0N/A "<div></div>" +
// block element 0N/A '<div class="floated" style="float:left"></div>' +
// float 0N/A "<p></p>" +
// limited block element 0N/A "<span></span>");
// inline element 0N/A //Check for IE VML and set different number of objects 0N/A "test render: selector attrib in constructor":
function () {
0N/A "<div></div>" +
// block element 0N/A '<div class="floated" style="float:left"></div>' +
// float 0N/A "<p></p>" +
// limited block element 0N/A "<span></span>");
// inline element 0N/A //Check for IE VML and set different number of objects 0N/A "test render: node attrib in constructor":
function () {
0N/A "<div></div>" +
// block element 0N/A '<div class="floated" style="float:left"></div>' +
// float 0N/A "<p></p>" +
// limited block element 0N/A "<span></span>");
// inline element 0N/A //Check for IE VML and set different number of objects 0N/A "test render off DOM":
function () {
0N/A //Check for IE VML and set different number of objects 0N/A "test destroy() before render":
function () {
0N/A "test destroy() after render off DOM":
function () {
0N/A "test destroy() after render to DOM":
function () {
0N/A "test get('value')) and set('value', v) before render":
function () {
0N/A d.set('value', 3.3333); // dial does not round value 0N/A Y.Assert.areEqual( 3, d.get('value') ); 0N/A // out of range constrained by setter FIX THIS BUG. leaving in 3.3.0 0N/A d.set('value', -500); 0N/A Y.Assert.areEqual( -220, d.get('value') ); 0N/A // out of range constrained by setter FIX THIS BUG. leaving in 3.3.0 0N/A d.set('value', 500); 0N/A Y.Assert.areEqual( 220, d.get('value') ); 0N/A Y.Assert.areEqual( d.get('value'), d.get('value') ); 0N/A d.set('value', 6.77777); // dial does not round value 0N/A Y.Assert.areEqual( 7, d.get('value') ); 0N/A Y.Assert.areEqual( d.get('value'), d.get('value') ); 0N/A "test get('value')) and set('value', v) after render() to hidden container":
function () {
0N/A d.set('value', 3.3333); // dial does not round value 0N/A Y.Assert.areEqual( 3, d.get('value') ); 0N/A // out of range constrained by setter FIX THIS BUG. leaving in 3.3.0 0N/A d.set('value', -500); 0N/A Y.Assert.areEqual( -220, d.get('value'), "2" ); 0N/A // out of range constrained by setter FIX THIS BUG. leaving in 3.3.0 0N/A d.set('value', 500); 0N/A Y.Assert.areEqual( 220, d.get('value') ); 0N/A Y.Assert.areEqual( d.get('value'), d.get('value') ); 0N/A d.set('value', 6.77777); // dial does not round value 0N/A Y.Assert.areEqual( 7, d.get('value') ); 0N/A Y.Assert.areEqual( d.get('value'), d.get('value') ); 0N/A "test get('value')) and set('value', v) after render() to DOM":
function () {
0N/A d.set('value', 3.3333); // dial does not round value 0N/A Y.Assert.areEqual( 3, d.get('value') ); 0N/A // out of range constrained by setter FIX THIS BUG. leaving in 3.3.0 0N/A d.set('value', -500); 0N/A Y.Assert.areEqual( -220, d.get('value') ); 0N/A // out of range constrained by setter FIX THIS BUG. leaving in 3.3.0 0N/A d.set('value', 500); 0N/A Y.Assert.areEqual( 220, d.get('value') ); 0N/A Y.Assert.areEqual( d.get('value'), d.get('value') ); 0N/A d.set('value', 6.77777); // dial does not round value 0N/A Y.Assert.areEqual( 7, d.get('value') ); 0N/A Y.Assert.areEqual( d.get('value'), d.get('value') ); 0N/A "set('value', v) then render() should position _handleNode":
function () {
0N/A "set('value', v) after render() should move the _handleNode":
function () {
0N/A }
// no comma ***************** 0N/A // This works in everything but IE9. I don't know why. 0N/A "setValue(v) when hidden should still move the handle-user": function () { 0N/A Y.one('#testbed').setStyle('visibility','block'); 0N/A d.render('#testbed'); 0N/A Y.Assert.areEqual( 40, parseInt(d._handleNode.getStyle('left'),10) ); 0N/A Y.Assert.areEqual( 76, parseInt(d._handleNode.getStyle('left'),10) ); 0N/A Y.one('#testbed').setStyle('visibility',''); 0N/A Y.Assert.areEqual( 76, parseInt(d._handleNode.getStyle('left'),10) ); 0N/A } // no comma ***************** 0N/A// // TODO This is a bug. invalid construction value should fallback 0N/A// // to specified attribute default 0N/A// "axis should only accept 'x', 'X', 'y', and 'Y'": true 0N/A "test diameter":
function () {
0N/A Y.
one(
'#testbed').
append(
'<div id="dial"></div><div id="ref"></div>');
0N/A/* I don't believe the diameter should be able to be changed after render 0N/A dial.set('diameter', 200); 0N/A Y.Assert.areEqual( (200 + delta), bb.get('offsetWidth') ); 0N/A dial.set('diameter', "-140px"); 0N/A Y.Assert.areEqual( (200 + delta), bb.get('offsetWidth') ); 0N/A ref.setStyle("width", "150px"); 0N/A dial.set('diameter', '150'); 0N/A Y.Assert.areEqual( (ref.get('offsetWidth') + delta), bb.get('offsetWidth') ); 0N/A "test handleDiameter":
function () {
0N/A Y.
one(
'#testbed').
append(
'<div id="dial"></div><div id="ref"></div>');
0N/A // Would like to test markerDiameter 0N/A // but it reads as zero I believe because _markerNode is hidden until the handle is dragged. 0N/A "test centerButtonDiameter":
function () {
0N/A Y.
one(
'#testbed').
append(
'<div id="dial"></div><div id="ref"></div>');
0N/A "test handleDistance":
function () {
0N/A Y.
one(
'#testbed').
append(
'<div id="dial"></div><div id="ref"></div>');
0N/A "test increments and min max":
function () {
0N/A "test min, max, resetDial, incrMinor, decrMinor, incrMajor, decrMajor":
function () {
0N/A "test max":
function () {
0N/A "test value":
function () {
0N/A name:
"String Changes After Render",
0N/A "test changing strings after rendering dial":
function() {
0N/A "test international strings from lang files":
function() {
0N/A //alert(Y.Intl.setLang('dial', 'xs')); 0N/A // Places a red marker where the event (mousdown, drag:drag, drag:end) is going to take place. 0N/A // In order to see it, you need to put a breakpoint on the ring.simulate line just after this is called 0N/A // Turn the global enableVis to false before check in 0N/A var enableVis =
false;
// Global enable. You'll need to put breakpoints in code to see it. 0N/A eventXYMarker = Y.
Node.
create(
'<div class="mDMarker" style="position:absolute; width:3px; height:3px; background-color:#f00;"></div>')
0N/A "test min:0 max:100 -- drag past max/max, then click 11 or 1 o'clock.":
function() {
//string must start with "test 0N/A Y.
one(
'#testbed').
append(
'<div id="dial"></div><div id="ref"></div>');
0N/A getXYProps =
function(){
// this returns the properties, the object literal needed for .simulate 0N/A // listeners that bind an event *unused* by Dial to the intended method 0N/A eventX =
22;
//Set the X for event simulation. This is offset from dial._centerXOnPage 0N/A eventY = -
30;
//Set the Y for event simulation. 0N/A eventX = -
22;
//Set the X for event simulation. This is offset from dial._centerXOnPage 0N/A eventX = -
22;
//Set the X for event simulation. This is offset from dial._centerXOnPage 0N/A eventX =
22;
//Set the X for event simulation. This is offset from dial._centerXOnPage 0N/A eventX = -
22;
//Set the X for event simulation. This is offset from dial._centerXOnPage 0N/A eventX = -
22;
//Set the X for event simulation. This is offset from dial._centerXOnPage 0N/A "test min:0 max:100 -- mousedown on and off North. Range = one revolution":
function() {
//string must start with "test 0N/A Y.
one(
'#testbed').
append(
'<div id="dial"></div><div id="ref"></div>');
0N/A getXYProps =
function(){
// this returns the properties, the object literal needed for .simulate 0N/A // listeners that bind an event *unused* by Dial to the intended method 0N/A// Y.on('mouseover', Y.bind(dial._handleDrag, dial), dial._ringNode); // make mouseover do what a real drag:drag would do 0N/A// Y.on('mouseout', Y.bind(dial._handleDragEnd, dial), dial._ringNode); // make mouseover do what a real drag:end would do 0N/A eventX = -
15;
//Set the X for click simulation. This is offset from dial._centerXOnPage 0N/A eventY = -
30;
//Set the Y for click simulation. This is offset from dial._centerYOnPage eventX =
0;
//Set the X for click simulation. This is offset from dial._centerXOnPage eventY = -
30;
//Set the Y for click simulation. This is offset from dial._centerYOnPage "test min: 0, max: 200 -- drag past max/max, then click 11 or 1 o'clock.":
function() {
//string must start with "test Y.
one(
'#testbed').
append(
'<div id="dial"></div><div id="ref"></div>');
getXYProps =
function(){
// this returns the properties, the object literal needed for .simulate // listeners that bind an event *unused* by Dial to the intended method eventX =
22;
//Set the X for event simulation. This is offset from dial._centerXOnPage eventY = -
30;
//Set the Y for event simulation. eventX = -
22;
//Set the X for event simulation. This is offset from dial._centerXOnPage dial.
set(
'value',
10);
//////////////////////////////////////////////////////// eventX = -
22;
//Set the X for event simulation. This is offset from dial._centerXOnPage eventX =
22;
//Set the X for event simulation. This is offset from dial._centerXOnPage dial.
set(
'value',
10);
///////////////////////////////////////////// eventX = -
22;
//Set the X for event simulation. This is offset from dial._centerXOnPage eventX = -
22;
//Set the X for event simulation. This is offset from dial._centerXOnPage eventX =
22;
//Set the X for event simulation. This is offset from dial._centerXOnPage "test min: 0, max: 200 -- click through two revolutions CW":
function() {
//string must start with "test Y.
one(
'#testbed').
append(
'<div id="dial"></div><div id="ref"></div>');
getXYProps =
function(){
// this returns the properties, the object literal needed for .simulate // listeners that bind an event *unused* by Dial to the intended method // Y.on('mouseover', Y.bind(dial._handleDrag, dial), dial._ringNode); // make mouseover do what a real drag:drag would do // Y.on('mouseout', Y.bind(dial._handleDragEnd, dial), dial._ringNode); // make mouseover do what a real drag:end would do eventX = -
15;
//Set the X for click simulation. This is offset from dial._centerXOnPage eventY = -
30;
//Set the Y for click simulation. This is offset from dial._centerYOnPage eventX =
0;
//Set the X for click simulation. This is offset from dial._centerXOnPage eventY = -
30;
//Set the Y for click simulation. This is offset from dial._centerYOnPage "test min: -35, max: 35 -- drag past max/max, then click in/out of range also #2530597." :
function() {
//string must start with "test Y.
one(
'#testbed').
append(
'<div id="dial"></div><div id="ref"></div>');
getXYProps =
function(){
// this returns the properties, the object literal needed for .simulate // listeners that bind an event *unused* by Dial to the intended method eventX = -
22;
//Set the X for click simulation. This is offset from dial._centerXOnPage eventY =
30;
//Set the Y for click simulation. This is offset from dial._centerYOnPage //#2530597 issues with min at zero and other zero related problem // originally this bug was: // drag to get angle just slightly > 0 but value is Zero // then click to left side of dial // Handle snapped to max on the right side of the dial dial.
set(
'value',
10);
///////////////////////////////////////////// eventX = -
8;
// -8 results in value 0.35 ... -12. results in -0.35 eventY = -
100;
//Set the Y for click simulation. This is offset from dial._centerYOnPage // Y.Assert.areEqual( 0, dial.get('value'), 'drag to get value 0 but angle slightly > 0'); // check dial._prevAng dial.
set(
'decimalPlaces',
0);
// round to integer for Y.assert //#2530597 issues with min at zero and other zero related problem dial.
set(
'value', -
10);
///////////////////////////////////////////// eventX = -
12;
// -8 results in value 0.35 ... -12. results in -0.35 eventY = -
100;
//Set the Y for click simulation. This is offset from dial._centerYOnPage // Y.Assert.areEqual( 0, dial.get('value'), 'drag to get value 0 but angle slightly < 0'); // check dial._prevAng dial.
set(
'decimalPlaces',
0);
// round to integer for Y.assert dial.
set(
'value',
0);
///////////////////////////////////////////// dial.
set(
'value',
0);
///////////////////////////////////////////// "test min: 10, max: 25 -- mousedown text min max and opposite mid angle ":
function() {
//string must start with "test Y.
one(
'#testbed').
append(
'<div id="dial"></div><div id="ref"></div>');
getXYProps =
function(){
// this returns the properties, the object literal needed for .simulate // listeners that bind an event *unused* by Dial to the intended method // Y.on('mouseover', Y.bind(dial._handleDrag, dial), dial._ringNode); // make mouseover do what a real drag:drag would do // Y.on('mouseout', Y.bind(dial._handleDragEnd, dial), dial._ringNode); // make mouseover do what a real drag:end would do eventX = -
15;
//Set the X for click simulation. This is offset from dial._centerXOnPage eventY = -
30;
//Set the Y for click simulation. This is offset from dial._centerYOnPage eventX =
28;
//Set the X for click simulation. This is offset from dial._centerXOnPage eventY = -
30;
//Set the Y for click simulation. This is offset from dial._centerYOnPage "test min: 5, max: 80 -- mousedown text min max and opposite mid angle":
function() {
//string must start with "test Y.
one(
'#testbed').
append(
'<div id="dial"></div><div id="ref"></div>');
getXYProps =
function(){
// this returns the properties, the object literal needed for .simulate // listeners that bind an event *unused* by Dial to the intended method // Y.on('mouseover', Y.bind(dial._handleDrag, dial), dial._ringNode); // make mouseover do what a real drag:drag would do // Y.on('mouseout', Y.bind(dial._handleDragEnd, dial), dial._ringNode); // make mouseover do what a real drag:end would do eventX = -
5;
//Set the X for click simulation. This is offset from dial._centerXOnPage eventY = -
30;
//Set the Y for click simulation. This is offset from dial._centerYOnPage eventX = -
30;
//Set the X for click simulation. This is offset from dial._centerXOnPage eventY =
0;
//Set the Y for click simulation. This is offset from dial._centerYOnPage "test drag CW past max, then click 11 O'clock -- min: 0, max: 100":
function() {
//string must start with "test Y.
one(
'#testbed').
append(
'<div id="dial"></div><div id="ref"></div>');
getXYProps =
function(){
// this returns the properties, the object literal needed for .simulate // listeners that bind an event *unused* by Dial to the intended method eventX =
22;
//Set the X for event simulation. This is offset from dial._centerXOnPage eventY = -
30;
//Set the Y for event simulation. eventX = -
22;
//Set the X for event simulation. This is offset from dial._centerXOnPage "test drag CCW past min, then click 1 O'clock -- min: 0, max: 100":
function() {
//string must start with "test Y.
one(
'#testbed').
append(
'<div id="dial"></div><div id="ref"></div>');
getXYProps =
function(){
// this returns the properties, the object literal needed for .simulate // listeners that bind an event *unused* by Dial to the intended method eventX = -
22;
//Set the X for event simulation. This is offset from dial._centerXOnPage eventX =
22;
//Set the X for event simulation. This is offset from dial._centerXOnPage "test min:0, max:100 -- drag (no drag:end) handle past max, around one revolution, then back to less than max. See ratchet effect":
function() {
//string must start with "test Y.
one(
'#testbed').
append(
'<div id="dial"></div><div id="ref"></div>');
getXYProps =
function(){
// this returns the properties, the object literal needed for .simulate // listeners that bind an event *unused* by Dial to the intended method // Simulating a drag is not possible with Y.event.simulate // So I have to use an event supported by simulate. // One that doesn't interfere with the other events of dial as mousedown does // I chose mouseover on the ring as the event // and send it to the dial._handleDrag method, // which is what drag is attached to in the Dial.js code. eventX = -
25;
//Set the X for event simulation. This is offset from dial._centerXOnPage eventY = -
30;
//Set the Y for event simulation. This is offset from dial._centerYOnPage ///////////////////////////////////////// Now do min eventX = -
22;
//Set the X for event simulation. This is offset from dial._centerXOnPage eventY = -
30;
//Set the Y for event simulation. This is offset from dial._centerYOnPage suite.add( new Y.Test.Case({ },
'@VERSION@' ,{
requires:[
'test',
'dial']});