node.html revision beb63125154db15e35a82621fba8d35539a5f397
29949e866e40b95795203f3ee46f44a197c946e4stevel<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
29949e866e40b95795203f3ee46f44a197c946e4stevel<script type="text/javascript" src="/build/yui/yui.js"></script>
29949e866e40b95795203f3ee46f44a197c946e4stevel min-height:200px;
29949e866e40b95795203f3ee46f44a197c946e4stevel width:1000px;
29949e866e40b95795203f3ee46f44a197c946e4stevel border:10px solid red;
29949e866e40b95795203f3ee46f44a197c946e4stevel padding:1em;
29949e866e40b95795203f3ee46f44a197c946e4stevel#get-style {
29949e866e40b95795203f3ee46f44a197c946e4stevel background:#ccc;
29949e866e40b95795203f3ee46f44a197c946e4stevel float:left;
07d06da50d310a325b457d6330165aebab1e0064Surya Prakki font-size:10px;
29949e866e40b95795203f3ee46f44a197c946e4stevel height:10em;
89b43686db1fe9681d80a7cf5662730cb9378caeBayard Bell padding:15px 0;
29949e866e40b95795203f3ee46f44a197c946e4stevel width:200px;
29949e866e40b95795203f3ee46f44a197c946e4stevel background:#ccc;
29949e866e40b95795203f3ee46f44a197c946e4stevel position:absolute;
29949e866e40b95795203f3ee46f44a197c946e4stevel overflow:hidden;
29949e866e40b95795203f3ee46f44a197c946e4stevel background:green;
29949e866e40b95795203f3ee46f44a197c946e4stevel position:absolute;
29949e866e40b95795203f3ee46f44a197c946e4stevel height:10px;
29949e866e40b95795203f3ee46f44a197c946e4stevel width:10px;
29949e866e40b95795203f3ee46f44a197c946e4stevel#test-computed {
29949e866e40b95795203f3ee46f44a197c946e4stevel border: medium solid #000;
29949e866e40b95795203f3ee46f44a197c946e4stevel position:relative;
29949e866e40b95795203f3ee46f44a197c946e4stevel margin:auto;
29949e866e40b95795203f3ee46f44a197c946e4stevel padding:10px;
29949e866e40b95795203f3ee46f44a197c946e4stevel z-index: 2;
29949e866e40b95795203f3ee46f44a197c946e4stevel#test-scroll {
29949e866e40b95795203f3ee46f44a197c946e4stevel height: 100px;
29949e866e40b95795203f3ee46f44a197c946e4stevel width: 100px;
29949e866e40b95795203f3ee46f44a197c946e4stevel overflow:auto;
29949e866e40b95795203f3ee46f44a197c946e4stevel#test-scroll p {
29949e866e40b95795203f3ee46f44a197c946e4stevel height:1000px;
29949e866e40b95795203f3ee46f44a197c946e4stevel width:1000px;
29949e866e40b95795203f3ee46f44a197c946e4stevel display:block;
29949e866e40b95795203f3ee46f44a197c946e4stevel.yui3-skin-sam .yui-console-entry-pass .yui-console-entry-cat {
29949e866e40b95795203f3ee46f44a197c946e4stevel background: #070;
29949e866e40b95795203f3ee46f44a197c946e4stevel color: #fff;
29949e866e40b95795203f3ee46f44a197c946e4stevel.yui3-skin-sam .yui-console-entry-fail .yui-console-entry-cat {
29949e866e40b95795203f3ee46f44a197c946e4stevel background: #700;
29949e866e40b95795203f3ee46f44a197c946e4stevel color: #fff;
29949e866e40b95795203f3ee46f44a197c946e4stevel <p>It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).</p>
29949e866e40b95795203f3ee46f44a197c946e4stevel <p>It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).</p>
29949e866e40b95795203f3ee46f44a197c946e4stevel <a href="http://www.yahoo.com/foo" id="link-1">Yahoo!</a>
29949e866e40b95795203f3ee46f44a197c946e4stevel <input name="test-text-value" id="test-text-value" value="text value">
29949e866e40b95795203f3ee46f44a197c946e4stevel <textarea name="test-textarea-value" value="textarea value"></textarea>
29949e866e40b95795203f3ee46f44a197c946e4stevel <textarea name="test-textarea-textvalue">textarea text</textarea>
29949e866e40b95795203f3ee46f44a197c946e4stevel <button name="test-button-value" value="button value">button</button>
29949e866e40b95795203f3ee46f44a197c946e4stevel <button name="test-button-textvalue">button text</button>
29949e866e40b95795203f3ee46f44a197c946e4stevel <div id="test-prop" tabindex="4">text<em id="test-contains">test<span></span></em><strong>node</strong></div>
29949e866e40b95795203f3ee46f44a197c946e4stevel <div id="set-style"><div class="bar" id="bar">setStyle</div>foo<div>blah</div></div>
29949e866e40b95795203f3ee46f44a197c946e4stevel <div id="test-children">foo <span>bar</span> <strong>baz</strong> </div>
29949e866e40b95795203f3ee46f44a197c946e4stevel <div id="inline-style" style="color: green">inline style</div>
29949e866e40b95795203f3ee46f44a197c946e4stevel <tr><td id="test-td"><div><div>grandchild of td</div></div></td></tr>
29949e866e40b95795203f3ee46f44a197c946e4stevel <div id="test-element-by-axis">foo<div></div>bar<span></span>baz<em></em>
29949e866e40b95795203f3ee46f44a197c946e4stevelYUI({base: '/build/', filter: 'raw'}).use('selector-css3', 'node-deprecated', 'anim', 'console', 'test', 'node-event-simulate', 'node-load', function(Y) {
29949e866e40b95795203f3ee46f44a197c946e4stevel var Assert = Y.Assert,
29949e866e40b95795203f3ee46f44a197c946e4stevel ArrayAssert = Y.ArrayAssert,
29949e866e40b95795203f3ee46f44a197c946e4stevel suite = new Y.Test.Suite("yuisuite");
29949e866e40b95795203f3ee46f44a197c946e4stevel new Y.Console({node: '#yui-log', height: '1000px' }).render('#yui-log');
29949e866e40b95795203f3ee46f44a197c946e4stevel var byId = function(id) {
29949e866e40b95795203f3ee46f44a197c946e4stevel name: 'Y.Node Instance',
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should cache node': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.Node.create('<div id="test-caching" />');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(node, Y.Node._instances[node._yuid]);
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should get fresh node after destroy': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.Node.create('<div id="test-caching2" />');
29949e866e40b95795203f3ee46f44a197c946e4stevel test_get: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('#test-nodes'),
29949e866e40b95795203f3ee46f44a197c946e4stevel nodes = Y.all('#test-nodes *');
29949e866e40b95795203f3ee46f44a197c946e4stevel // return null
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one("a[href$='?t=5']");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isNull(Y.one('#fake-id li'), 'Y.one("#fake-id li") === null');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isNull(Y.one('#fake-id'), 'Y.one("#fake-id") === null');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isNull(Y.one('#fake-id li'), 'Y.one("#fake-id li") === null');
29949e866e40b95795203f3ee46f44a197c946e4stevel // return zero length collection
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue((Y.all('') instanceof Y.NodeList), 'Y.all("") instanceof NodeList');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue((Y.all('null') instanceof Y.NodeList), 'Y.all("null") instanceof NodeList');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue((Y.all('#foo *') instanceof Y.NodeList), 'Y.all("#foo *") === null');
29949e866e40b95795203f3ee46f44a197c946e4stevel // return 1
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(byId('test-nodes').id, Y.one('#test-nodes').get('id'), 'Y.one("#test-nodes")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(byId('test-nodes'), Y.Node.getDOMNode(Y.one('#test-nodes')), 'Y.one("#test-nodes")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(byId('test-nodes'), Y.Node.getDOMNode(Y.one('#test-nodes')), 'Y.one("#test-nodes")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('test-nodes', Y.one('#test-nodes').get('id'), 'Y.one("#test-nodes").get("id")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(node, Y.one('#test-nodes'), 'node === Y.one("#test-nodes")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(byId('test-nodes').getElementsByTagName('li')[0],
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.Node.getDOMNode(Y.one('#test-nodes li:first-child')), 'Y.one("#test-nodes")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(byId('test-nodes').getElementsByTagName('li')[1],
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.Node.getDOMNode(Y.one('#test-nodes li:nth-child(2)')), 'Y.one("#test-nodes:nth-child(2)")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(byId('test-nodes').getElementsByTagName('li')[1],
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.Node.getDOMNode(Y.one('#test-nodes li:nth-child(2)')), 'Y.one("#test-nodes:nth-child(2)")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(byId('form.foo@bar:baz'), Y.Node.getDOMNode(Y.one('[id="form.foo@bar:baz"]')), "[id=form.foo@bar:baz]");
29949e866e40b95795203f3ee46f44a197c946e4stevel var firstChild = Y.one('body :first-child');
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('body').insertBefore(Y.Node.create('<div>foo</div>'), firstChild);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isFalse(firstChild._node === Y.one('body :first-child')._node, "wrong node: Y.one('body :first-child')");
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('body').removeChild(Y.one('body :first-child'));
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(Y.Selector.query('body :first-child', null, true), Y.one('body :first-child')._node, "body :first-child === #test-append");
29949e866e40b95795203f3ee46f44a197c946e4stevel // return more than 1
29949e866e40b95795203f3ee46f44a197c946e4stevel ArrayAssert.itemsAreEqual($('#test-select option'), Y.NodeList.getDOMNodes(Y.all('#test-select option')), 'Y.one("#test-select option")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(3, Y.all('#test-select option').size(), 'Y.one("#test-select option").size()');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(2, Y.all('form').size(), 'Y.one("form").size()');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('FORM', Y.all('form').item(1).get('tagName'), 'Y.one("form").item(1)');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(3, Y.all('.bar').size(), 'Y.one(".bar")');
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.areNotEqual(nodes, Y.all('#test-nodes *'), 'nodes === Y.all("#test-nodes")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(nodes.size(), Y.all('#test-nodes *').size(), 'nodes.size() === Y.all("#test-nodes").size()');
29949e866e40b95795203f3ee46f44a197c946e4stevel ArrayAssert.itemsAreEqual(Y.Selector.query('div'), Y.all(Y.Selector.query('div'))._nodes, "Y.all(Y.Selector.query('div'))");
29949e866e40b95795203f3ee46f44a197c946e4stevel // Firefox fails due to Firebug pollutes document.queryAll but not document.getElementsByTagName
29949e866e40b95795203f3ee46f44a197c946e4stevel //ArrayAssert.itemsAreEqual(document.getElementsByTagName('div'), Y.all(Y.Selector.query('div'))._nodes, "Y.all(Y.Selector.query('div'))");
29949e866e40b95795203f3ee46f44a197c946e4stevel ArrayAssert.itemsAreEqual(Y.Selector.query('input[name]'), Y.all(Y.Selector.query('input[name]'))._nodes, "Y.all(Y.Selector.query('input[name]'))");
29949e866e40b95795203f3ee46f44a197c946e4stevel ArrayAssert.itemsAreEqual(Y.Selector.query('.foo'), Y.all(Y.Selector.query('.foo'))._nodes, "Y.all(Y.Selector.query('.foo'))");
29949e866e40b95795203f3ee46f44a197c946e4stevel var frameDoc = Y.one('iframe').get('contentWindow.document');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('iframe foo', Y.Lang.trim(frameDoc.one('#demo li').get('innerHTML')),
193974072f41a843678abf5f61979c748687e66bSherry Moore "frameDoc.one('#demo li').get('innerHTML')");
29949e866e40b95795203f3ee46f44a197c946e4stevel ArrayAssert.itemsAreEqual([document.body], Y.all(document.body)._nodes, "Y.all(document.body)");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areSame(Y.one('doc'), Y.one('doc'), "Y.one('doc') === Y.one('doc')");
07d06da50d310a325b457d6330165aebab1e0064Surya Prakki Assert.areEqual(byId('test-text-value'),
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('doc').one('.test-class #test-text-value')._node,
29949e866e40b95795203f3ee46f44a197c946e4stevel "Y.one('doc').one('.test-class #test-text-value')");
29949e866e40b95795203f3ee46f44a197c946e4stevel test_each: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var count = 0,
29949e866e40b95795203f3ee46f44a197c946e4stevel nodes = Y.all('#test-nodes *'),
29949e866e40b95795203f3ee46f44a197c946e4stevel nodes.each(function(node, i, list) {
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.areEqual(nodes, list, 'nodes === instance');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(node instanceof Y.Node, 'node instanceof Y.Node');
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.areEqual(node, this, 'this === node');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(count, nodes.size(), 'node.each(count) === nodes.size()');
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.areEqual(nodes.size() - 1, index, 'nodes.size() - 1 === index');
29949e866e40b95795203f3ee46f44a197c946e4stevel test_some: function() {
193974072f41a843678abf5f61979c748687e66bSherry Moore var nodes = Y.all('#test-nodes *'),
29949e866e40b95795203f3ee46f44a197c946e4stevel index, instance, isNode;
29949e866e40b95795203f3ee46f44a197c946e4stevel return true;
29949e866e40b95795203f3ee46f44a197c946e4stevel }), 'nodes.some(function() { return true; })');
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.isFalse(nodes.some(function(node, i, list) {
29949e866e40b95795203f3ee46f44a197c946e4stevel }), 'nodes.some(function() {})');
29949e866e40b95795203f3ee46f44a197c946e4stevel test_indexOf: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(0, Y.all('body').indexOf(Y.one('body')),
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(0, Y.all('div').indexOf(Y.one(document.getElementsByTagName('div')[0])),
29949e866e40b95795203f3ee46f44a197c946e4stevel "Y.all('div').indexOf(Y.one(document.getElementsByTagName('div')[0]))");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(-1, Y.all('div').indexOf(Y.one('#test-')),
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(-1, Y.all('div').indexOf(Y.one('#test-form')),
29949e866e40b95795203f3ee46f44a197c946e4stevel test_getters: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var id = 'test-nodes',
29949e866e40b95795203f3ee46f44a197c946e4stevel element = byId(id),
29949e866e40b95795203f3ee46f44a197c946e4stevel node = Y.one('#' + id),
29949e866e40b95795203f3ee46f44a197c946e4stevel nodes = Y.all('#' + id + ' *');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(null, node.get(''), 'node.get("") === null');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(null, node.get('fake'), 'node.get("fake") === null');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(null, node.get('nodeValue'), 'nodeValue === null');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('DIV', node.get('nodeName'), 'nodeName === "DIV"');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('UL', nodes.get('nodeName')[0], 'nodeName === "UL"');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('LI', nodes.get('nodeName')[nodes.size() - 1], 'nodeName === "LI"');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(element.firstChild.nextSibling.nodeName, node.get('firstChild').get('nextSibling').get('nodeName'), 'node.firstChild.nextSibling.nodeName"');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(element.lastChild.nodeName, node.get('lastChild').get('nodeName'), 'lastChild.nodeName"');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(9, node.get('ownerDocument').get('nodeType'), 'node.ownerDocument.nodeType === 9');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('test-nodes', nodes.get('parentNode').get('id')[0], 'nodes.get(parentNode)[0].get("id") === test-nodes');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(element.firstChild.nodeType, node.get('firstChild').get('nodeType'), 'firstChild.get("nodeType")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(element.offsetWidth, node.get('offsetWidth'), 'offsetWidth === node.offsetWidth');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(element.offsetParent.tagName, node.get('offsetParent').get('tagName'), 'offsetParent.tagName === offsetParent.tagName');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('item 1', Y.Lang.trim(nodes.get('children')[0].get('text')[0]), 'nodes.get("children")[0].get("text")[0]');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('item 1', Y.Lang.trim(nodes.get('children')[0].get('text')[0]), 'nodes.get("children")[0].get("text")[0]');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('foo', textContainer.get('text'), "textContainer.get('text')");
29949e866e40b95795203f3ee46f44a197c946e4stevel textContainer.set('text', 'bar');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('bar', textContainer.get('text'), "textContainer.set('text', 'bar')");
29949e866e40b95795203f3ee46f44a197c946e4stevel ArrayAssert.itemsAreEqual($('#test-select option'),
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.NodeList.getDOMNodes(Y.one('#test-select').get('options')),
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(2, node.get('children').size(), 'get("children")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(0, Y.one('#test-empty-children').get('children').size(), "Y.one('#test-empty-children').get('children')");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(8, Y.all('#' + id + ' li').size(), 'Y.all("#test-nodes li.size()")');
29949e866e40b95795203f3ee46f44a197c946e4stevel // size() is deprecated on Node
29949e866e40b95795203f3ee46f44a197c946e4stevel //Assert.areEqual(1, Y.one('#' + id + ' li').size(), 'Y.one("#test-nodes li.size()")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(byId('test-nodes').childNodes.length, node.get('childNodes').size(), 'node.get("childNodes").size()');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(byId('test-nodes').childNodes.length, node.get('childNodes').get('tagName').length, 'node.get("childNodes")');
29949e866e40b95795203f3ee46f44a197c946e4stevel ArrayAssert.itemsAreEqual(byId('test-nodes').childNodes.length, node.get('childNodes').get('length').length, "node.get('childNodes').get('length')");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(element.lastChild.nodeName, node.get('lastChild.nodeName'), 'node.get("lastChild.nodeName")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(element.lastChild.previousSibling.nodeName, node.get('lastChild').get('previousSibling').get('nodeName'), 'node.lastChild.previousSibling.nodeName');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('test', Y.one('#test-prop').get('firstChild.nextSibling.firstChild.nodeValue'),
29949e866e40b95795203f3ee46f44a197c946e4stevel 'node.get("firstChild.nextSibling.firstChild.nodeValue")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(byId('test-prop').tabIndex, Y.one('#test-prop').get('tabIndex'), 'Y.one("#test-prop").get("tabIndex")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(byId('doc').tabIndex, Y.one('#doc').get('tabIndex'), 'Y.one("#doc".get("tabIndex"))');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(byId('link-1').tabIndex, Y.one('#link-1').get('tabIndex'), 'Y.one("#link1".get("tabIndex"))');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(byId('link-2').tabIndex, Y.one('#link-2').get('tabIndex'), 'Y.one("#link1".get("tabIndex"))');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(undefined, Y.one('form').get('childNodes')._nodes.item, 'convert live list to static');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(Y.all('input').get('parentNode') instanceof Y.NodeList, "Y.all('input').get('parentNode')");
29949e866e40b95795203f3ee46f44a197c946e4stevel test_create: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var id = 'test-nodes',
29949e866e40b95795203f3ee46f44a197c946e4stevel element = byId(id),
29949e866e40b95795203f3ee46f44a197c946e4stevel node = Y.one('#' + id);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('fresh', node.create('<div id="fresh">fresh</div>').get('id'), 'node.create from string)');
29949e866e40b95795203f3ee46f44a197c946e4stevel node = Y.Node.create('<select><option>foo</option></select>');
29949e866e40b95795203f3ee46f44a197c946e4stevel var option = Y.Node.create('<option>bar</option>').set('selected', 'selected');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(Y.Node.getDOMNode(option).selected, "Y.Node.create('<option>test</option>').set('selected', 'selected'))");
29949e866e40b95795203f3ee46f44a197c946e4stevel node = Y.Node.create(html);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('A', node.get('firstChild.tagName'), html);
29949e866e40b95795203f3ee46f44a197c946e4stevel html = 'baz';
29949e866e40b95795203f3ee46f44a197c946e4stevel node = Y.Node.create(html);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('3', node.get('nodeType'), "node.get('nodeType')");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('3', Y.Node.getDOMNode(node).nodeType, "Y.Node.getDOMNode(node).nodeType");
29949e866e40b95795203f3ee46f44a197c946e4stevel node = Y.Node.create(html);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('3', node.get('firstChild.nodeType'), "node.get('firstChild.nodeType')");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('3', node.get('firstChild').get('nodeType'), "node.get('firstChild').get('nodeType')");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('3', Y.Node.getDOMNode(node.get('firstChild')).nodeType, "Y.Node.getDOMNode(node.get('firstChild')).nodeType");
29949e866e40b95795203f3ee46f44a197c946e4stevel node.insertBefore(Y.Node.create('foo'), node.get('firstChild'));
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('foobar', node.get('innerHTML'), "node.get('innerHTML')");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('foobar', node.get('text'), "node.get('text')");
29949e866e40b95795203f3ee46f44a197c946e4stevel // test setContent with NodeList
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(html, node.get('innerHTML').toLowerCase(), "node.setContent(Y.all(Y.Node.create(html)))");
29949e866e40b95795203f3ee46f44a197c946e4stevel test_setter: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var id = 'test-prop',
29949e866e40b95795203f3ee46f44a197c946e4stevel element = byId(id),
29949e866e40b95795203f3ee46f44a197c946e4stevel node = Y.one('#' + id),
29949e866e40b95795203f3ee46f44a197c946e4stevel nodes = Y.all('#test-nodes *');
29949e866e40b95795203f3ee46f44a197c946e4stevel var childNodes = Y.one('body').get('childNodes');
29949e866e40b95795203f3ee46f44a197c946e4stevel childNodes.set('title', 'foo bar');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(byId('test-nodes').title == 'foo bar', 'Y.one("body").get("childNodes").set("title")');
29949e866e40b95795203f3ee46f44a197c946e4stevel node.set('foo', 'foo');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isUndefined(node.get('foo'), 'node.get("foo")');
29949e866e40b95795203f3ee46f44a197c946e4stevel node.set('title', 'my title');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('my title', Y.Node.getDOMNode(node).title, 'node.title)');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('my title', node.get('title'), 'node.set("title")');
29949e866e40b95795203f3ee46f44a197c946e4stevel nodes.set('className', 'foo');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('foo', Y.NodeList.getDOMNodes(nodes)[0].className, 'node.className');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('foo', nodes.get('className')[2], 'node.get("className")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('foo', nodes.item(nodes.size() - 2).get('className'),
29949e866e40b95795203f3ee46f44a197c946e4stevel var attrMap = {
29949e866e40b95795203f3ee46f44a197c946e4stevel className: 'fooclass',
29949e866e40b95795203f3ee46f44a197c946e4stevel title: 'new title'
29949e866e40b95795203f3ee46f44a197c946e4stevel var getAttrs = node.getAttrs(['className', 'title']);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(attrMap.className, getAttrs.className, 'node.setAttrs(attrMap) (get className)');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(attrMap.title, getAttrs.title, 'node.setAttrs(attrMap) (get title)');
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('#test-select').set('selectedIndex', 2);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(2, Y.one('#test-select')._node.selectedIndex,
29949e866e40b95795203f3ee46f44a197c946e4stevel "Y.one('#test-select').set('selectedIndex', 2)");
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('body > form').set('test-select.selectedIndex', 2);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(2, byId('test-select').selectedIndex,
29949e866e40b95795203f3ee46f44a197c946e4stevel 'Y.one("body > form").set("test-select.selectedIndex", 2)');
29949e866e40b95795203f3ee46f44a197c946e4stevel var index = Y.one('#test-select').one('option[value=1]').set('selected', true);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(1, Y.one('#test-select')._node.selectedIndex,
29949e866e40b95795203f3ee46f44a197c946e4stevel "Y.one('#test-select').set('selectedIndex', 1)");
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('#test-select').set('value', 1);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(1, Y.one('#test-select').get('value'), "Y.one('#test-select').set('value', 1)");
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('#test-select').set('value', 'baz');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('baz', Y.one('#test-select').get('value'), "Y.one('#test-select').set('value', 'baz')");
29949e866e40b95795203f3ee46f44a197c946e4stevel test_dom_methods: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var id = 'test-prop';
29949e866e40b95795203f3ee46f44a197c946e4stevel var element = byId(id);
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('#test-prop');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(node.hasMethod('appendChild'), "node.hasMethod('appendChild')");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isFalse(xmlNode.hasMethod('onreadystatechange')," xmlNode.hasMethod('onreadystatechange')");
29949e866e40b95795203f3ee46f44a197c946e4stevel //Assert.isTrue(element === Y.one(node), 'element === Y.one(node)');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(element.getElementsByTagName('em')[0].nodeName, node.getElementsByTagName('em').item(0).get('nodeName'), 'getElementsByTagName');
29949e866e40b95795203f3ee46f44a197c946e4stevel var insertNode = document.createElement('div');
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.stamp(insertNode);
29949e866e40b95795203f3ee46f44a197c946e4stevel insertNode.innerHTML = 'inserted node';
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(Y.one('body').get('lastChild').compareTo(Y.one('#test-append')), 'get("body").appendChild(Y.one("#test-append"))');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(byId('test-append'), Y.Node.getDOMNode(Y.one('body').get('lastChild')), 'get("body").appendChild(Y.one([0]"#test-append"))');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('inserted node', node.appendChild(insertNode).get('innerHTML'), 'appendChild(element input)');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('inserted node', node.removeChild(insertNode).get('innerHTML'), 'removeChild(element input)');
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.areEqual('inserted node', node.appendChild(Y.one(insertNode)).get('innerHTML'), 'appendChild(Node input)');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('inserted node', node.removeChild(Y.one(insertNode)).get('innerHTML'), 'removeChild(Node input)');
29949e866e40b95795203f3ee46f44a197c946e4stevel var clone = node.cloneNode();
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isFalse(node === clone, 'node === node.cloneNode()');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(1, clone.get('nodeType'), 'cloneNode()');
29949e866e40b95795203f3ee46f44a197c946e4stevel // TODO: test deep clone with bound descendant
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.isTrue(node.get('childNodes').size() === node.cloneNode(true).get('childNodes').size(), 'node.get("childNodes").size() === node.cloneNode(true).get("childNodes").size()');
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.isTrue(Y.one('.bar').test('.bar'), "Y.one('.bar').test('.bar')");
29949e866e40b95795203f3ee46f44a197c946e4stevel clone = Y.one('.bar').cloneNode(true);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(clone.hasClass('bar'), "clone.hasClass('bar') (before appending)");
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('body').appendChild(clone);
193974072f41a843678abf5f61979c748687e66bSherry Moore clone.set('id', 'new-bar');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(clone.test('.bar'), "clone.test('.bar') (after appending)");
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.Node.create('<div id="foo" class="bar"></div>').test('.bar'),
29949e866e40b95795203f3ee46f44a197c946e4stevel "Y.Node.create('<div id=\"foo\" class=\"bar\"></div>').test('.bar')");
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.Node.create('<div id="foo" class="bar"></div>').test('#foo.bar'),
29949e866e40b95795203f3ee46f44a197c946e4stevel "Y.Node.create('<div id=\"foo\" class=\"bar\"></div>').test('#foo.bar')");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(node.hasChildNodes(), 'hasChildNodes()');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(node.compareTo(node), 'compareTo(node)');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(node.compareTo(Y.one(node)), 'compareTo(new Y.Node)');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isFalse(node.compareTo(null), 'compareTo(null)');
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.isFalse(node.create('<p>foo</p>').inDoc(), 'node.inDoc()');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(node.contains(byId('test-contains')), 'contains()');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(node.contains(node), 'contains() self');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(node.contains(element), 'contains() self');
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.isFalse(node.contains(document.getElementsByTagName('div')), 'contains() false positive for collection');
29949e866e40b95795203f3ee46f44a197c946e4stevel return el.get('id') === 'doc';
29949e866e40b95795203f3ee46f44a197c946e4stevel }).get('id'), 'ancestor');
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.areEqual(node.ancestor(), node.get('parentNode'), "node.ancestor()");
29949e866e40b95795203f3ee46f44a197c946e4stevel return el.getAttribute('foo') !== '';
29949e866e40b95795203f3ee46f44a197c946e4stevel }), 'ancestor');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(node.get('parentNode'), node.ancestor('div'));
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('test-class', node.previous().get('id'), 'node.previous()');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(node.inDoc(document), 'node.inDoc(document)');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(node.inDoc(Y.one(document)), 'node.inDoc(Y.one(document))');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(byId('test-contains'), Y.Node.getDOMNode(node.getById('test-contains')), 'node.getById("test-contains")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(node.hasAttribute('id'), 'node.hasAttribute("id")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(node.hasAttribute('title'), 'node.hasAttribute("title")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isFalse(node.hasAttribute('foo'), 'node.hasAttribute("foo")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(node.hasAttribute('tabIndex'), 'node.hasAttribute("tabIndex")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isFalse(node.hasAttribute('tabIndex'), 'node.hasAttribute("tabIndex") (false)');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(node.getAttribute('tabIndex'), node.get('tabIndex'),
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.getAttribute('tabIndex') === node.get('tabIndex')");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isFalse(Y.one('body').hasAttribute('title'), 'body.hasAttribute("title")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('0', Y.one('select[name=test-select] option:nth-child(1)').getAttribute('value'), 'option1.getAttribute("value") (from innerText)');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('1', Y.one('select[name=test-select] option:nth-child(2)').getAttribute('value'), 'option2.getAttribute("value") (from innerText)');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('', Y.one('select[name=test-select] option:nth-child(3)').getAttribute('value'), 'option3.getAttribute("value") (from innerText)');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('http://www.yahoo.com/foo', Y.one('#link-1').getAttribute('href'), "Y.one('#link1').getAttribute('href')");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('foo.html', Y.one('#link-2').getAttribute('href'), "Y.one('#link1').getAttribute('href')");
29949e866e40b95795203f3ee46f44a197c946e4stevel test_fragment: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var frag = Y.one('document').invoke('createDocumentFragment'),
29949e866e40b95795203f3ee46f44a197c946e4stevel element = byId('test-append');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(element, Y.Node.getDOMNode(frag.get('firstChild')), 'frag.appendChild()');
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('body').appendChild(frag);
29949e866e40b95795203f3ee46f44a197c946e4stevel test_screen: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var id = 'test-prop';
29949e866e40b95795203f3ee46f44a197c946e4stevel var element = byId(id);
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one(element);
29949e866e40b95795203f3ee46f44a197c946e4stevel var newNode = Y.Node.create('<div id="brand-new-foo">foo</div>');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(0, newNode.get('docScrollX'), 'newNode.get("docScrollX")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(0, node.get('docScrollY'), 'node.get("docScrollY")');
29949e866e40b95795203f3ee46f44a197c946e4stevel node = Y.one('#test-xy');
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setXY([100, 100]);
29949e866e40b95795203f3ee46f44a197c946e4stevel var x = Math.round(xy[0]);
29949e866e40b95795203f3ee46f44a197c946e4stevel var y = Math.round(xy[1]);
29949e866e40b95795203f3ee46f44a197c946e4stevel ArrayAssert.itemsAreEqual([100, 100], [x, y], 'Node.getXY("foo", "bar")');
29949e866e40b95795203f3ee46f44a197c946e4stevel test_region: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(Y.DOM.inRegion(byId('baz'), byId('doc')), 'DOM.inRegion(domNode, domNode)');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(Y.one('#get-style').inRegion(byId('doc')), 'node.inRegion(domNode)');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(Y.one('#get-style').inRegion(Y.one('#doc')), 'node.inRegion(Node)');
29949e866e40b95795203f3ee46f44a197c946e4stevel ArrayAssert.itemsAreEqual(Y.DOM.region(Y.DOM.byId('doc')), Y.one('#doc').get('region'), 'node.get("region")');
29949e866e40b95795203f3ee46f44a197c946e4stevel test_classes: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var id = 'test-class';
29949e866e40b95795203f3ee46f44a197c946e4stevel var element = byId(id);
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one(element);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(node.get('previousSibling').hasClass('test-class'), 'node.get("previousSibling").hasClass("test-class")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('foo', element.className, 'node.addClass("foo")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('', element.className, 'node.removeClass("foo")');
193974072f41a843678abf5f61979c748687e66bSherry Moore Y.one('body').get('childNodes').addClass('foo');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(byId('test-class').className == 'foo', 'NodeList.addClass');
29949e866e40b95795203f3ee46f44a197c946e4stevel node.replaceClass('foo', 'bar');
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.areEqual('bar', element.className, 'Node.replaceClass("foo", "bar")');
29949e866e40b95795203f3ee46f44a197c946e4stevel var nodes = Y.all('#test-nodes li');
29949e866e40b95795203f3ee46f44a197c946e4stevel nodes.addClass('foo').addClass('bar');
29949e866e40b95795203f3ee46f44a197c946e4stevel nodes.each(function(n) {
29949e866e40b95795203f3ee46f44a197c946e4stevel nodes.each(function(n) {
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.DOM.addClass(node, 'foo');
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.DOM.replaceClass('foo', 'foo');
193974072f41a843678abf5f61979c748687e66bSherry Moore node.addClass('foo bar baz');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('foo bar baz', node._node.className);
29949e866e40b95795203f3ee46f44a197c946e4stevel test_toggle: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('#test-class');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(node.hasClass('foo'), "node.toggleClass('foo')");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isFalse(node.hasClass('foo'), "node.toggleClass('foo')");
29949e866e40b95795203f3ee46f44a197c946e4stevel node.toggleClass('foo', false);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isFalse(node.hasClass('foo'), "node.toggleClass('foo', false)");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(node.hasClass('foo'), "node.toggleClass('foo')");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(node.hasClass('foo'), "node.toggleClass('foo', true)");
29949e866e40b95795203f3ee46f44a197c946e4stevel test_setStyle: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var element = byId('set-style'),
29949e866e40b95795203f3ee46f44a197c946e4stevel node = Y.one(element),
29949e866e40b95795203f3ee46f44a197c946e4stevel nodes = node.get('childNodes');
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setStyle('width', '20em');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('20em', element.style.width, "setStyle('width' '20em')");
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setStyle('marginTop', '1em');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('1em', element.style.marginTop, "setStyle('marginTop','1em')");
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setStyle('opacity', 0.5);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(0.5, node.getStyle('opacity'), "setStyle('opacity', 0.5)");
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setStyle('float', 'left');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('left', node.getStyle('float'), "setStyle('float', 'left')");
29949e866e40b95795203f3ee46f44a197c946e4stevel nodes.setStyle('marginTop', '1em');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('1em', nodes.getStyle('marginTop')[2], "setStyle('marginTop', '1em'");
29949e866e40b95795203f3ee46f44a197c946e4stevel test_getStyle: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('#get-style');
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setStyle('opacity', 0.5);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(0.5, node.getStyle('opacity'), "node.getStyle('opacity')");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('left', node.getStyle('float'), "node.getStyle('float')");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('100px', node.getStyle('height'), "getStyle('height')");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('200px', node.getStyle('width'), "getStyle('width)'");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('visible', node.getStyle('visibility'), "visibility");
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setStyle('visibility', 'hidden');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('hidden', node.getStyle('visibility'), "visibility");
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setStyle('visibility', 'visible');
29949e866e40b95795203f3ee46f44a197c946e4stevel test_getComputedStyle: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('#test-computed'),
29949e866e40b95795203f3ee46f44a197c946e4stevel domNode = byId('test-computed'),
29949e866e40b95795203f3ee46f44a197c946e4stevel w = node.get('offsetWidth'),
29949e866e40b95795203f3ee46f44a197c946e4stevel h = node.get('offsetHeight'),
29949e866e40b95795203f3ee46f44a197c946e4stevel bt = parseFloat(node.getComputedStyle('borderTopWidth')),
29949e866e40b95795203f3ee46f44a197c946e4stevel bb = parseFloat(node.getComputedStyle('borderBottomWidth')),
29949e866e40b95795203f3ee46f44a197c946e4stevel bl = parseFloat(node.getComputedStyle('borderLeftWidth')),
29949e866e40b95795203f3ee46f44a197c946e4stevel br = parseFloat(node.getComputedStyle('borderRightWidth')),
29949e866e40b95795203f3ee46f44a197c946e4stevel pt = parseFloat(node.getComputedStyle('paddingTop')),
29949e866e40b95795203f3ee46f44a197c946e4stevel pb = parseFloat(node.getComputedStyle('paddingBottom')),
29949e866e40b95795203f3ee46f44a197c946e4stevel pl = parseFloat(node.getComputedStyle('paddingLeft')),
29949e866e40b95795203f3ee46f44a197c946e4stevel pr = parseFloat(node.getComputedStyle('paddingRight'));
29949e866e40b95795203f3ee46f44a197c946e4stevel if (!Y.UA.ie || document.compatMode !== 'BackCompat') {
29949e866e40b95795203f3ee46f44a197c946e4stevel w = w - (pl + pr) - (bl + br);
29949e866e40b95795203f3ee46f44a197c946e4stevel h = h - (pt + pb) - (bt + bb);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(parseInt(bt), parseInt(node.getComputedStyle('borderTopWidth')), "borderTopWidth: medium");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(parseInt(h), parseInt(node.getComputedStyle('height')), "height: auto (offset minus padding and border)");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('13px', node.getComputedStyle('paddingTop'), "padding 13px");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('visible', node.getComputedStyle('visibility'), "visibility");
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.areEqual('hidden', node.getComputedStyle('visibility'), "visibility:hidden");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(2, node.getComputedStyle('zIndex'), 'node.getComputedStyle("zIndex")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('0px', node.getComputedStyle('marginTop'), "margin auto");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(parseInt(w), parseInt(node.getComputedStyle('width')), "percent width (from CSS)");
193974072f41a843678abf5f61979c748687e66bSherry Moore test_setStyles: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = byId('set-style');
29949e866e40b95795203f3ee46f44a197c946e4stevel var element = Y.one(node);
193974072f41a843678abf5f61979c748687e66bSherry Moore 'top': '5px',
29949e866e40b95795203f3ee46f44a197c946e4stevel 'right': '10em'
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.isTrue( (node.style.top == '5px' && node.style.right == '10em'), "setStyles()");
29949e866e40b95795203f3ee46f44a197c946e4stevel test_selector: function() {
193974072f41a843678abf5f61979c748687e66bSherry Moore var id = 'test-prop',
193974072f41a843678abf5f61979c748687e66bSherry Moore element = byId(id),
29949e866e40b95795203f3ee46f44a197c946e4stevel node = Y.one('#' + id),
193974072f41a843678abf5f61979c748687e66bSherry Moore nodes = Y.all('#test-nodes *');
29949e866e40b95795203f3ee46f44a197c946e4stevel // Selector methods
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isNull(Y.one(document.body).one("#fake-id"), 'body.one("#fake-id")');
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.isTrue(Y.one(node).test('#' + id), 'node.test( "#id")');
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.isNull(parent.one("#fake-id"), 'parent.one("#fake-id")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(id, parent.one('#' + id).get('id'), 'parent.one("#id")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(id, parent.one('#' + id).get('id'), 'parent.one("#id")');
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.isNull(parent.one('#text-xy'), 'parent.one("test-xy")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(id, parent.all('#' + id).item(0).get('id'), 'parent.all(node, "#id")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(id, parent.all('#' + id).item(0).get('id'), 'parent.all(node, "#id")');
29949e866e40b95795203f3ee46f44a197c946e4stevel test_window: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var win = Y.one(window);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(window, Y.Node.getDOMNode(win), 'Y.one(window)');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(document, Y.Node.getDOMNode(win.get('document')), 'win.get(document)');
29949e866e40b95795203f3ee46f44a197c946e4stevel //Assert.areEqual(window, Y.Node.getDOMNode(Y.one('document').get('defaultView')), 'win.get(document)');
29949e866e40b95795203f3ee46f44a197c946e4stevel test_windowSize: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isNotNull(Y.one('body').get('winHeight'), 'body.get("winHeight")');
29949e866e40b95795203f3ee46f44a197c946e4stevel test_scroll: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('#test-scroll').set('scrollTop', 100);
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('#test-scroll').set('scrollLeft', 200);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(100, byId('test-scroll').scrollTop, 'test-scroll.set("scrollTop", 100)');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(200, byId('test-scroll').scrollLeft, 'test-scroll.set("scrollLeft", 200)');
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one(window).set('scrollTop', 100);
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one(window).set('scrollLeft', 200);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(100, Y.DOM.docScrollY(window), 'window.set("scrollTop", 100)');
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.areEqual(200, Y.DOM.docScrollX(window), 'window.set("scrollLeft", 200)');
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one(document).set('scrollTop', 200);
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one(document).set('scrollLeft', 100);
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.areEqual(200, Y.DOM.docScrollY(document), 'document.set("scrollTop", 200)');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(100, Y.DOM.docScrollX(document), 'document.set("scrollLeft", 100)');
29949e866e40b95795203f3ee46f44a197c946e4stevel test_setContent: function() {
193974072f41a843678abf5f61979c748687e66bSherry Moore Y.one('#test-insert-html').setContent(content);
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.DOM.byId('test-insert-html').innerHTML.toLowerCase(),
193974072f41a843678abf5f61979c748687e66bSherry Moore "Y.one('#test-insert-html').setContent(" + content + ")");
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('#test-insert-html').setContent(Y.Node.create(content));
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.DOM.byId('test-insert-html').innerHTML.toLowerCase(),
29949e866e40b95795203f3ee46f44a197c946e4stevel "Y.one('#test-insert-html').setContent(Y.Node.create(" + content + "))");
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('#test-insert-html').setContent(Y.Node.create(content));
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.DOM.byId('test-insert-html').innerHTML.toLowerCase(),
29949e866e40b95795203f3ee46f44a197c946e4stevel "Y.one('#test-insert-html').setContent(Y.Node.create(" + content + "))");
29949e866e40b95795203f3ee46f44a197c946e4stevel var element = document.createElement('strong');
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('#test-insert-html').setContent(element);
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.DOM.byId('test-insert-html').innerHTML.toLowerCase(),
29949e866e40b95795203f3ee46f44a197c946e4stevel "Y.one('#test-insert-html').setContent(element)");
29949e866e40b95795203f3ee46f44a197c946e4stevel content = '';
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('#test-insert-html').setContent(content);
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.DOM.byId('test-insert-html').innerHTML.toLowerCase(),
29949e866e40b95795203f3ee46f44a197c946e4stevel "Y.one('#test-insert-html').setContent(" + content + ")");
29949e866e40b95795203f3ee46f44a197c946e4stevel content = null;
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('#test-insert-html').setContent(content);
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.DOM.byId('test-insert-html').innerHTML.toLowerCase(),
29949e866e40b95795203f3ee46f44a197c946e4stevel "Y.one('#test-insert-html').setContent(" + content + ")");
29949e866e40b95795203f3ee46f44a197c946e4stevel content = 0;
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('#test-insert-html').setContent(content);
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.DOM.byId('test-insert-html').innerHTML.toLowerCase(),
29949e866e40b95795203f3ee46f44a197c946e4stevel "Y.one('#test-insert-html').setContent(" + content + ")");
29949e866e40b95795203f3ee46f44a197c946e4stevel test_insert: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('#test-insert-html'),
29949e866e40b95795203f3ee46f44a197c946e4stevel content = node.get('innerHTML').toLowerCase();
29949e866e40b95795203f3ee46f44a197c946e4stevel content + html,
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.insert('" + html + "')");
29949e866e40b95795203f3ee46f44a197c946e4stevel content = node.get('innerHTML').toLowerCase();
29949e866e40b95795203f3ee46f44a197c946e4stevel html + content,
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.insert(" + html + ", 0)");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(node.all('> *').item(1).get('tagName'),
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.insert(" + html + ", 1)");
29949e866e40b95795203f3ee46f44a197c946e4stevel content = node.get('innerHTML').toLowerCase();
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.insert(" + html + ")");
29949e866e40b95795203f3ee46f44a197c946e4stevel html = null;
29949e866e40b95795203f3ee46f44a197c946e4stevel content = node.get('innerHTML').toLowerCase();
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.insert(" + html + ")");
29949e866e40b95795203f3ee46f44a197c946e4stevel // test fragment insertion
29949e866e40b95795203f3ee46f44a197c946e4stevel var childCount = node.get('childNodes').size();
29949e866e40b95795203f3ee46f44a197c946e4stevel content = node.get('innerHTML').toLowerCase();
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(childCount + 2,
29949e866e40b95795203f3ee46f44a197c946e4stevel node.get('childNodes').size(),
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.insert(" + html + ")");
29949e866e40b95795203f3ee46f44a197c946e4stevel node.get('childNodes').item(childCount).get('tagName'),
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.insert(" + html + ")");
29949e866e40b95795203f3ee46f44a197c946e4stevel node.get('childNodes').item(childCount + 1).get('tagName'),
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.insert(" + html + ")");
193974072f41a843678abf5f61979c748687e66bSherry Moore content = node.get('innerHTML').toLowerCase();
193974072f41a843678abf5f61979c748687e66bSherry Moore Y.Lang.trim(content + html).toLowerCase(),
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.insert(" + html + ")");
29949e866e40b95795203f3ee46f44a197c946e4stevel node.insert('<strong>baz</strong>', node.one('span'));
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(node._node.childNodes[1].tagName, 'STRONG',
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.insert('<strong>bar</strong>', node.one('span')");
29949e866e40b95795203f3ee46f44a197c946e4stevel node.insert('<code>var lorem</code>', node.one('em')._node);
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.areEqual(node._node.childNodes[0].tagName, 'CODE',
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.insert('<code>var lorem</code>', node.one('em')._node)");
29949e866e40b95795203f3ee46f44a197c946e4stevel // insert Node instance
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(node._node.childNodes[2], html._node,
29949e866e40b95795203f3ee46f44a197c946e4stevel // insert DOM node
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('#test-insert-html').insert(html, 2);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(Y.one('#test-insert-html')._node.childNodes[2], html, 'node.insert(someDOMNode, 2)');
29949e866e40b95795203f3ee46f44a197c946e4stevel test_inject: function() {
193974072f41a843678abf5f61979c748687e66bSherry Moore var node = Y.one('#test-insert-html'),
29949e866e40b95795203f3ee46f44a197c946e4stevel content = node.get('innerHTML').toLowerCase();
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.areEqual(node._node.innerHTML.toLowerCase(),
29949e866e40b95795203f3ee46f44a197c946e4stevel html + content,
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.prepend('" + html + "')");
29949e866e40b95795203f3ee46f44a197c946e4stevel content = node.get('innerHTML').toLowerCase();
193974072f41a843678abf5f61979c748687e66bSherry Moore content + html,
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.append('" + html + "')");
193974072f41a843678abf5f61979c748687e66bSherry Moore test_getValue: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(Y.one('input[name=test-text-value]').hasAttribute('value'),
29949e866e40b95795203f3ee46f44a197c946e4stevel 'input[name=test-text-value].hasAttribute("value")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isFalse(Y.one('input[name=test-text-novalue]').hasAttribute('value'),
29949e866e40b95795203f3ee46f44a197c946e4stevel 'input[name=test-text-novalue].hasAttribute("value")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('input[name=test-text-value]').get('value'),
29949e866e40b95795203f3ee46f44a197c946e4stevel "Y.one('input[name=test-text-value]').get('value')");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('', // TODO: normalize to null?
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('input[name=test-text-novalue]').get('value'),
29949e866e40b95795203f3ee46f44a197c946e4stevel "Y.one('input[name=test-text-novalue]').get('value')");
29949e866e40b95795203f3ee46f44a197c946e4stevel // textarea
29949e866e40b95795203f3ee46f44a197c946e4stevel // textarea doesn't use value attribute
29949e866e40b95795203f3ee46f44a197c946e4stevel //Assert.isTrue(Y.one('textarea[name=test-textarea-value]').hasAttribute('value'),
29949e866e40b95795203f3ee46f44a197c946e4stevel // 'textarea[name=test-textarea-value].hasAttribute("value")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isFalse(Y.one('textarea[name=test-textarea-novalue]').hasAttribute('value'),
29949e866e40b95795203f3ee46f44a197c946e4stevel 'textarea[name=test-textarea-value].hasAttribute("value")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('textarea text',
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('textarea[name=test-textarea-textvalue]').get('value'),
29949e866e40b95795203f3ee46f44a197c946e4stevel 'textarea[name=test-textarea-textvalue].get("value")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('textarea[name=test-textarea-novalue]').get('value'),
29949e866e40b95795203f3ee46f44a197c946e4stevel 'textarea[name=test-textarea-novalue].get("value")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('textarea[name=test-textarea-value]').get('value'),
29949e866e40b95795203f3ee46f44a197c946e4stevel 'textarea[name=test-textarea-value].get("value")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(Y.one('button[name=test-button-value]').hasAttribute('value'),
29949e866e40b95795203f3ee46f44a197c946e4stevel 'textarea[name=test-button-value].hasAttribute("value")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isFalse(Y.one('button[name=test-button-novalue]').hasAttribute('value'),
29949e866e40b95795203f3ee46f44a197c946e4stevel 'textarea[name=test-button-value].hasAttribute("value")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('button value',
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('button[name=test-button-value]').get('value'),
29949e866e40b95795203f3ee46f44a197c946e4stevel 'button[name=test-button-value].get("value")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('button[name=test-button-novalue]').get('value'),
29949e866e40b95795203f3ee46f44a197c946e4stevel 'button[name=test-button-novalue].get("value")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('button[name=test-button-textvalue]').get('value'),
29949e866e40b95795203f3ee46f44a197c946e4stevel 'button[name=test-button-textvalue].get("value")');
29949e866e40b95795203f3ee46f44a197c946e4stevel test_remove: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('#test-remove'),
29949e866e40b95795203f3ee46f44a197c946e4stevel domNode = Y.DOM.byId('test-remove'),
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(parent !== domNode.parentNode, 'node.remove()');
29949e866e40b95795203f3ee46f44a197c946e4stevel // ensure remove doesnt fail when no parent
29949e866e40b95795203f3ee46f44a197c946e4stevel // or after destroy
29949e866e40b95795203f3ee46f44a197c946e4stevel test_replace: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('#test-replace').get('firstChild'),
29949e866e40b95795203f3ee46f44a197c946e4stevel newNode = document.createElement('div');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(newNode, Y.one('#test-replace').get('firstChild')._node, 'node.replace(domNode)');
29949e866e40b95795203f3ee46f44a197c946e4stevel node = Y.one('#test-replace').get('firstChild');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(newNode, Y.one('#test-replace').get('firstChild'), 'node.replace()');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(newNode._node, Y.one('#test-replace').get('firstChild')._node, 'node.replace()');
29949e866e40b95795203f3ee46f44a197c946e4stevel test_elements: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var elements = Y.one('#test-form').get('elements');
29949e866e40b95795203f3ee46f44a197c946e4stevel ArrayAssert.itemsAreEqual(Y.DOM.byId('test-form').elements, elements._nodes, "Y.one('#test-form').get('elements')");
29949e866e40b95795203f3ee46f44a197c946e4stevel test_toFrag: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var frag = Y.all('#test-frag p').toFrag();
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(11, frag.get('nodeType'), "Y.all('#test-frag p').toFrag();");
29949e866e40b95795203f3ee46f44a197c946e4stevel test_aria: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('body').set('role', 'menu');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(document.body.getAttribute('role') === 'menu', "Y.one('body').set('role', 'menu')")
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('body').set('aria-checked', true);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('true', document.body.getAttribute('aria-checked', 2), "Y.one('body').set('aria-checked', true)")
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('true', Y.one('body').getAttribute('aria-checked'), "Y.one('body').set('aria-checked', true)")
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('true', Y.one('#foo').get('aria-checked'), "Y.one('#foo').get('aria-checked')");
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('body').set('aria-checked', false);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('false', Y.one('body').get('aria-checked'), "Y.one('body').set('aria-checked', false)");
29949e866e40b95795203f3ee46f44a197c946e4stevel test_plugin: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isTrue(!!Y.Node.create('<div></div>').fx, 'Node.plug()');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isFalse(!!Y.Node.create('<div></div>').fx, 'Node.unplug()');
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.all('input').each(function(n) {
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isObject(n.fx, "Y.all('input').plug(Y.Plugin.NodeFX)");
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.all('input').each(function(n) {
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(undefined, n.fx, "Y.all('input').unplug(Y.Plugin.NodeFX)");
29949e866e40b95795203f3ee46f44a197c946e4stevel test_props: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var mask = document.createElement('div');
29949e866e40b95795203f3ee46f44a197c946e4stevel var doc = Y.one('document');
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.DOM.setStyle(mask, 'opacity', 0.4);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('DIV', Y.one('#test-prop').get('nodeName'), 'one("test-prop")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('test-xy', doc.one('#test-xy').get('id'), 'doc.one("#test-xy")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isNull(doc.one('fake-id'), 'doc.one("#fake-id")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(mask.offsetHeight, doc.get('docHeight'), 'get("docHeight")');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(mask.offsetWidth, doc.get('docWidth'), 'get("docWidth")');
29949e866e40b95795203f3ee46f44a197c946e4stevel test_refresh: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('#test-nodes'),
29949e866e40b95795203f3ee46f44a197c946e4stevel nodelist = node.all('li');
29949e866e40b95795203f3ee46f44a197c946e4stevel ArrayAssert.itemsAreEqual( node.one('li'), nodelist, "Y.one('#test-node').all('li')");
193974072f41a843678abf5f61979c748687e66bSherry Moore nodelist = Y.all('#test-nodes li');
29949e866e40b95795203f3ee46f44a197c946e4stevel ArrayAssert.itemsAreEqual( node.one('li'), nodelist, "Y.one('#test-node').all('li')");
29949e866e40b95795203f3ee46f44a197c946e4stevel test_one: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.DOM.byId('test:colon');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(node.getElementsByTagName('h2')[0], Y.one(node).one('h2')._node,
29949e866e40b95795203f3ee46f44a197c946e4stevel node = Y.DOM.byId('_funky:id{$400}');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(node.getElementsByTagName('h2')[0], Y.one(node).one('h2')._node,
29949e866e40b95795203f3ee46f44a197c946e4stevel node = Y.one(true);
29949e866e40b95795203f3ee46f44a197c946e4stevel node = Y.one(false);
29949e866e40b95795203f3ee46f44a197c946e4stevel test_all: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.DOM.byId('test:colon');
29949e866e40b95795203f3ee46f44a197c946e4stevel ArrayAssert.itemsAreEqual(node.getElementsByTagName('h2'),
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one(node).all('h2')._nodes,
29949e866e40b95795203f3ee46f44a197c946e4stevel node = Y.DOM.byId('_funky:id{$400}');
29949e866e40b95795203f3ee46f44a197c946e4stevel ArrayAssert.itemsAreEqual(node.getElementsByTagName('h2'),
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one(node).all('h2')._nodes,
193974072f41a843678abf5f61979c748687e66bSherry Moore "Y.one(Y.DOM.byId('_funky:id{$400}')).all(h2)");
29949e866e40b95795203f3ee46f44a197c946e4stevel node = Y.one('body');
29949e866e40b95795203f3ee46f44a197c946e4stevel ArrayAssert.itemsAreEqual([node._node], Y.all(node)._nodes,
29949e866e40b95795203f3ee46f44a197c946e4stevel node = Y.one('win');
29949e866e40b95795203f3ee46f44a197c946e4stevel ArrayAssert.itemsAreEqual([node._node], Y.all(node)._nodes,
29949e866e40b95795203f3ee46f44a197c946e4stevel/* comparision fails in webkit, so using alert test below
29949e866e40b95795203f3ee46f44a197c946e4stevel "Y.all(window)");
29949e866e40b95795203f3ee46f44a197c946e4stevel "Y.all(window)");
29949e866e40b95795203f3ee46f44a197c946e4stevel test_isEmpty: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel test_siblings: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var parent = Y.one('#test-nodes > ol'),
29949e866e40b95795203f3ee46f44a197c946e4stevel children = parent.get('children');
29949e866e40b95795203f3ee46f44a197c946e4stevel [children.item(0)._node, children.item(1)._node, children.item(3)._node],
29949e866e40b95795203f3ee46f44a197c946e4stevel children.item(2).siblings()._nodes,
29949e866e40b95795203f3ee46f44a197c946e4stevel "children.item(2).siblings()"
29949e866e40b95795203f3ee46f44a197c946e4stevel [children.item(0)._node, children.item(1)._node, children.item(3)._node],
29949e866e40b95795203f3ee46f44a197c946e4stevel children.item(2).siblings('li')._nodes,
29949e866e40b95795203f3ee46f44a197c946e4stevel "children.item(2).siblings('li')"
29949e866e40b95795203f3ee46f44a197c946e4stevel children.item(1).removeClass('bar');
29949e866e40b95795203f3ee46f44a197c946e4stevel test_swap: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var elements = Y.DOM.byId('test-swap').getElementsByTagName('li'),
29949e866e40b95795203f3ee46f44a197c946e4stevel nodes = Y.all('#test-swap li');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(elements[0], nodes.item(3)._node, "nodes.item(0).swap(nodes.item(3))");
29949e866e40b95795203f3ee46f44a197c946e4stevel test_data: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('body');
29949e866e40b95795203f3ee46f44a197c946e4stevel // deprecated usage
29949e866e40b95795203f3ee46f44a197c946e4stevel node.set('data', 'foo');
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.set('data', 'foo')");
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setData('foo', 'foo');
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.setData('foo', 'foo')");
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setData({'bar': 'bar', 'baz': 'baz'});
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.setData({'bar': 'bar', 'baz': 'baz'})");
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.setData({'bar': 'bar', 'baz': 'baz'})");
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.areEqual(undefined, node.getData('bar'),
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.clearData() after cleared");
29949e866e40b95795203f3ee46f44a197c946e4stevel test_appendStyle: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('head').append(html);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('100px', Y.one('body').getStyle('height'),
29949e866e40b95795203f3ee46f44a197c946e4stevel "Y.one('head').append(" + html + ")");
29949e866e40b95795203f3ee46f44a197c946e4stevel test_ancestor: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('#test-table div div').ancestor('td');
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.Assert.areEqual(byId('test-td'), node._node,
29949e866e40b95795203f3ee46f44a197c946e4stevel "Y.one('#test-table div').ancestor('td'))");
29949e866e40b95795203f3ee46f44a197c946e4stevel node = Y.Node.create('<div><div><table><tbody><tr></tr><tr></tr><tr><td><div><div class="inner"></div></div></td></tr></tbody></table></div></div>');
29949e866e40b95795203f3ee46f44a197c946e4stevel var inner = node.one('.inner');
29949e866e40b95795203f3ee46f44a197c946e4stevel test_ancestors: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = document.createElement('node'),
29949e866e40b95795203f3ee46f44a197c946e4stevel nodelist = Y.one(node).ancestors();
29949e866e40b95795203f3ee46f44a197c946e4stevel ArrayAssert.itemsAreEqual([document.documentElement, document.body], nodelist._nodes);
29949e866e40b95795203f3ee46f44a197c946e4stevel nodelist = Y.one(node).ancestors('.foo', true);
29949e866e40b95795203f3ee46f44a197c946e4stevel ArrayAssert.itemsAreEqual([node], nodelist._nodes);
29949e866e40b95795203f3ee46f44a197c946e4stevel nodelist = Y.one(node).ancestors('body', true);
29949e866e40b95795203f3ee46f44a197c946e4stevel ArrayAssert.itemsAreEqual([document.body], nodelist._nodes);
29949e866e40b95795203f3ee46f44a197c946e4stevel test_nodelistEvent: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var nodelist = Y.all('div'),
29949e866e40b95795203f3ee46f44a197c946e4stevel mousedown: function(e, foo, bar) {
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('DIV', e.currentTarget.get('nodeName'), "e.currentTarget.get('nodeName')");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('foo', foo, "foo === 'foo'");
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('bar', bar, "bar === 'bar'");
29949e866e40b95795203f3ee46f44a197c946e4stevel nodelist.on('click', function(e) {
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(this, nodelist);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('DIV', e.currentTarget.get('nodeName'), "e.currentTarget.get('nodeName')");
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.on(evtObj, null, nodelist, null, 'foo', 'bar');
29949e866e40b95795203f3ee46f44a197c946e4stevel nodelist.on(evtObj, null, null, 'foo', 'bar');
29949e866e40b95795203f3ee46f44a197c946e4stevel nodelist.on({mouseup: true}, function(e) {
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(this, nodelist);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('DIV', e.currentTarget.get('nodeName'), "e.currentTarget.get('nodeName')");
29949e866e40b95795203f3ee46f44a197c946e4stevel nodelist.on({mouseup: function(e) {
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(this, nodelist);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('DIV', e.currentTarget.get('nodeName'), "e.currentTarget.get('nodeName')");
29949e866e40b95795203f3ee46f44a197c946e4stevel nodelist.on({keydown: true}, function(e) {
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('DIV', e.currentTarget.get('nodeName'), "e.currentTarget.get('nodeName')");
29949e866e40b95795203f3ee46f44a197c946e4stevel nodelist.on({keydown: true}, function(e) {
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('DIV', e.currentTarget.get('nodeName'), "e.currentTarget.get('nodeName')");
29949e866e40b95795203f3ee46f44a197c946e4stevel nodelist.after('click', function(e) {
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(this, nodelist);
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.areEqual('DIV', e.currentTarget.get('nodeName'), "e.currentTarget.get('nodeName')");
193974072f41a843678abf5f61979c748687e66bSherry Moore Y.after(evtObj, null, nodelist, null, 'foo', 'bar');
29949e866e40b95795203f3ee46f44a197c946e4stevel nodelist.after(evtObj, null, null, 'foo', 'bar');
29949e866e40b95795203f3ee46f44a197c946e4stevel nodelist.after({mouseup: true}, function(e) {
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.areEqual(this, nodelist);
193974072f41a843678abf5f61979c748687e66bSherry Moore Assert.areEqual('DIV', e.currentTarget.get('nodeName'), "e.currentTarget.get('nodeName')");
193974072f41a843678abf5f61979c748687e66bSherry Moore nodelist.after({keydown: true}, function(e) {
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('DIV', e.currentTarget.get('nodeName'), "e.currentTarget.get('nodeName')");
29949e866e40b95795203f3ee46f44a197c946e4stevel test_size: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('#doc'),
193974072f41a843678abf5f61979c748687e66bSherry Moore node.set('offsetHeight', 1000);
193974072f41a843678abf5f61979c748687e66bSherry Moore node.set('offsetWidth', 800);
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.set('offsetHeight')");
193974072f41a843678abf5f61979c748687e66bSherry Moore "node.set('offsetWidth')");
193974072f41a843678abf5f61979c748687e66bSherry Moore node.set('offsetWidth', -100);
193974072f41a843678abf5f61979c748687e66bSherry Moore node.set('offsetHeight', -100);
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.get('offsetHeight')");
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.get('offsetWidth')");
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setStyle('height', '');
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setStyle('width', '');
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.get('offsetHeight')");
29949e866e40b95795203f3ee46f44a197c946e4stevel "node.get('offsetWidth')");
29949e866e40b95795203f3ee46f44a197c946e4stevel test_select: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel test_label_for: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel test_destroy: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.Node.create('<div><em>foo</em><strong>bar</strong></div>');
29949e866e40b95795203f3ee46f44a197c946e4stevel nodes = node.all('em, strong');
29949e866e40b95795203f3ee46f44a197c946e4stevel test_prependFrag: function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var html = '<link id="dyn-link-1" href="#" rel="stylesheet"><link id="dyn-link-2" href="#" rel="stylesheet">';
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('head').prepend(html);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isNotNull(document.getElementById('dyn-link-1'));
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isNotNull(document.getElementById('dyn-link-2'));
29949e866e40b95795203f3ee46f44a197c946e4stevel html = '<link id="dyn-link-3" href="#" rel="stylesheet">'
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one('head').prepend(html);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.isNotNull(document.getElementById('dyn-link-3'));
29949e866e40b95795203f3ee46f44a197c946e4stevel test_focus: function () {
29949e866e40b95795203f3ee46f44a197c946e4stevel var button = document.createElement('button');
29949e866e40b95795203f3ee46f44a197c946e4stevel // This will throw in IE, but the focus() wrapper should catch the
29949e866e40b95795203f3ee46f44a197c946e4stevel // exception.
29949e866e40b95795203f3ee46f44a197c946e4stevel Y.one(button).focus();
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should hide the node': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('body');
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setStyle('display', 'block');
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should show the node': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('body');
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setStyle('display', 'none');
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setStyle('display', 'block');
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should show the node and fire callback': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('body'),
29949e866e40b95795203f3ee46f44a197c946e4stevel called = false;
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setStyle('display', 'none');
29949e866e40b95795203f3ee46f44a197c946e4stevel node.show(function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel called = true;
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setStyle('display', 'block');
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should show the node and treat function as callback': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('body'),
29949e866e40b95795203f3ee46f44a197c946e4stevel called = false;
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setStyle('display', 'none');
29949e866e40b95795203f3ee46f44a197c946e4stevel node.show(null, function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel called = true;
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setStyle('display', 'block');
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should hide the node and fire callback': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('body'),
29949e866e40b95795203f3ee46f44a197c946e4stevel called = false;
29949e866e40b95795203f3ee46f44a197c946e4stevel node.hide(function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel called = true;
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setStyle('display', 'block');
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should hide the node and treat function as callback': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('body'),
29949e866e40b95795203f3ee46f44a197c946e4stevel called = false;
29949e866e40b95795203f3ee46f44a197c946e4stevel node.hide(null, function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel called = true;
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setStyle('display', 'block');
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should toggle the node view on': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('body');
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setStyle('display', 'none');
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should toggle the node view on and fire callback': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('body'),
29949e866e40b95795203f3ee46f44a197c946e4stevel called = false;
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setStyle('display', 'none');
29949e866e40b95795203f3ee46f44a197c946e4stevel node.toggleView('foo', function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel called = true;
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should force toggle the node view on': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('body'),
29949e866e40b95795203f3ee46f44a197c946e4stevel called = false;
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should force toggle the node view on and fire callback': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('body'),
29949e866e40b95795203f3ee46f44a197c946e4stevel called = false;
29949e866e40b95795203f3ee46f44a197c946e4stevel node.toggleView(true, function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel called = true;
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should force toggle the node view off': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('body');
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setStyle('display', 'block');
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should force toggle the node view off and fire callback': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.one('body'),
29949e866e40b95795203f3ee46f44a197c946e4stevel called = false;
29949e866e40b95795203f3ee46f44a197c946e4stevel node.toggleView(false, function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel called = true;
29949e866e40b95795203f3ee46f44a197c946e4stevel node.setStyle('display', 'block');
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should set text for textNode': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel node.set('text', 'foo');
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should append to the given node': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should append to the given DOM node': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should wrap the node with the given html': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(node.get('parentNode.tagName'), 'DIV');
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should remove the node from its parent': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.Node.create('<div/>').append('<span><em>foo</em></span>').one('em');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual(node.get('parentNode.tagName'), 'DIV');
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should return true for fragment': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.Node.create('<span>foo</span><em>bar</em>');
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should create a caption element': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('CAPTION', node.get('firstChild.tagName'));
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should replace node with the given node': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.Node.create('<div><span>foo</span></div>');
29949e866e40b95795203f3ee46f44a197c946e4stevel node.one('span').replace(Y.Node.create('<em>bar</em>'));
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('EM', node.get('firstChild.tagName'));
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should replace node with the given dom node': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.Node.create('<div><span>foo</span></div>');
29949e866e40b95795203f3ee46f44a197c946e4stevel node.one('span').replace(Y.Node.create('<em>bar</em>')._node);
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('EM', node.get('firstChild.tagName'));
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should replace node with the given html': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.Node.create('<div><span>foo</span></div>');
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('EM', node.get('firstChild.tagName'));
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should replace node with the given html and return the replaced node': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.Node.create('<div><span>foo</span></div>');
29949e866e40b95795203f3ee46f44a197c946e4stevel node = node.replaceChild('<em>bar</em>', node.one('span'));
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should append the given html and return the new node': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var node = Y.Node.create('<div></div>').appendChild('<em>foo</em>');
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should append the given nodelist': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var nodelist = Y.Node.create('<div><em>foo</em><strong>bar</strong></div>').all('*'),
29949e866e40b95795203f3ee46f44a197c946e4stevel Assert.areEqual('EM', node.get('firstChild.tagName'));
29949e866e40b95795203f3ee46f44a197c946e4stevel 'should append the given nodelist and return a NodeList instance': function() {
29949e866e40b95795203f3ee46f44a197c946e4stevel var nodelist = Y.Node.create('<div><em>foo</em><strong>bar</strong></div>').all('*'),
nodelist2 = node.appendChild(nodelist);
childNodes = node.get('childNodes');
childNodes = node.get('childNodes');
childNodes = node.get('childNodes');
nodelist = Y.all('body');
nodelist.once('click', function() {
Assert.areEqual(1, i);
nodelist.item(0).simulate('click');
nodelist.item(0).simulate('click');
nodelist.onceAfter('click', function () {
Assert.areEqual(1, i);
nodelist.item(0).simulate('click');
nodelist.item(0).simulate('click');
var nodes = Y.all('div'),
node = nodes.pop();
var nodes = Y.all('div'),
node = nodes.shift();
var nodes = Y.all('div'),
var nodes = Y.all('div'),
size = nodes.size(),
nodes.unshift(node);
Assert.areEqual(node._node, nodes._nodes[0]);
var nodes = Y.all('div'),
size = nodes.size(),
node = document.createElement('div');
nodes.unshift(node);
Assert.areEqual(node, nodes._nodes[0]);
var nodelist1 = Y.all('div'),
nodelist2 = Y.all('li'),
nodelist3 = nodelist1.concat(nodelist2);
var nodelist1 = Y.all('div');
ArrayAssert.itemsAreEqual(nodelist1._nodes.concat(Y.one('ul')._node, Y.one('li')._node), nodelist2._nodes);
var nodelist1 = Y.all('div');
nodelist2 = nodelist1.slice(1, 4);
nodelist3 = nodelist1.slice(0, 3);
var nodelist1 = Y.all('div'),
nodes = Y.all('div')._nodes,
spliced1 = nodes.splice(1, 2),
spliced2 = nodelist1.splice(1, 2)._nodes;
ArrayAssert.itemsAreEqual(nodes, nodelist1._nodes);
ArrayAssert.itemsAreEqual(spliced1, spliced2);
node.empty();
node2 = node.one('em');
node.empty(true);
node.all('span').empty();
node.set('id', 'test-loading');
node.appendTo('body');
test.resume(function() {
node.remove();
test.wait(1000);
node.set('id', 'test-loading');
node.appendTo('body');
test.resume(function() {
node.remove();
test.wait(1000);
Y.Node.addMethod('testThis', function() {
return this.get('id');
document.body.appendChild(node._node);
node.setStyle('paddingTop', '10px');
node.setStyle('');
document.body.removeChild(node._node);
document.body.appendChild(node._node);
node.setStyle('opacity', '0.5');
node.setStyle('');
document.body.removeChild(node._node);
Y.DOM._fragClones = {};
var node = Y.one('#test-nodes');
node.one('ul')._bar = 'bar';
node.destroy(true);
var node = document.getElementById('test-nodes');
var nodes = document.getElementsByTagName('input');
id = node.generateID();
id = node.generateID();
Assert.areEqual('foo', id);
name: 'new Y.Node()',
name: 'Y.Node.ancestor',
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0],
return node._node.tagName === 'BODY';
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0];
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0],
return node.get('tagName') === 'EM';
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0];
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0],
return node.get('tagName') === 'BODY';
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0];
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0],
return node.tagName === 'BODY';
return node.id === 'test-ancestor-stop';
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0],
return node.tagName === 'BODY';
return node.id === 'test-ancestor-stop';
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0];
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0];
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0],
return node.id === 'test-ancestor-stop';
return node.tagName === 'BODY';
Assert.areEqual('test-ancestor-stop',
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0],
return node.id === 'test-ancestor-stop';
return node.tagName === 'BODY';
Assert.areEqual('test-ancestor-stop',
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0],
return node.id === 'test-ancestor-stop';
Assert.areEqual('test-ancestor-stop',
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0],
return node.id === 'test-ancestor-stop';
Assert.areEqual('test-ancestor-stop',
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0];
Assert.areEqual('test-ancestor-stop',
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0],
return node.id === 'test-ancestor-stop';
return node.id === 'test-ancestor-stop';
Assert.areEqual('test-ancestor-stop',
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0],
return node.id === 'test-ancestor-stop';
Assert.areEqual('test-ancestor-stop',
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0];
Assert.areEqual('test-ancestor-stop',
name: 'Y.DOM.ancestors',
var node = document.createElement('div');
document.body.appendChild(node);
Y.one(node).ancestors(null, true)._nodes);
document.body.removeChild(node);
var node = document.createElement('div');
document.body.appendChild(node);
Y.one(node).ancestors()._nodes);
document.body.removeChild(node);
var node = document.createElement('div'),
return node.tagName !== 'HTML';
document.body.appendChild(node);
document.body.removeChild(node);
var node = document.createElement('div');
document.body.appendChild(node);
document.body.removeChild(node);
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0],
return node.tagName === 'EM';
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0],
return node.tagName === 'BODY';
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0],
return node.tagName === 'BODY';
return node.id === 'test-ancestor-stop';
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0],
return node.tagName === 'DIV';
return node.tagName === 'BODY';
Y.one(node).ancestors(fn, null, stopFn)._nodes);
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0],
return node.tagName === 'DIV';
return node.tagName === 'DIV';
Y.one(node).ancestors(fn, null, stopFn).size());
var root = document.getElementById('test-element-by-axis'),
node = root.getElementsByTagName('EM')[0],
return node.tagName === 'BODY';
return node.id === 'test-ancestor-stop';
name: 'Y.Node.insert',
var node = document.createElement('div');
var node = document.createElement('div');
name: 'Y.Node.removeAttribute',
var node = document.createElement('div');
node = node.getElementsByTagName('div')[0];
Y.one(node).removeAttribute('id');
var node = document.createElement('div');
Y.Test.Runner.add(suite);
Y.on('load', function() {