customevent.html revision 80d2034f65b9348e5fd36291f03b0819181efb89
325N/A<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
325N/A<html>
325N/A<head>
325N/A<title>YUI Event Tests</title>
325N/A</head>
325N/A
325N/A<body class="yui-skin-sam">
325N/A<h1>Event Tests</h1>
325N/A<p><input type="button" value="Run Tests" id="btnRun" disabled="true" /></p>
325N/A
325N/A<script type="text/javascript" src="/build/yui/yui.js"></script>
325N/A<script type="text/javascript">
325N/A
325N/A(function() {
325N/A YUI({
325N/A base: "/build/",
325N/A filter: "debug",
325N/A useConsole: true
325N/A }).use("dump", "test", "console", "event-custom", function(Y) {
325N/A
325N/A var button = Y.get('#btnRun');
325N/A
325N/A // Set up the page
325N/A button.set("disabled", false);
325N/A Y.on("click", function() {
325N/A Y.Test.Runner.run();
325N/A }, button);
325N/A
325N/A var myConsole = new Y.Console().render();
325N/A
325N/A var testEventTarget = new Y.Test.Case({
325N/A name: "Event.Target tests",
325N/A
325N/A testAugment: function() {
325N/A
325N/A var fired = false;
325N/A
325N/A var O = function(id) {
325N/A this.id = id;
325N/A Y.log('O constructor executed ' + id);
325N/A }
325N/A
325N/A O.prototype = {
325N/A oOo: function(ok) {
325N/A Y.log('oOo');
325N/A }
325N/A }
325N/A
325N/A // pass configuration info into Event.Target with the following
325N/A // construct
325N/A Y.augment(O, Y.Event.Target, null, null, {
325N/A emitFacade: true
325N/A });
325N/A
325N/A var o = new O();
325N/A o.on('testAugment', function(e, arg1, arg2) {
325N/A Y.Assert.isTrue(this instanceof O);
325N/A Y.Assert.isTrue(e instanceof Y.Event.Facade);
325N/A Y.Assert.isTrue(e.foo === 'afoo');
325N/A Y.Assert.isTrue(e.details[1] === 1);
325N/A Y.Assert.isTrue(arg1 === 1);
325N/A Y.Assert.isTrue(arg2 === 2);
325N/A fired = true;
325N/A });
325N/A
325N/A o.fire('testAugment', { foo: 'afoo' }, 1, 2);
325N/A
325N/A Y.Assert.isTrue(fired);
325N/A },
325N/A
325N/A testExtend: function() {
325N/A
325N/A var fired = false;
325N/A
325N/A var Base = function() {
325N/A Y.log('Base constructor executed');
325N/A arguments.callee.superclass.constructor.apply(this, arguments);
325N/A }
325N/A
325N/A Y.extend(Base, Y.Event.Target, {
325N/A base: function() {
325N/A Y.log('all your base...');
325N/A }
325N/A });
325N/A
325N/A var b = new Base();
325N/A b.on('testExtend', function(arg1, arg2) {
325N/A Y.Assert.isTrue(this instanceof Base);
325N/A Y.Assert.isTrue(arg1 === 1);
325N/A Y.Assert.isTrue(arg2 === 2);
325N/A fired = true;
325N/A });
325N/A
325N/A b.fire('testExtend', 1, 2);
325N/A
325N/A Y.Assert.isTrue(fired);
325N/A },
325N/A
325N/A testPrefix: function() {
325N/A
325N/A var fired1 = false,
325N/A fired2 = false;
325N/A
325N/A var O = function(id) {
325N/A this.id = id;
325N/A Y.log('O constructor executed ' + id);
325N/A }
325N/A
325N/A O.prototype = {
325N/A oOo: function(ok) {
325N/A Y.log('oOo');
325N/A }
325N/A }
325N/A
325N/A // pass configuration info into Event.Target with the following
325N/A // construct
325N/A Y.augment(O, Y.Event.Target, null, null, {
325N/A emitFacade: true,
325N/A prefix: 'prefix'
325N/A });
325N/A
325N/A var o = new O();
325N/A o.on('testPrefix', function(e, arg1, arg2) {
325N/A Y.Assert.isTrue(this instanceof O);
325N/A fired1 = true;
325N/A });
325N/A
325N/A o.on('prefix:testPrefix', function(e, arg1, arg2) {
325N/A Y.Assert.isTrue(this instanceof O);
325N/A fired2 = true;
325N/A });
325N/A
325N/A o.fire('testPrefix', { foo: 'afoo' }, 1, 2);
325N/A
325N/A Y.Assert.isTrue(fired1);
325N/A // Y.Assert.isTrue(fired2);
325N/A
325N/A fired1 = false;
325N/A fired2 = false;
325N/A
325N/A o.fire('prefix:testPrefix', { foo: 'afoo' }, 1, 2);
325N/A Y.Assert.isTrue(fired1);
325N/A Y.Assert.isTrue(fired2);
325N/A }
325N/A
325N/A
325N/A });
325N/A
325N/A
325N/A Y.Test.Runner.add(testEventTarget);
325N/A Y.Test.Runner.run();
325N/A });
325N/A})();
325N/A</script>
325N/A</body>
325N/A</html>
325N/A