core.html revision 85aaf0eb33da296a9926dd03b903d23c1e3a9381
4632N/A<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
4632N/A<html>
4632N/A<head>
4632N/A<title>YUI Core Tests</title>
4632N/A</head>
4632N/A
4632N/A<body class="yui-skin-sam">
4632N/A<h1>Core Tests</h1>
4632N/A<p><input type="button" value="Run Tests" id="btnRun" disabled="true" /></p>
4632N/A
4632N/A<script type="text/javascript" src="/build/yui/yui.js"></script>
4632N/A<script type="text/javascript">
4632N/A
4632N/A YUI({
4632N/A filter: "debug",
4632N/A useConsole: true,
4632N/A logExclude: {Dom: true, Selector: true, Node: true, attribute: true, base: true, event: true, widget: true}
4632N/A }).use("dump", "test", "console", function(Y) {
4632N/A
4632N/A var button = Y.get('#btnRun');
4632N/A
4632N/A // Set up the page
4632N/A button.set("disabled", false);
4632N/A
4632N/A Y.on("click", function() {
4632N/A Y.Test.Runner.run();
4632N/A }, button);
4632N/A
4632N/A // var myConsole = new Y.Console().render();
4632N/A
4632N/A var testCore = new Y.Test.Case({
4632N/A
4632N/A name: "Core tests",
4632N/A
4632N/A 'cached functions should execute only once per input': function() {
4632N/A
4632N/A var r1 = "", r2 = "", r3 = "";
4632N/A
4632N/A var f1 = function(a) {
4632N/A r1 += a;
4632N/A };
4632N/A var c1 = Y.cached(f1);
4632N/A
4632N/A c1('a');
4632N/A c1('b');
4632N/A c1('a');
4632N/A c1('b');
4632N/A c1('a');
4632N/A c1('b');
4632N/A
4632N/A Y.Assert.areEqual('ab', r1);
4632N/A
4632N/A var f2 = function(a, b) {
4632N/A r2 += (a + b);
4632N/A };
4632N/A var c2 = Y.cached(f2);
4632N/A
4632N/A c2('a', 'b');
4632N/A c2('c', 'd');
4632N/A c2('a', 'b');
4632N/A c2('c', 'd');
4632N/A c2('a', 'b');
4632N/A c2('c', 'd');
4632N/A
4632N/A var o = new Y.EventTarget();
4632N/A o.foo = 1;
4632N/A
4632N/A var f3 = function(a) {
4632N/A Y.Assert.areEqual(1, this.foo);
4632N/A r3 += a;
4632N/A };
4632N/A
4632N/A var c3 = Y.cached(Y.bind(f3, o), {
4639N/A a: 'z'
4632N/A });
4632N/A
4632N/A c3('a');
4632N/A c3('b');
4632N/A c3('a');
4632N/A c3('b');
4632N/A c3('a');
4632N/A c3('b');
4632N/A
4632N/A Y.Assert.areEqual('b', r3);
4632N/A }
4632N/A });
4632N/A
4632N/A Y.Test.Runner.add(testCore);
4632N/A Y.Test.Runner.run();
4632N/A });
4632N/A</script>
4632N/A</body>
4632N/A</html>
4632N/A