dom.html revision 141f28408910e5877ef88ee21ae3fb7f67f41468
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney<html>
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney<head>
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney<title>DOM Test Suite</title>
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney<script type="text/javascript" src="/build/yui/yui-min.js"></script>
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney<script type="text/javascript">
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney YUI({ base: '/build/', filter: 'raw'}).use('console', 'test', function(Y) {
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff var Assert = Y.Assert,
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney ArrayAssert = Y.ArrayAssert,
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney suite = new Y.Test.Suite("yuisuite");
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney window.Y = Y; // export Y global for Selenium
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney new Y.Console({ height: '50em' }).render();
6797a96aa17cfbc2eb9b3f90f564a29c01519324Satyen Desai
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney var doc = document.getElementById('doc'),
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff hd = document.getElementById('hd'),
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney bd = document.getElementById('bd'),
d909360e6d2b72521cc26a0cd458a68cb4337b66Jeff Conniff ft = document.getElementById('ft'),
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney mod1 = document.getElementById('mod1'),
d909360e6d2b72521cc26a0cd458a68cb4337b66Jeff Conniff mod2 = document.getElementById('mod2'),
d909360e6d2b72521cc26a0cd458a68cb4337b66Jeff Conniff h1 = hd.getElementsByTagName('h1')[0],
d909360e6d2b72521cc26a0cd458a68cb4337b66Jeff Conniff main = document.getElementById('main'),
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney lorem = document.getElementById('lorem-ipsum'),
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney search = document.getElementById('search'),
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney search_fields = document.getElementById('search-fields'),
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney search_p = document.getElementById('search-p'),
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney foo = document.getElementById('foo'),
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney tmp = document.createElement('div');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney suite.add( new Y.Test.Case({
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney name: 'DOM',
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney test_byId: function() {
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney var inputs = document.getElementById('test-names').getElementsByTagName('input');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(doc, Y.DOM.byId('doc'), 'byId("doc")');
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.isNull(Y.DOM.byId('fake-id'), 'byId("fake-id")');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.isNull(Y.DOM.byId(null), 'byId(null)');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.isNull(Y.DOM.byId(), 'byId()');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney inputs[0],
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff Y.DOM.byId('test-name-id1'),
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney "Y.DOM.byId('test-name-id1')"
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney );
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney inputs[1],
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.byId('test-name-id2'),
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney "Y.DOM.byId('test-name-id2')"
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney );
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney },
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney test_getText: function() {
dba22eabcfca7e9fe626abbad1494c3a0200dde0Matt Sweeney Assert.areEqual(h1.innerHTML, Y.DOM.getText(hd), 'getText("hd")');
dba22eabcfca7e9fe626abbad1494c3a0200dde0Matt Sweeney Assert.areEqual('', Y.DOM.getText(tmp), 'getText(tmp)');
dba22eabcfca7e9fe626abbad1494c3a0200dde0Matt Sweeney Assert.areEqual('', Y.DOM.getText(null), 'getText(null)');
dba22eabcfca7e9fe626abbad1494c3a0200dde0Matt Sweeney Assert.areEqual('', Y.DOM.getText(), 'getText()');
dba22eabcfca7e9fe626abbad1494c3a0200dde0Matt Sweeney },
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney test_setText: function() {
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney var node = document.createElement('div'),
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney content = 'testing text content';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney document.body.appendChild(node);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.setText(node, content);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(content, Y.DOM.getText(node, content), 'setText("' + content + '")');
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff content = '<div>testing text content</div>';
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff Y.DOM.setText(node, content);
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff Assert.areEqual(content, Y.DOM.getText(node, content), 'setText("' + content + '")');
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff content = ' testing text content ';
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff Y.DOM.setText(node, content);
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff Assert.areEqual(content, Y.DOM.getText(node, content), 'setText("' + content + '")');
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff },
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff test_children: function() {
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff ArrayAssert.itemsAreEqual([], Y.DOM.children(tmp), 'children(tmp)');
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff ArrayAssert.itemsAreEqual([], Y.DOM.children(null), 'children(null)');
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff ArrayAssert.itemsAreEqual([], Y.DOM.children(), 'children()');
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff ArrayAssert.itemsAreEqual([hd, bd, ft], Y.DOM.children(doc), 'children(doc)');
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff/*
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff ArrayAssert.itemsAreEqual([mod1, mod2], Y.DOM.children(main, function(node) {
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff return node.className === 'mod';
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff }), 'children(main, fn)');
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff*/
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff },
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff test_getStyle: function() {
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff Assert.areEqual('left',
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff Y.DOM.getStyle(foo, 'float'), 'getStyle(foo, "float")');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney doc.style.marginBottom = '10px';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('10px',
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.getStyle(doc, 'marginBottom'), 'doc, marginBottom');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('static',
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.getStyle(doc, 'position'), 'doc, position');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney },
d40e32ef6c95cddf35e9cc056dfdd259ba314fa2Jeff Conniff
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney test_setStyle: function() {
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.setStyle(ft, 'opacity', 0.5);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(Y.DOM.getStyle(ft, 'opacity'),
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney 0.5, "Y.DOM.getStyle(ft, 'opacity')");
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.setStyle(main, 'float', 'none');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('none', Y.DOM.getStyle(main, 'float'),
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff 'wrong style returned');
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff try {
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.setStyle(ft, 'width', '-1');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney } catch(e) {
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.fail('setStyle invalid width error');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney }
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney try {
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.setStyle(ft, 'height', '-1');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney } catch(e) {
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.fail('setStyle invalid height error');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney }
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.setStyle(ft, 'display', 'none');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('none', Y.DOM.getStyle(ft, 'display'), "Y.DOM.setStyle(ft, 'display', 'none')");
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.setStyle(ft, 'display', null);
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff Assert.areEqual('block', Y.DOM.getStyle(ft, 'display'), "Y.DOM.setStyle(ft, 'display', null)");
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.setStyle(ft, 'display', 'none');
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff Y.DOM.setStyle(ft, 'display', '');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('block', Y.DOM.getStyle(ft, 'display'), "Y.DOM.setStyle(ft, 'display', '')");
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff Y.DOM.setStyle(ft, 'opacity', null);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(0.75, Y.DOM.getStyle(ft, 'opacity'), "Y.DOM.setStyle(ft, 'opacity', null)");
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.setStyle(ft, 'opacity', 0);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.setStyle(ft, 'opacity', '');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(0.75, Y.DOM.getStyle(ft, 'opacity'), "Y.DOM.setStyle(ft, 'opacity', '')");
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.setStyle(ft, 'height', '100');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('100px', Y.DOM.getStyle(ft, 'height'),
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney "Y.DOM.setStyle(ft, 'height', '100')");
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney try {
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.setStyle(ft, 'height', '');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney } catch(e) {
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.fail('error thrown setting height: ""');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney }
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('200px', Y.DOM.getStyle(ft, 'height'),
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney "Y.DOM.setStyle(ft, 'height', '')");
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney },
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney test_styleDefaultUnit: function() {
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney var node = Y.DOM.byId('ft'),
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney value = '20px',
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney attr = 'width',
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff num = 20;
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney attr = 'borderTopWidth';
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff Y.DOM.setStyle(node, attr, num);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(value, Y.DOM.getStyle(node, attr), attr + ': ' + num);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney attr = 'opacity';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney value = 0.5;
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney num = 0.5;
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff Y.DOM.setStyle(node, attr, num);
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff Assert.areEqual(value, Y.DOM.getStyle(node, attr), attr + ': ' + num);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney attr = 'borderTopWidth';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney value = '5px';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney num = 5;
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.setStyle(node, attr, num);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(value, Y.DOM.getStyle(node, attr), attr + ': ' + num);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney attr = 'paddingTop';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney num = '5';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney value = '5px';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.setStyle(node, attr, num);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(value, Y.DOM.getStyle(node, attr), attr + ': ' + num);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney },
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney test_create: function() {
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney var html = '';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney var el = Y.DOM.create(html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.isNull(el, html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney var html = null;
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney var el = Y.DOM.create(html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.isNull(el, html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney var html = '<div>fresh</div>';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney var el = Y.DOM.create(html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('DIV', el.tagName, html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney html = '<input type="submit">';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney el = Y.DOM.create(html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('INPUT', el.tagName, html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney html = '<input name="test-input" type="radio">';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney el = Y.DOM.create(html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('radio', el.type, html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual('test-input', el.name, html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney html = '<form></form>';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney el = Y.DOM.create(html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('FORM', el.tagName, html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney html = '<label>fresh</label>';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney el = Y.DOM.create(html);
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff Assert.areEqual('LABEL', el.tagName, html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney html = '<li>fresh</li>';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney el = Y.DOM.create(html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('LI', el.tagName, html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff html = '<ul><li>fresh</li></ul>';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney el = Y.DOM.create(html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(1, el.childNodes.length, html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney html = '<tr>fresh</tr>';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney el = Y.DOM.create(html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('TR', el.tagName, html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney html = '<td>fresh</td>';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney el = Y.DOM.create(html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('TD', el.tagName, html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney html = '<th>fresh</th>';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney el = Y.DOM.create(html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('TH', el.tagName, html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff html = '<thead></thead>';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney el = Y.DOM.create(html);
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff Assert.areEqual('THEAD', el.tagName, html);
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff html = '<caption>fresh</caption>';
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff el = Y.DOM.create(html);
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff Assert.areEqual('CAPTION', el.tagName, html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney /*
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney html = '<col></col>';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney el = Y.DOM.create(html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual('COL', el.tagName, html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff */
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff html = '<colgroup></colgroup>';
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff el = Y.DOM.create(html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual('COLGROUP', el.tagName, html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff html = '<colgroup><col><col></colgroup>';
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff el = Y.DOM.create(html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual('COLGROUP', el.tagName, html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff html = '<button>fresh</button>';
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff el = Y.DOM.create(html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual('BUTTON', el.tagName, html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff
719d5bf86fc9cfc087ec8bf8cc7e1ad78bbf9ccfJeff Conniff html = '<optgroup></optgroup>';
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff el = Y.DOM.create(html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual('OPTGROUP', el.tagName, html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff html = '<optgroup><option>foo</option></optgroup>';
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff el = Y.DOM.create(html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual('OPTGROUP', el.tagName, html);
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff html = '<dd>fresh</dd>';
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff el = Y.DOM.create(html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual('DD', el.tagName, html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff html = '<dt>fresh</dt>';
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff el = Y.DOM.create(html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual('DT', el.tagName, html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff html = '<select><option>foo</option><option>bar</option></select>';
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff el = Y.DOM.create(html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual('SELECT', el.tagName, html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual(2, el.childNodes.length, html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff html = '<table><tr><td>foo</td><td>bar</td></tr></table>';
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff el = Y.DOM.create(html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual('TABLE', el.tagName, html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual(1, el.childNodes.length, html);
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff html = '<tr><td>foo</td><td>bar</td></tr>';
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff el = Y.DOM.create(html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual('TR', el.tagName, html);
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff Assert.areEqual(2, el.childNodes.length, html);
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff html = '<iframe src="http://search.yahoo.com/" id="yui-iframetest"></iframe>';
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff el = Y.DOM.create(html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual('http://search.yahoo.com/', el.src, html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual('yui-iframetest', el.id, html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff/*
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff html = '<scr' + 'ipt src="http://search.yahoo.com/"></scr' + 'ipt>';
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff el = Y.DOM.create(html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual('SCRIPT', el.tagName, html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual('http://search.yahoo.com/', el.src, html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff html = '<link href="http://search.yahoo.com/" rel="stylesheet">';
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff el = Y.DOM.create(html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual('LINK', el.tagName, html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual('http://search.yahoo.com/', el.href, html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual(el.rel, 'stylesheet', html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff*/
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff html = '<option>fresh</option>';
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff el = Y.DOM.create(html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual('OPTION', el.tagName, html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff html = '<legend>fresh</legend>';
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff el = Y.DOM.create(html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual('LEGEND', el.tagName, html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff html = '<fieldset>fresh</fieldset>';
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff el = Y.DOM.create(html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual('FIELDSET', el.tagName, html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff 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>';
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff el = Y.DOM.create(html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff Assert.areEqual('default-e34f85', el.id, html);
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff html = '<thead><tr><td><table><tbody><tr><td>fresh</td></tr></tbody></table></td></tr></thead>';
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff el = Y.DOM.create(html);
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff Assert.areEqual('THEAD', el.tagName, html);
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff html = '<li><a href=""></a></li>';
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff el = Y.DOM.create(html);
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff Assert.areEqual('A', el.firstChild.tagName, html);
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff html = '<option>foo</option>';
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff el = Y.DOM.create(html);
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff document.getElementById('test-select').appendChild(el);
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff Assert.isFalse(el.selected, 'el.selected(false)');
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff html = '<option selected>foo</option>';
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff el = Y.DOM.create(html);
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff document.getElementById('test-select').appendChild(el);
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff Assert.isTrue(el.selected, 'el.selected(true)');
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff // trim leading space
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff html = ' <div>foo</div>';
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff el = Y.DOM.create(html);
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff Assert.isTrue(el.tagName === 'DIV', html);
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff/*
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff html = '<thead><tr><td><table><thead></thead><tbody><tr><td>fresh</td></tr></tbody></table></td></tr></thead>';
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff el = Y.DOM.create(html);
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff Assert.areEqual('THEAD', el.tagName, html);
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff*/
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff },
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff test_createNodes: function() {
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff var html = '<div>foo</div><div id="tmp-bar">bar</div><div>baz</div>';
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff var el = Y.DOM.create(html);
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff Assert.areEqual(3, el.childNodes.length, html);
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff Assert.areEqual('tmp-bar', el.childNodes[1].id, html);
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff Assert.areEqual('foo', el.childNodes[0].innerHTML, html);
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff html = '<option>foo</option><option id="tmp-bar">bar</option><option>baz</option>';
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff el = Y.DOM.create(html);
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff Assert.areEqual(3, el.childNodes.length, html);
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff Assert.areEqual('tmp-bar', el.childNodes[1].id, html);
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff html = '<option>foo</option><option selected>bar</option><option>baz</option>';
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff el = Y.DOM.create(html);
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff Assert.areEqual(3, el.childNodes.length, html);
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff Assert.isTrue(el.childNodes[1].selected, html);
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff html = '<td>foo</td><td id="tmp-bar">bar</td><td>baz</td>';
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff el = Y.DOM.create(html);
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff Assert.areEqual(3, el.childNodes.length, html);
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff Assert.areEqual('tmp-bar', el.childNodes[1].id, html);
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff html = '<tbody>foo</tbody><tbody id="tmp-bar">bar</tbody><tbody>baz</tbody>';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney el = Y.DOM.create(html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(3, el.childNodes.length, html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('tmp-bar', el.childNodes[1].id, html);
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff html = '<thead><tr><td><table><tbody><tr><td>fresh</td></tr></tbody></table></td></tr></thead><tbody></tbody>';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney el = Y.DOM.create(html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(2, el.childNodes.length, html);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney },
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney test_ancestor: function() {
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(doc, Y.DOM.ancestor(hd), 'ancestor(hd)');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(doc, Y.DOM.ancestor(bd), 'ancestor(bd)');
d40e32ef6c95cddf35e9cc056dfdd259ba314fa2Jeff Conniff Assert.areEqual(doc, Y.DOM.ancestor(bd), 'ancestor(bd)');
d40e32ef6c95cddf35e9cc056dfdd259ba314fa2Jeff Conniff Assert.areEqual(document.body, Y.DOM.ancestor(bd, function(node) { return node.tagName === 'BODY';}), 'ancestor(bd, fn)');
d40e32ef6c95cddf35e9cc056dfdd259ba314fa2Jeff Conniff Assert.areEqual(bd, Y.DOM.ancestor(bd, null, true), 'ancestor(bd, true)');
d40e32ef6c95cddf35e9cc056dfdd259ba314fa2Jeff Conniff },
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff
d40e32ef6c95cddf35e9cc056dfdd259ba314fa2Jeff Conniff
d40e32ef6c95cddf35e9cc056dfdd259ba314fa2Jeff Conniff test_insertBefore: function() {
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff //Assert.areEqual(Y.DOM.insertBefore(ft, hd), Y.DOM.firstChild(doc), 'insertBefore(ft, hd)');
d40e32ef6c95cddf35e9cc056dfdd259ba314fa2Jeff Conniff //Assert.areEqual(ft, Y.DOM.firstChild(doc), 'insertBefore(ft, hd)');
d40e32ef6c95cddf35e9cc056dfdd259ba314fa2Jeff Conniff },
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney test_insertAfter: function() {
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney //Assert.areEqual(Y.DOM.insertAfter(hd, ft), ft.nextSibling, 'insertAfter(hd, ft)');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney //Assert.areEqual(hd, ft.nextSibling, 'insertAfter(hd, ft)');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney },
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney test_getAttribute: function() {
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney var node = Y.DOM.byId('doc');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.setAttribute(node, 'class', 'foo');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('foo', node.className, "Y.DOM.setAttribute(node, 'class', 'foo')");
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('foo', Y.DOM.getAttribute(node, 'class'), "Y.DOM.getAttribute(node, 'class')");
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('foo', Y.DOM.getAttribute(node, 'className'), "Y.DOM.getAttribute(node, 'className')");
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.setAttribute(node, 'className', 'bar');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('bar', node.className, "node.className");
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney node = Y.DOM.byId('search-p-label');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('search-p', Y.DOM.getAttribute(node, 'for'), "Y.DOM.setAttribute(node, 'for', 'search-p')");
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('search-p', Y.DOM.getAttribute(node, 'htmlFor'), "Y.DOM.setAttribute(node, 'htmlFor', 'search-p')");
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney },
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff test_getValue: function() {
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff // text
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff var id = 'test-text-value',
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff val = 'text value';
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Y.DOM.setValue(Y.DOM.byId(id), 'new value');
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff id = 'test-text-novalue';
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff val = '';
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Y.DOM.setValue(Y.DOM.byId(id), 'new value');
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff // textarea
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff id = 'test-textarea-textvalue';
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff val = 'textarea text';
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Y.DOM.setValue(Y.DOM.byId(id), 'new value');
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff id = 'test-textarea-value';
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff val = '';
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Y.DOM.setValue(Y.DOM.byId(id), 'new value');
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff id = 'test-textarea-novalue';
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff val = '';
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Y.DOM.setValue(Y.DOM.byId(id), 'new value');
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff // button
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff id = 'test-button-value';
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff val = 'button value';
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Y.DOM.setValue(Y.DOM.byId(id), 'new value');
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff id = 'test-button-novalue';
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff val = '';
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Y.DOM.setValue(Y.DOM.byId(id), 'new value');
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff id = 'test-button-textvalue';
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff val = '';
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Y.DOM.setValue(Y.DOM.byId(id), 'new value');
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff // select
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney id = 'test-select-value';
d6ac1282b7aebe50016ff2242315c34ac60422c8Jeff Conniff val = 'option value';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney id = 'test-select-novalue';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney val = '';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney id = 'test-select-textvalue';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney val = 'option text';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney id = 'test-select-emptyvalue';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney val = '';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney id = 'test-select-emptyvalue-notext';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney val = '';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney // option
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney id = 'test-option-value';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney val = 'option value';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.setValue(Y.DOM.byId(id), 'new value');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney id = 'test-option-emptyvalue';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney val = '';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.setValue(Y.DOM.byId(id), 'new value');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney id = 'test-option-novalue';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney val = '';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.setValue(Y.DOM.byId(id), 'new value');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney id = 'test-option-emptyvalue-notext';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney val = '';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.setValue(Y.DOM.byId(id), 'new value');
283a7ee219d2fefddeb34c0def9f6a3c8410e85bSatyen Desai Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
07ad9ab2be0e01d9fe09926c37a65a867aa6f401Jeff Conniff
283a7ee219d2fefddeb34c0def9f6a3c8410e85bSatyen Desai id = 'test-option-textvalue';
46f0ef7b895e2f49e15c3ed30957c19c29af475bSatyen Desai val = 'option text';
283a7ee219d2fefddeb34c0def9f6a3c8410e85bSatyen Desai
283a7ee219d2fefddeb34c0def9f6a3c8410e85bSatyen Desai Assert.areEqual(val, Y.DOM.getValue(Y.DOM.byId(id)), id);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.setValue(Y.DOM.byId(id), 'new value');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('new value', Y.DOM.getValue(Y.DOM.byId(id)), id);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney id = 'test-text-emptyvalue';
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual('""', Y.JSON.stringify(Y.DOM.getValue(Y.DOM.byId(id))),
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney "Y.JSON.stringify(Y.DOM.getValue(Y.DOM.byId(" + id + ")))");
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney },
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney test_position: function() { // basic position tests
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney var node = document.createElement('div');
b4f14fb8425b05925652295a6e65a98b2448f70fJeff Conniff ArrayAssert.itemsAreEqual([0, 0], Y.DOM.getXY(node), 'off-dom: [0, 0]');
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff Y.DOM.setXY(node, [100, 200]);
d3b7b73e5ca50ba0821b439d4f9a12cfaaf38870Jeff Conniff ArrayAssert.itemsAreEqual([100, 200], Y.DOM.getXY(node), 'off-dom: [100, 200]');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.isNull(Y.DOM.getXY(null), 'Y.DOM.getXY(null)');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney document.body.appendChild(node);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Y.DOM.setXY(node, [100, 200]);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney ArrayAssert.itemsAreEqual([100, 200], Y.DOM.getXY(node), 'setXY([100, 200]');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney },
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney test_region: function() {
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney var node = Y.DOM.byId('doc'),
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney xy = Y.DOM.getXY(node),
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney region = Y.DOM.region(node);
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.isFalse(Y.DOM.region(null), 'Y.DOM.region(null)');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(xy[0], region.left, 'region.left');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(xy[1], region.top, 'region.top');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(xy[0], region[0], 'region[0]');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(xy[1], region[1], 'region[1]');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(node.offsetWidth, region.width, 'region.width');
57944bee374767ef401f984a0136afb3822f22f7Matt Sweeney Assert.areEqual(node.offsetHeight, region.height, 'region.height');
Assert.areEqual(node.offsetHeight + xy[1], region.bottom, 'region.bottom');
Assert.areEqual(node.offsetWidth + xy[0], region.right, 'region.right');
},
test_viewportRegion: function() {
var node = Y.DOM.byId('doc'),
scrollX = Y.DOM.docScrollX(node),
scrollY = Y.DOM.docScrollY(node),
winHeight = Y.DOM.winHeight(node),
winWidth = Y.DOM.winWidth(node),
region = Y.DOM.viewportRegion(node);
Assert.areEqual(scrollX, region.left, 'region.left');
Assert.areEqual(scrollY, region.top, 'region.top');
Assert.areEqual(scrollX, region[0], 'region[0]');
Assert.areEqual(scrollY, region[1], 'region[1]');
Assert.areEqual(winWidth, region.width, 'region.width');
Assert.areEqual(winHeight, region.height, 'region.height');
Assert.areEqual(scrollY + winHeight, region.bottom, 'region.bottom');
Assert.areEqual(scrollX + winWidth, region.right, 'region.right');
region = Y.DOM.viewportRegion();
Assert.areEqual(scrollX, region.left, 'region.left');
Assert.areEqual(scrollY, region.top, 'region.top');
Assert.areEqual(scrollX, region[0], 'region[0]');
Assert.areEqual(scrollY, region[1], 'region[1]');
Assert.areEqual(winWidth, region.width, 'region.width');
Assert.areEqual(winHeight, region.height, 'region.height');
Assert.areEqual(scrollY + winHeight, region.bottom, 'region.bottom');
Assert.areEqual(scrollX + winWidth, region.right, 'region.right');
},
test_addHTML: function() {
var node = Y.DOM.byId('test-add');
Y.DOM.addHTML(node, '<em>new content</em>');
Assert.areEqual('EM', node.lastChild.nodeName, "Y.DOM.addHTML(node, '<em>new content</em>')");
Y.DOM.addHTML(node, '<strong>new content</strong>', node.firstChild);
Assert.areEqual('STRONG', node.firstChild.nodeName, "Y.DOM.addHTML(node, '<em>new content</em>', node.firstChild)");
Y.DOM.addHTML(node, '<span>new content</span>', node.childNodes[1]);
Assert.areEqual('SPAN', node.childNodes[1].nodeName, "Y.DOM.addHTML(node, '<em>new content</em>', node.childNodes[1])");
Y.DOM.addHTML(node, 200);
Assert.areEqual(3, node.lastChild.nodeType, "Y.DOM.addHTML(node, 200)");
Y.DOM.addHTML(node, Y.DOM.create('<p>this is a <em>test</em></p>'));
Assert.areEqual('P', node.lastChild.nodeName, "Y.DOM.create('<p>this is a <em>test</em></p>')");
},
testFirstByTag: function() {
var tag = 'div',
root = document;
Assert.areEqual(root.getElementsByTagName(tag)[0],
Y.DOM.firstByTag(tag, root),
"Y.DOM.firstByTag(" + tag + " , " + root + ")"
);
tag = 'input';
root = document.getElementById('test-form');
Assert.areEqual(root.getElementsByTagName(tag)[0],
Y.DOM.firstByTag(tag, root),
"Y.DOM.firstByTag(" + tag + " , " + root + ")"
);
tag = null;
root = null;
Assert.isNull(Y.DOM.firstByTag(tag, root),
"Y.DOM.firstByTag(" + tag + " , " + root + ")"
);
},
testToHex: function() {
var rgb = 'rgb(97, 11, 11)',
hex = Y.Color.toHex(rgb);
Assert.areEqual("#610B0B", hex, 'toHex(' + rgb + ')');
rgb = 'rgb(255, 255, 255)';
hex = Y.Color.toHex(rgb);
Assert.areEqual("#FFFFFF", hex, 'toHex(' + rgb + ')');
rgb = '#fff';
hex = Y.Color.toHex(rgb);
Assert.areEqual("#FFFFFF", hex, 'toHex(' + rgb + ')');
rgb = 'fff';
hex = Y.Color.toHex(rgb);
Assert.areEqual("#FFFFFF", hex, 'toHex(' + rgb + ')');
rgb = '000';
hex = Y.Color.toHex(rgb);
Assert.areEqual("#000000", hex, 'toHex(' + rgb + ')');
rgb = "rgb(97, 56, 11)" ;
hex = Y.Color.toHex(rgb);
Assert.areSame(hex, "#61380B", " shoudl be #61380B");
rgb = "rgb(11, 97, 11)" ; // 0B610B
hex = Y.Color.toHex(rgb);
Assert.areSame(hex, "#0B610B", " shoudl be #0B610B");
rgb = "rgb(56, 11, 97)" ; //380B61
hex = Y.Color.toHex(rgb);
Assert.areSame(hex, "#380B61", " shoudl be #380B61");
rgb = "rgb(97, 11, 56)" ; //610B38
hex = Y.Color.toHex(rgb);
Assert.areSame(hex, "#610B38", " shoudl be #610B38");
},
test_inDoc: function() {
var node = document.createElement('div');
Assert.isFalse(Y.DOM.inDoc(node), 'new off doc');
document.body.appendChild(node);
Assert.isTrue(Y.DOM.inDoc(node), 'new in doc');
document.body.removeChild(node);
Assert.isFalse(Y.DOM.inDoc(node), 'removed');
// test dupe ID
node.id = 'doc';
document.body.appendChild(node);
Assert.isTrue(Y.DOM.inDoc(node), 'dupe id in doc');
document.body.removeChild(node);
Assert.isFalse(Y.DOM.inDoc(node), 'dupe if off doc');
// test form with input name="id" (IE collision with form.id)
Assert.isTrue(Y.DOM.inDoc(Y.DOM.byId('search')), "form.id === 'search'");
}
}));
Y.Test.Runner.add(suite);
if (parent && parent != window && Y.Test.Manager) {
Y.Test.Manager.load();
} else {
Y.Test.Runner.run();
}
});
</script>
<style>
h1, h2, h3, h4, h5, h6, p, ul, ol, li {
Xmargin:0;
Xpadding:0;
}
form {
width: 30em;
}
#doc {
border:5px solid #000;
margin:10px;
padding:10px;
}
#hd {
background:#ccc;
}
#foo {
float:left; /* required for getStyle test */
}
#ft {
height:200px;
opacity: 0.75;
}
.yui3-skin-sam .yui-console-entry-pass .yui-console-entry-cat {
background: #070;
color: #fff;
}
.yui3-skin-sam .yui-console-entry-fail .yui-console-entry-cat {
background: #700;
color: #fff;
}
</style>
<style type="text/css">
</style>
</head>
<body class="yui3-skin-sam">
<div id="doc">
<div id="hd"><h1>Page Header</h1></div>
<div id="bd">
<div id="main" class="main">
<h2 id="foo">Section Header</h2>
<select id="test-select"><option>choose</option></select>
<em class="lorem ipsum ipsum" id="lorem-ipsum">lorem ipsum</em>
<div class="mod" id="mod1">
<div class="hd">
<h3>Module Header</h3>
</div>
<div class="bd">
<p>Fusce feugiat diam. Vestibulum elementum dui in augue. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Mauris pulvinar.</p>
</div>
<div class="ft"><a href="#">more</a></div>
</div>
<div class="mod" id="mod2">
<div class="hd">
<h3>Module Header</h3>
</div>
<div class="bd">
<form action="#" method="get" id="search">
<fieldset id="search-fields">
<legend>Search</legend>
<label for="search-p" id="search-p-label">Query</label>
<input type="text" name="p" id="search-p">
<input name="id">
<input type="submit" value="search">
</fieldset>
</form>
</div>
<div class="ft"><a href="http://www.developer.yahoo.com">more</a></div>
</div>
</div>
<form id="test-form" class="test-class" action="#">
<input id="test-text-value" value="text value">
<input id="test-text-novalue" name=>
<input id="test-text-emptyvalue">
<textarea id="test-textarea-value" value="textarea value"></textarea>
<textarea id="test-textarea-novalue"></textarea>
<textarea id="test-textarea-textvalue">textarea text</textarea>
<button id="test-button-value" value="button value">button</button>
<button id="test-button-novalue"></button>
<button id="test-button-textvalue">button text</button>
<select id="test-select-value">
<option id="test-option-value" value="option value">option text</option>
<option id="test-option-textvalue">option text</option>
<option id="test-option-emptyvalue" value="">empty value</option>
<option id="test-option-emptyvalue-notext" value=""></option>
<option id="test-option-novalue"></option>
</select>
<select id="test-select-textvalue">
<option>option text</option>
</select>
<select id="test-select-emptyvalue">
<option value="">option text</option>
</select>
<select id="test-select-emptyvalue-notext">
<option value=""></option>
</select>
</form>
<form id="test-names">
<input id="test-name-id1" name="test-name-id2" >
<input id="test-name-id2" name="test-name-id1">
</form>
<div id="test-add">test</div>
</div>
<div id="ft">
<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>
</div>
</div>
</body>
</html>