dom.html revision 1b133c999958b7958bc007f43f355be4e1144271
436aad11e01e916f75e68a2e9cb89ac217a990d3Tinderbox User<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
e9e4257668ff6c4e583b0c0db2508650b0b677b8Tinderbox User<link type="text/css" rel="stylesheet" href="/yui2/build/logger/assets/logger.css">
c57668a2fbbe558c1bd21652813616f2f517c469Tinderbox User<link type="text/css" rel="stylesheet" href="/yui2/build/yuitest/assets/testlogger.css">
1f4c645185bd8fc70048e0a69eee46193a284e5cTinderbox User<script type="text/javascript" src="/build/yui/yui.js"></script>
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews<script type="text/javascript" src="/yui2/build/yahoo/yahoo-min.js"></script>
bed0874e1a09e810575328c4bfc346a47514b69fMark Andrews<script type="text/javascript" src="/yui2/build/dom/dom-min.js"></script>
950d203b64f512b85fcc093ee1e9e3e531a1aea3Tinderbox User<script type="text/javascript" src="/yui2/build/event/event.js"></script>
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User<script type="text/javascript" src="/yui2/build/logger/logger-min.js"></script>
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews<script type="text/javascript" src="/yui2/build/yuitest/yuitest.js"></script>
a7c412f37cc73d0332887a746e81220cbf09dd00Mark Andrewsh1, h2, h3, h4, h5, h6, p, ul, ol, li {
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews width: 30em;
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews border:5px solid #000;
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews padding:10px;
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User background:#ccc;
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User float:left; /* required for getStyle test */
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User opacity: 0.75;
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater <select id="test-select"><option>choose</option></select>
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater <em class="lorem ipsum ipsum" id="lorem-ipsum">lorem ipsum</em>
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews <p>Fusce feugiat diam. Vestibulum elementum dui in augue. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Mauris pulvinar.</p>
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater <div class="ft"><a href="#">more</a></div>
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews <label for="search-p" id="search-p-label">Query</label>
950d203b64f512b85fcc093ee1e9e3e531a1aea3Tinderbox User <div class="ft"><a href="http://www.developer.yahoo.com">more</a></div>
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User <form id="test-form" class="test-class" action="#">
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User <input id="test-text-value" value="text value">
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User <textarea id="test-textarea-value" value="textarea value"></textarea>
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews <textarea id="test-textarea-novalue"></textarea>
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews <textarea id="test-textarea-textvalue">textarea text</textarea>
27739dd25026283c24645c8a1044b95ef9eb5ac6Tinderbox User <button id="test-button-value" value="button value">button</button>
18920d790825d96ca3943aa2dcb6eb80dc611c5fTinderbox User <button id="test-button-textvalue">button text</button>
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User <option id="test-option-value" value="option value">option text</option>
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews <option id="test-option-textvalue">option text</option>
18920d790825d96ca3943aa2dcb6eb80dc611c5fTinderbox User <option id="test-option-emptyvalue" value="">empty value</option>
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews <option id="test-option-emptyvalue-notext" value=""></option>
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews <p>In hac habitasse platea dictumst. Sed sit amet ligula vitae justo consequat facilisis. Integer tortor. Integer erat. In hac habitasse platea dictumst. Phasellus convallis quam vitae turpis aliquam lobortis. Aliquam scelerisque condimentum lectus. Proin semper adipiscing leo. Nulla facilisi.</p>
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson YUI({ base: '/build/', filter: 'debug' }).use('node', function(Y) {
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews var logger = new YAHOO.tool.TestLogger(null, { height: '80%' });
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews var doc = document.getElementById('doc'),
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews lorem = document.getElementById('lorem-ipsum'),
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews search = document.getElementById('search'),
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont search_fields = document.getElementById('search-fields'),
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews search_p = document.getElementById('search-p'),
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews name: 'DOM',
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews test_byId: function() {
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews Assert.areEqual(doc, Y.DOM.byId('doc'), 'byId("doc")');
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews Assert.isNull(Y.DOM.byId('fake-id'), 'byId("fake-id")');
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews test_getText: function() {
e20788e1216ed720aefa84f3295f7899d9f28c22Mark Andrews Assert.areEqual(h1.innerHTML, Y.DOM.getText(hd), 'getText("hd")');
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews Assert.areEqual('', Y.DOM.getText(tmp), 'getText(tmp)');
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews Assert.areEqual('', Y.DOM.getText(null), 'getText(null)');
01a5c5503482fb3ba52088bf0178a7213273bf96Mark Andrews Assert.areEqual('', Y.DOM.getText(), 'getText()');
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User test_setText: function() {
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater var node = document.createElement('div'),
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews content = 'testing text content';
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User Y.DOM.setText(node, content);
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater Assert.areEqual(content, Y.DOM.getText(node, content), 'setText("' + content + '")');
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User Y.DOM.setText(node, content);
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Assert.areEqual(content, Y.DOM.getText(node, content), 'setText("' + content + '")');
fa0326cc2cf428f67575b6ba3b97b528a31b0010Tinderbox User content = ' testing text content ';
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User Y.DOM.setText(node, content);
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Assert.areEqual(content, Y.DOM.getText(node, content), 'setText("' + content + '")');
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User test_children: function() {
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater ArrayAssert.itemsAreEqual([], Y.DOM.children(tmp), 'children(tmp)');
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User ArrayAssert.itemsAreEqual([], Y.DOM.children(null), 'children(null)');
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews ArrayAssert.itemsAreEqual([], Y.DOM.children(), 'children()');
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User ArrayAssert.itemsAreEqual([hd, bd, ft], Y.DOM.children(doc), 'children(doc)');
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson ArrayAssert.itemsAreEqual([mod1, mod2], Y.DOM.children(main, function(node) {
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User return node.className === 'mod';
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews }), 'children(main, fn)');
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater test_getStyle: function() {
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Y.DOM.getStyle(foo, 'float'), 'getStyle(foo, "float")');
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User Y.DOM.getStyle(doc, 'marginBottom'), 'doc, marginBottom');
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Y.DOM.getStyle(doc, 'position'), 'doc, position');
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User test_setStyle: function() {
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Y.DOM.setStyle(ft, 'opacity', 0.5);
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User Assert.areEqual(Y.DOM.getStyle(ft, 'opacity'),
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews 0.5, "Y.DOM.getStyle(ft, 'opacity')");
5f7586ddbd3edd11272cdd30ed613d936129328bTinderbox User Y.DOM.setStyle(main, 'float', 'none');
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User Assert.areEqual('none', Y.DOM.getStyle(main, 'float'),
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews 'wrong style returned');
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User Y.DOM.setStyle(ft, 'width', '-1');
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews } catch(e) {
a7c412f37cc73d0332887a746e81220cbf09dd00Mark Andrews Assert.isFalse(1, 'setStyle invalid width error');
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User Y.DOM.setStyle(ft, 'height', '-1');
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User Assert.isFalse(1, 'setStyle invalid height error');
269519eeb959d905ed125f96426e01d725c3b597Tinderbox User Y.DOM.setStyle(ft, 'display', 'none');
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater Assert.areEqual('none', Y.DOM.getStyle(ft, 'display'), "Y.DOM.setStyle(ft, 'display', 'none')");
e676a596869d8a80a644c99a848afb53d1c5975eMark Andrews Y.DOM.setStyle(ft, 'display', null);
91d187ce035f39073f0732ff2a401a45c3c955fbMark Andrews Assert.areEqual('block', Y.DOM.getStyle(ft, 'display'), "Y.DOM.setStyle(ft, 'display', null)");
8e5fce1f9ceba17dd7e3ff0eb287e1e999c14249Mark Andrews Y.DOM.setStyle(ft, 'display', 'none');
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews Y.DOM.setStyle(ft, 'display', '');
91d187ce035f39073f0732ff2a401a45c3c955fbMark Andrews Assert.areEqual('block', Y.DOM.getStyle(ft, 'display'), "Y.DOM.setStyle(ft, 'display', '')");
bc0a53583d92309bebcf93c408e2f3247ebd3d3cAutomatic Updater Y.DOM.setStyle(ft, 'opacity', null);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Assert.areEqual(0.75, Y.DOM.getStyle(ft, 'opacity'), "Y.DOM.setStyle(ft, 'opacity', null)");
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.DOM.setStyle(ft, 'opacity', 0);
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater Y.DOM.setStyle(ft, 'opacity', '');
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Assert.areEqual(0.75, Y.DOM.getStyle(ft, 'opacity'), "Y.DOM.setStyle(ft, 'opacity', '')");
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater test_create: function() {
d7d105151a78d35afb4233d2a6dbd47b7ec0d9a5Tinderbox User var el = Y.DOM.create(html);
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater Assert.areEqual('INPUT', el.tagName, html);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater html = '<input name="test-input" type="radio">';
37d8e0a4455876fe1e4cca511076cc2c5ab9eedeTinderbox User Assert.areEqual('test-input', el.name, html);
4fe0411487e8e4401477684c0a2bac041ca7c2d5Tinderbox User Assert.areEqual(1, el.childNodes.length, html);
cf7e98f59148b559946a7f1ca728471374f1eef3Automatic Updater Assert.areEqual('THEAD', el.tagName, html);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Assert.areEqual('CAPTION', el.tagName, html);
4fe0411487e8e4401477684c0a2bac041ca7c2d5Tinderbox User Assert.areEqual('COLGROUP', el.tagName, html);
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User Assert.areEqual('OPTGROUP', el.tagName, html);
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews html = '<optgroup><option>foo</option></optgroup>';
e31cfd80616deb9781902306b34a69aa7309b6cbTinderbox User Assert.areEqual('OPTGROUP', el.tagName, html);
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews html = '<select><option>foo</option><option>bar</option></select>';
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User Assert.areEqual(2, el.childNodes.length, html);
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews html = '<table><tr><td>foo</td><td>bar</td></tr></table>';
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews Assert.areEqual(1, el.childNodes.length, html);
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater html = '<tr><td>foo</td><td>bar</td></tr>';
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews Assert.areEqual(2, el.childNodes.length, html);
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews html = '<iframe src="http://search.yahoo.com/" id="yui-iframetest"></iframe>';
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews Assert.areEqual('http://search.yahoo.com/', el.src, html);
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews Assert.areEqual('yui-iframetest', el.id, html);
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews html = '<scr' + 'ipt src="http://search.yahoo.com/"></scr' + 'ipt>';
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews Assert.areEqual('http://search.yahoo.com/', el.src, html);
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews html = '<link href="http://search.yahoo.com/" rel="stylesheet">';
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews Assert.areEqual('http://search.yahoo.com/', el.href, html);
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User Assert.areEqual('FIELDSET', el.tagName, html);
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater 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>';
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User Assert.areEqual('default-e34f85', el.id, html);
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews html = '<thead><tr><td><table><tbody><tr><td>fresh</td></tr></tbody></table></td></tr></thead>';
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Assert.areEqual('A', el.firstChild.tagName, html);
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews document.getElementById('test-select').appendChild(el);
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews // trim leading space
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington html = '<thead><tr><td><table><thead></thead><tbody><tr><td>fresh</td></tr></tbody></table></td></tr></thead>';
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews test_createNodes: function() {
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews var html = '<div>foo</div><div id="tmp-bar">bar</div><div>baz</div>';
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews var el = Y.DOM.create(html);
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Assert.areEqual(3, el.childNodes.length, html);
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Assert.areEqual('tmp-bar', el.childNodes[1].id, html);
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Assert.areEqual('foo', el.childNodes[0].innerHTML, html);
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User html = '<option>foo</option><option id="tmp-bar">bar</option><option>baz</option>';
a5636b773fa05a272b6876afd99309c0b3090e2fMark Andrews Assert.areEqual(3, el.childNodes.length, html);
a5636b773fa05a272b6876afd99309c0b3090e2fMark Andrews Assert.areEqual('tmp-bar', el.childNodes[1].id, html);
a5636b773fa05a272b6876afd99309c0b3090e2fMark Andrews html = '<td>foo</td><td id="tmp-bar">bar</td><td>baz</td>';
f7369b2881b5e63d69600adcedc8ba938303d30cTinderbox User Assert.areEqual(3, el.childNodes.length, html);
f7369b2881b5e63d69600adcedc8ba938303d30cTinderbox User Assert.areEqual('tmp-bar', el.childNodes[1].id, html);
bc0a4c01beede169df81a3ee5b614ed9e82339dbAutomatic Updater html = '<tbody>foo</tbody><tbody id="tmp-bar">bar</tbody><tbody>baz</tbody>';
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual(3, el.childNodes.length, html);
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual('tmp-bar', el.childNodes[1].id, html);
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington html = '<thead><tr><td><table><tbody><tr><td>fresh</td></tr></tbody></table></td></tr></thead><tbody></tbody>';
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual(2, el.childNodes.length, html);
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington test_ancestor: function() {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual(doc, Y.DOM.ancestor(hd), 'ancestor(hd)');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual(doc, Y.DOM.ancestor(bd), 'ancestor(bd)');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual(doc, Y.DOM.ancestor(bd), 'ancestor(bd)');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual(document.body, Y.DOM.ancestor(bd, function(node) { return node.tagName === 'BODY';}), 'ancestor(bd, fn)');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington test_insertBefore: function() {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington //Assert.areEqual(Y.DOM.insertBefore(ft, hd), Y.DOM.firstChild(doc), 'insertBefore(ft, hd)');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington //Assert.areEqual(ft, Y.DOM.firstChild(doc), 'insertBefore(ft, hd)');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington test_insertAfter: function() {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington //Assert.areEqual(Y.DOM.insertAfter(hd, ft), ft.nextSibling, 'insertAfter(hd, ft)');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington //Assert.areEqual(hd, ft.nextSibling, 'insertAfter(hd, ft)');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington test_getAttribute: function() {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington var node = Y.DOM.byId('doc');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.DOM.setAttribute(node, 'class', 'foo');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual('foo', node.className, "Y.DOM.setAttribute(node, 'class', 'foo')");
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual('foo', Y.DOM.getAttribute(node, 'class'), "Y.DOM.getAttribute(node, 'class')");
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual('foo', Y.DOM.getAttribute(node, 'className'), "Y.DOM.getAttribute(node, 'className')");
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.DOM.setAttribute(node, 'className', 'bar');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual('bar', node.className, "node.className");
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington node = Y.DOM.byId('search-p-label');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual('search-p', Y.DOM.getAttribute(node, 'for'), "Y.DOM.setAttribute(node, 'for', 'search-p')");
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual('search-p', Y.DOM.getAttribute(node, 'htmlFor'), "Y.DOM.setAttribute(node, 'htmlFor', 'search-p')");
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington test_getValue: function() {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington var id = 'test-text-value',
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington val = 'text value';
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.DOM.setValue(Y.DOM.byId(id), 'new value');
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews id = 'test-text-novalue';
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
22d32791e5daa0bc80335a0f10ab2de95f41ccdbTinderbox User Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater id = 'test-textarea-textvalue';
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater val = 'textarea text';
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater id = 'test-textarea-value';
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater Y.DOM.setValue(Y.DOM.byId(id), 'new value');
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User id = 'test-textarea-novalue';
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User id = 'test-button-value';
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User val = 'button value';
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User id = 'test-button-novalue';
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews id = 'test-button-textvalue';
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.DOM.setValue(Y.DOM.byId(id), 'new value');
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater id = 'test-select-value';
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User val = 'option value';
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews id = 'test-select-novalue';
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews id = 'test-select-textvalue';
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews val = 'option text';
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater id = 'test-select-emptyvalue';
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater id = 'test-select-emptyvalue-notext';
e20309353e6246485c521278131d3fced73d7957Tinderbox User Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington id = 'test-option-value';
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington val = 'option value';
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.DOM.setValue(Y.DOM.byId(id), 'new value');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington id = 'test-option-emptyvalue';
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.DOM.setValue(Y.DOM.byId(id), 'new value');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington id = 'test-option-novalue';
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews id = 'test-option-emptyvalue-notext';
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater id = 'test-option-textvalue';
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews val = 'option text';
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater test_position: function() { // basic position tests
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater var node = document.createElement('div');
79cea03ba823e2d3a34895f0ba91d7fb5ad799e7Automatic Updater ArrayAssert.itemsAreEqual([0, 0], Y.DOM.getXY(node), 'off-dom: [0, 0]');
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews Y.DOM.setXY(node, [100, 200]);
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington ArrayAssert.itemsAreEqual([100, 200], Y.DOM.getXY(node), 'off-dom: [100, 200]');
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews Assert.isNull(Y.DOM.getXY(null), 'Y.DOM.getXY(null)');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.DOM.setXY(node, [100, 200]);
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington ArrayAssert.itemsAreEqual([100, 200], Y.DOM.getXY(node), 'setXY([100, 200]');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington test_region: function() {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington var node = Y.DOM.byId('doc'),
b7aab05edae933e169d5f83c653935b17c7f0a8bMark Andrews region = Y.DOM.region(node);
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.isFalse(Y.DOM.region(null), 'Y.DOM.region(null)');
409ba95e573b40cf36acf97dd62ee7e9c7775851Tinderbox User Assert.areEqual(xy[0], region.left, 'region.left');
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews Assert.areEqual(xy[1], region.top, 'region.top');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual(xy[0], region[0], 'region[0]');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual(xy[1], region[1], 'region[1]');
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews Assert.areEqual(node.offsetWidth, region.width, 'region.width');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual(node.offsetHeight, region.height, 'region.height');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual(node.offsetHeight + xy[1], region.bottom, 'region.bottom');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual(node.offsetWidth + xy[0], region.right, 'region.right');
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews test_viewportRegion: function() {
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews var node = Y.DOM.byId('doc'),
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews scrollX = Y.DOM.docScrollX(node),
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews scrollY = Y.DOM.docScrollY(node),
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington winHeight = Y.DOM.winHeight(node),
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington winWidth = Y.DOM.winWidth(node),
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual(scrollX, region.left, 'region.left');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual(scrollY, region.top, 'region.top');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual(scrollX, region[0], 'region[0]');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual(scrollY, region[1], 'region[1]');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual(winWidth, region.width, 'region.width');
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Assert.areEqual(winHeight, region.height, 'region.height');
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Assert.areEqual(scrollY + winHeight, region.bottom, 'region.bottom');
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews Assert.areEqual(scrollX + winWidth, region.right, 'region.right');
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Assert.areEqual(scrollX, region.left, 'region.left');
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Assert.areEqual(scrollY, region.top, 'region.top');
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Assert.areEqual(scrollX, region[0], 'region[0]');
56effd2e3f579fd77b1fb37d47871d1bf1286bc4Automatic Updater Assert.areEqual(scrollY, region[1], 'region[1]');
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews Assert.areEqual(winWidth, region.width, 'region.width');
0e91f17da8a29086876a88962e0a3482094b6057Evan Hunt Assert.areEqual(winHeight, region.height, 'region.height');
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews Assert.areEqual(scrollY + winHeight, region.bottom, 'region.bottom');
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews Assert.areEqual(scrollX + winWidth, region.right, 'region.right');
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews test_addHTML: function() {
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews var node = Y.DOM.byId('test-add');
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews Assert.areEqual('EM', node.lastChild.nodeName, "Y.DOM.addHTML(node, '<em>new content</em>')");
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews Y.DOM.addHTML(node, '<strong>new content</strong>', node.firstChild);
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews Assert.areEqual('STRONG', node.firstChild.nodeName, "Y.DOM.addHTML(node, '<em>new content</em>', node.firstChild)");
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews Y.DOM.addHTML(node, '<span>new content</span>', node.childNodes[1]);
42bee07ebb8152a6ec2f87f4790d87368c24704cAutomatic Updater Assert.areEqual('SPAN', node.childNodes[1].nodeName, "Y.DOM.addHTML(node, '<em>new content</em>', node.childNodes[1])");
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews Assert.areEqual(3, node.lastChild.nodeType, "Y.DOM.addHTML(node, 200)");
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews Y.DOM.addHTML(node, Y.DOM.create('<p>this is a <em>test</em></p>'));
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Assert.areEqual('P', node.lastChild.nodeName, "Y.DOM.create('<p>this is a <em>test</em></p>')");
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews if (parent && parent != window) {