dom.html revision b1aa31eba4fc40aa0b3fad3cf4efbac856b38705
a7c27357b33d726a326a11e1e72f68e1546b994aSerge Hallyn<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
a7c27357b33d726a326a11e1e72f68e1546b994aSerge Hallyn<script type="text/javascript" src="/build/yui/yui-min.js"></script>
a7c27357b33d726a326a11e1e72f68e1546b994aSerge Hallyn YUI({ base: '/build/', filter: 'raw'}).use('dom', 'dom-deprecated', 'console', 'test', function(Y) {
a7c27357b33d726a326a11e1e72f68e1546b994aSerge Hallyn var Assert = Y.Assert,
a7c27357b33d726a326a11e1e72f68e1546b994aSerge Hallyn suite = new Y.Test.Suite("DOM Test Suite");
a7c27357b33d726a326a11e1e72f68e1546b994aSerge Hallyn new Y.Console({ height: '50em' }).render();
a7c27357b33d726a326a11e1e72f68e1546b994aSerge Hallyn var doc = document.getElementById('doc'),
main = document.getElementById('main'),
lorem = document.getElementById('lorem-ipsum'),
search = document.getElementById('search'),
search_fields = document.getElementById('search-fields'),
search_p = document.getElementById('search-p'),
foo = document.getElementById('foo'),
tmp = document.createElement('div');
var inputs = document.getElementById('test-names').getElementsByTagName('input');
Y.DOM.byId('test-name-id1'),
"Y.DOM.byId('test-name-id1')"
Y.DOM.byId('test-name-id2'),
"Y.DOM.byId('test-name-id2')"
var node = document.createElement('div'),
document.body.appendChild(node);
Y.DOM.setText(node, content);
Y.DOM.setText(node, content);
Y.DOM.setText(node, content);
return node.className === 'mod';
Assert.areEqual('left',
Y.DOM.getStyle(foo, 'float'), 'getStyle(foo, "float")');
doc.style.marginBottom = '10px';
Assert.areEqual('10px',
Y.DOM.getStyle(doc, 'marginBottom'), 'doc, marginBottom');
Assert.areEqual('static',
Y.DOM.getStyle(doc, 'position'), 'doc, position');
Y.DOM.setStyle(ft, 'opacity', 0.5);
0.5, "Y.DOM.getStyle(ft, 'opacity')");
Y.DOM.setStyle(main, 'float', 'none');
Y.DOM.setStyle(ft, 'width', '-1');
Assert.fail('setStyle invalid width error');
Y.DOM.setStyle(ft, 'height', '-1');
Assert.fail('setStyle invalid height error');
Y.DOM.setStyle(ft, 'display', 'none');
Y.DOM.setStyle(ft, 'display', null);
Y.DOM.setStyle(ft, 'display', 'none');
Y.DOM.setStyle(ft, 'display', '');
Y.DOM.setStyle(ft, 'opacity', null);
Y.DOM.setStyle(ft, 'opacity', 0);
Y.DOM.setStyle(ft, 'opacity', '');
Y.DOM.setStyle(ft, 'height', '100');
"Y.DOM.setStyle(ft, 'height', '100')");
Y.DOM.setStyle(ft, 'height', '');
Assert.fail('error thrown setting height: ""');
"Y.DOM.setStyle(ft, 'height', '')");
Y.DOM.setStyle(ft, 'height', '100');
Y.DOM.setStyle(ft, 'height');
"Y.DOM.setStyle(ft, 'height')");
Y.DOM.setStyle(ft, 'height', null);
"Y.DOM.setStyle(ft, 'height', null)");
var node = Y.DOM.byId('ft'),
Y.DOM.setStyle(node, attr, num);
Y.DOM.setStyle(node, attr, num);
Y.DOM.setStyle(node, attr, num);
Y.DOM.setStyle(node, attr, num);
var el = Y.DOM.create(html);
Assert.isNull(el, html);
var el = Y.DOM.create(html);
Assert.isNull(el, html);
var el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
html ='<div id="default-e34f85" class="mod view_default"> <div id="default-e34f85-hd" class="hd"><h2>Yahoo! Mail Preview</h2> <span class="mod-button-wrapper"> </span> </div> <div id="default-e34f85-bd" class="bd type_mail type_mail_default"> <p class="divider-b small text-right"><a href="http://us.lrd.yahoo.com/_ylt=AhQqDwn_HdUEqFrWLI8HTGP1cSkA/SIG=10rfos93v/**http%3A//mail.yahoo.com/">Go to Yahoo! Mail</a></p> <img src="http://l.yimg.com/a/i/ww/met/mail_promo_060608.gif" alt="Yahoo! Mail avatar shows the possibilities of email" class="promo" width="300px"> <p class="x-large sign-in-link"><a href="https://us.lrd.yahoo.com/_ylt=AnGramz3WfSHqLcCWa92OGj1cSkA/SIG=12tb7s4o8/**https%3A//login.yahoo.com/config/mail%3F.intl=us%26.src=ym%26.done=http%3A//mail.yahoo.com">Sign in</a> to preview your email here.</p> <p class="med-small">The all-new Yahoo! Mail:<br>More ways to connect with everyone.</p> </div></div>';
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
document.getElementById('test-select').appendChild(el);
el = Y.DOM.create(html);
document.getElementById('test-select').appendChild(el);
el = Y.DOM.create(html);
html = '<iframe border="0" frameBorder="0" marginWidth="0" marginHeight="0" leftMargin="0" topMargin="0" allowTransparency="true" width="100%" height="99%"></iframe>';
el = Y.DOM.create(html);
html = '<thead><tr><td><table><thead></thead><tbody><tr><td>fresh</td></tr></tbody></table></td></tr></thead>';
el = Y.DOM.create(html);
var el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
el = Y.DOM.create(html);
html = '<thead><tr><td><table><tbody><tr><td>fresh</td></tr></tbody></table></td></tr></thead><tbody></tbody>';
el = Y.DOM.create(html);
Assert.areEqual(document.body, Y.DOM.ancestor(bd, function(node) { return node.tagName === 'BODY';}), 'ancestor(bd, fn)');
var node = Y.DOM.byId('doc');
Y.DOM.setAttribute(node, 'class', 'foo');
Assert.areEqual('foo', Y.DOM.getAttribute(node, 'className'), "Y.DOM.getAttribute(node, 'className')");
Y.DOM.setAttribute(node, 'className', 'bar');
node = Y.DOM.byId('search-p-label');
Assert.areEqual('search-p', Y.DOM.getAttribute(node, 'for'), "Y.DOM.setAttribute(node, 'for', 'search-p')");
Assert.areEqual('search-p', Y.DOM.getAttribute(node, 'htmlFor'), "Y.DOM.setAttribute(node, 'htmlFor', 'search-p')");
var node = document.createElement('div');
//Y.DOM.setXY(node, [100, 200]);
document.body.appendChild(node);
Y.DOM.setXY(node, [100, 200]);
var pos = Y.DOM.getXY(node);
ArrayAssert.itemsAreEqual([100, 200], [Math.round(pos[0]), Math.round(pos[1])], 'setXY([100, 200]');
var node = Y.DOM.byId('doc'),
xy = Y.DOM.getXY(node),
region = Y.DOM.region(node);
Assert.areEqual(xy[0], region[0], 'region[0]');
Assert.areEqual(xy[1], region[1], 'region[1]');
var node = Y.DOM.byId('doc'),
scrollX = Y.DOM.docScrollX(node),
scrollY = Y.DOM.docScrollY(node),
winHeight = Y.DOM.winHeight(node),
winWidth = Y.DOM.winWidth(node),
region = Y.DOM.viewportRegion(node);
Assert.areEqual(scrollX, region[0], 'region[0]');
Assert.areEqual(scrollY, region[1], 'region[1]');
region = Y.DOM.viewportRegion();
Assert.areEqual(scrollX, region[0], 'region[0]');
Assert.areEqual(scrollY, region[1], 'region[1]');
var node = Y.DOM.byId('test-add');
Assert.areEqual('STRONG', node.firstChild.nodeName, "Y.DOM.addHTML(node, '<em>new content</em>', node.firstChild)");
Assert.areEqual('SPAN', node.childNodes[1].nodeName, "Y.DOM.addHTML(node, '<em>new content</em>', node.childNodes[1])");
Y.DOM.addHTML(node, 200);
Y.DOM.firstByTag(tag, root),
"Y.DOM.firstByTag(" + tag + " , " + root + ")"
root = document.getElementById('test-form');
Y.DOM.firstByTag(tag, root),
"Y.DOM.firstByTag(" + tag + " , " + root + ")"
"Y.DOM.firstByTag(" + tag + " , " + root + ")"
hex = Y.Color.toHex(rgb);
Assert.areEqual("#610B0B", hex, 'toHex(' + rgb + ')');
hex = Y.Color.toHex(rgb);
Assert.areEqual("#FFFFFF", hex, 'toHex(' + rgb + ')');
hex = Y.Color.toHex(rgb);
Assert.areEqual("#FFFFFF", hex, 'toHex(' + rgb + ')');
hex = Y.Color.toHex(rgb);
Assert.areEqual("#FFFFFF", hex, 'toHex(' + rgb + ')');
hex = Y.Color.toHex(rgb);
Assert.areEqual("#000000", hex, 'toHex(' + rgb + ')');
hex = Y.Color.toHex(rgb);
Assert.areSame(hex, "#61380B", " shoudl be #61380B");
hex = Y.Color.toHex(rgb);
Assert.areSame(hex, "#0B610B", " shoudl be #0B610B");
hex = Y.Color.toHex(rgb);
Assert.areSame(hex, "#380B61", " shoudl be #380B61");
hex = Y.Color.toHex(rgb);
Assert.areSame(hex, "#610B38", " shoudl be #610B38");
var node = document.createElement('div');
document.body.appendChild(node);
document.body.removeChild(node);
node.id = 'doc';
document.body.appendChild(node);
document.body.removeChild(node);
// test form with input name="id" (IE collision with form.id)
node = document.getElementById('ft');
node = node.cloneNode(true);
node.id = 'ft-clone';
document.body.appendChild(node);
Y.Test.Runner.add(suite);
if (parent && parent != window && Y.Test.Manager) {
<p>Fusce feugiat diam. Vestibulum elementum dui in augue. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Mauris pulvinar.</p>