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