data tables are going to need some work yet, but the other stuff seems to be working 100%
156 lines
5.3 KiB
HTML
156 lines
5.3 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
<html>
|
|
<head>
|
|
<title>Element Test Suite</title>
|
|
|
|
<link type="text/css" rel="stylesheet" href="../build/logger/assets/logger.css">
|
|
<link type="text/css" rel="stylesheet" href="../build/yuitest/assets/testlogger.css">
|
|
|
|
<script type="text/javascript" src="../build/yahoo/yahoo.js"></script>
|
|
<script type="text/javascript" src="../build/event/event.js"></script>
|
|
<script type="text/javascript" src="../build/dom/dom.js"></script>
|
|
<script type="text/javascript" src="../build/element/element-beta-debug.js"></script>
|
|
<script type="text/javascript" src="../build/logger/logger-min.js"></script>
|
|
<script type="text/javascript" src="../build/yuitest/yuitest.js"></script>
|
|
|
|
<style type="text/css">
|
|
#foo {
|
|
background:#ccc;
|
|
height:100px;
|
|
width:100px;
|
|
}
|
|
</style>
|
|
|
|
<script type="text/javascript">
|
|
(function() {
|
|
var Y = YAHOO.util,
|
|
tool = YAHOO.tool,
|
|
suite = new tool.TestSuite("yuisuite");
|
|
|
|
Y.Event.onDOMReady(function() {
|
|
var logger = new YAHOO.tool.TestLogger(null, { height: '80%' });
|
|
|
|
Y.Element.prototype.initAttributes = function() {
|
|
this.setAttributeConfig('foo', {
|
|
validator: YAHOO.lang.isString
|
|
});
|
|
|
|
this.setAttributeConfig('href', {
|
|
validator: YAHOO.lang.isString
|
|
});
|
|
};
|
|
|
|
var foo = new Y.Element('foo', { foo: 2 });
|
|
var bar = new Y.Element('bar', { href: 2 });
|
|
|
|
var elFoo = document.getElementById('foo');
|
|
|
|
suite.add( new tool.TestCase({
|
|
name: 'YAHOO.util.Element',
|
|
|
|
test_getElement: function() {
|
|
YAHOO.util.Assert.areEqual(elFoo, foo.get('element'), 'incorrect element');
|
|
},
|
|
|
|
test_setHTMLAttr: function() {
|
|
var innerHTML = 'updated';
|
|
foo.set('innerHTML', innerHTML);
|
|
YAHOO.util.Assert.areEqual(innerHTML, foo.get('innerHTML'), 'incorrect innerHTML');
|
|
},
|
|
|
|
test_setHTMLAttr: function() {
|
|
var innerHTML = 'updated';
|
|
foo.set('innerHTML', innerHTML);
|
|
YAHOO.util.Assert.areEqual(innerHTML, foo.get('innerHTML'), 'incorrect innerHTML');
|
|
},
|
|
|
|
test_onChange: function() {
|
|
var pass = false;
|
|
var handler = function() {
|
|
pass = true;
|
|
};
|
|
foo.on('titleChange', handler);
|
|
foo.set('title', 'foo title');
|
|
YAHOO.util.Assert.isTrue(pass, 'titleChange event failed to fire');
|
|
},
|
|
|
|
test_DomEvent: function() {
|
|
var pass = false;
|
|
var handler = function() {
|
|
pass = true;
|
|
};
|
|
foo.on('click', handler);
|
|
YAHOO.util.UserAction.click('foo');
|
|
YAHOO.util.Assert.isTrue(pass, 'click handler failed to be called');
|
|
},
|
|
|
|
test_customEvent: function() {
|
|
var pass = false;
|
|
var handler = function() {
|
|
pass = true;
|
|
};
|
|
foo.on('foo', handler);
|
|
foo.fireEvent('foo');
|
|
YAHOO.util.Assert.isTrue(pass, 'foo handler failed to be called');
|
|
},
|
|
|
|
test_attribute: function() {
|
|
foo.setAttributeConfig('fontname', {
|
|
value: 'tahoma',
|
|
method: function(val) {
|
|
foo.setStyle('font-family', val);
|
|
}
|
|
});
|
|
|
|
foo.set('fontname', 'tahoma');
|
|
YAHOO.util.Assert.areEqual(Y.Dom.getStyle('foo', 'font-family'), 'tahoma', 'attribConfig');
|
|
foo.set('fontname', 'verdana');
|
|
foo.resetValue('fontname');
|
|
},
|
|
|
|
test_validator: function() {
|
|
YAHOO.util.Assert.areEqual(undefined, foo.get('foo'), 'foo.get("foo")');
|
|
YAHOO.util.Assert.areEqual('', bar.get('href'), 'bar.get("href")');
|
|
|
|
foo.setAttributeConfig('foobar', {
|
|
validator: YAHOO.lang.isString
|
|
});
|
|
|
|
foo.set('foobar', 3);
|
|
YAHOO.util.Assert.areEqual(undefined, foo.get('foobar'), 'foo.get("foobar")');
|
|
|
|
bar.set('href', 3);
|
|
YAHOO.util.Assert.areEqual('', bar.get('href'), 'bar.get("href")');
|
|
|
|
bar.set('href', 'http://yahoo.com');
|
|
YAHOO.util.Assert.areEqual('http://yahoo.com', bar.get('href'), 'bar.set("href")');
|
|
},
|
|
|
|
test_dom_event: function() {
|
|
foo.on('click', function(e) { alert('click'); });
|
|
var baz = new Y.Element('baz');
|
|
baz.on('click', function(e) { alert('click'); });
|
|
},
|
|
|
|
}));
|
|
tool.TestRunner.add(suite);
|
|
|
|
if (parent && parent != window) {
|
|
tool.TestManager.load();
|
|
} else {
|
|
tool.TestRunner.run();
|
|
}
|
|
});
|
|
})();
|
|
</script>
|
|
<style type="text/css">
|
|
|
|
</style>
|
|
</head>
|
|
<body class="yui-skin-sam">
|
|
<div id="doc">
|
|
<div id="foo">foo</div>
|
|
<a id="bar">foo</a>
|
|
</div>
|
|
</body>
|
|
</html>
|