dom.html revision 160f0f85c19c5b820a43e5836719881d58129bcb
1914N/A YUI({ base: '/build/', filter: 'raw'}).use('dom', 'dom-deprecated', 'console', 'test', function(Y) {
1914N/A ArrayAssert = Y.ArrayAssert,
1914N/A suite = new Y.Test.Suite("yuisuite");
1914N/A Y.Test.Runner.setName('DOM Tests');
1914N/A var doc = document.getElementById('doc'),
2362N/A hd = document.getElementById('hd'),
2362N/A bd = document.getElementById('bd'),
2362N/A ft = document.getElementById('ft'),
1914N/A mod1 = document.getElementById('mod1'),
1914N/A mod2 = document.getElementById('mod2'),
1914N/A h1 = hd.getElementsByTagName('h1')[0],
1914N/A main = document.getElementById('main'),
1914N/A lorem = document.getElementById('lorem-ipsum'),
1914N/A search = document.getElementById('search'),
1914N/A search_fields = document.getElementById('search-fields'),
1914N/A search_p = document.getElementById('search-p'),
1914N/A foo = document.getElementById('foo'),
1914N/A tmp = document.createElement('div');
1914N/A var inputs = document.getElementById('test-names').getElementsByTagName('input');
1914N/A Y.DOM.byId('test-name-id1'),
1914N/A "Y.DOM.byId('test-name-id1')"
1914N/A Y.DOM.byId('test-name-id2'),
1914N/A "Y.DOM.byId('test-name-id2')"
1914N/A 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>