dom-xy-test.js revision 1dac070d5991af1a83315be5c43374921abe4aea
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav GlassYUI.add('dom-xy-test', function(Y) {
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass Y.DOM._testXY = function() {
d2c4d6671bde02c4f15e2dd6a9d39e59b2761633Dav Glass var Assert = Y.Assert,
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass ArrayAssert = Y.ArrayAssert,
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass tests = {name: 'Y.DOM.xy'},
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass sel = 'h1, .node, table th, table td, table tr, table',
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass play2 = Y.DOM.byId('play2'),
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass nodes = Y.Selector.query(sel);
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass window.scrollTo(100, 100);
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass play2.scrollTop = 50;
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass Y.each(nodes, function(n) {
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass var el = document.createElement('div'),
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass xy = Y.DOM.getXY(n),
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass box,
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass actual,
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass id = n.id;
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass el.className = 'nodeOver nodeOver-' + n.tagName.toLowerCase();
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass el.style.height = n.offsetHeight + 'px';
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass el.style.width = n.offsetWidth + 'px';
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass document.body.appendChild(el);
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass Y.DOM.setXY(el, xy, true);
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass box = el.getBoundingClientRect();
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass actual = [box.left + Y.DOM.docScrollX(), box.top + Y.DOM.docScrollY()];
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass tests['should set ' + id + ' in page coords'] = function() {
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass ArrayAssert.itemsAreEqual(actual, [xy[0], xy[1]]);
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass };
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass });
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass Y.Test.Runner.add(new Y.Test.Case(tests));
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass };
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass}, '@VERSION@' ,{requires:['dom-screen', 'test']});
ec16856c3004ac9791cefede79e459e2f4a1d1c0Dav Glass