customevent.html revision 0771d781138a507b3e657573703f511291640bf3
ac4e70ff8955669341f435bc0a734a17c01af124Mark Andrews<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
885f47576842cf3c569315b9a48bd9f0ca03f203Automatic Updater<html>
71bd43eebd9d6e42dbcae62b730f5b6508d5acd8Automatic Updater<head>
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater<title>YUI Event Tests</title>
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater<script type="text/javascript" src="/build/yui/yui-debug.js"></script>
2bb3422dc683c013db7042f5736240de6b86f182Automatic Updater</head>
7b67cfadd077feb0ec3e6c78385ba0d845a9789bMark Andrews
75b70a68aefaa17ac4e768d5ed85d2f50d471490Automatic Updater<body class="yui-skin-sam">
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater<h1>Event Tests</h1>
bb93c8542756719b53096b9939e4041d0966026fAutomatic Updater<p><input type="button" value="Run Tests" id="btnRun" disabled="true" /></p>
90ff38a0d8deaf5f9c2aa5916d99b2e572d28738Automatic Updater
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
ac4e70ff8955669341f435bc0a734a17c01af124Mark Andrews<script type="text/javascript">
6c6a121295b30772cbf3dd75a51fb9d883051a0eAutomatic Updater
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington(function() {
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater //YUI.add("selector-native", function(){});
bc0a53583d92309bebcf93c408e2f3247ebd3d3cAutomatic Updater YUI({
56874aef380a64a2c183b7c282c3e7a361d67fa1Automatic Updater filter: "debug",
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews // combine: false,
96713299d08c0735c18ebe8772dd2cc1ecd4356aAutomatic Updater useConsole: true,
4b2cb1422c7c600fbc13b1cb06a8b4693bc11af8Mark Andrews onCSS: function(Y) {
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews Y.log('CSS is done loading');
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews },
96713299d08c0735c18ebe8772dd2cc1ecd4356aAutomatic Updater // logInclude: ['event', 'test']
80faf1588895fd26490f82f95a7a1b771df1c324Automatic Updater logExclude: {
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews get: true,
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews Dom: true,
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews Selector: true,
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews Node: true,
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson yui: true,
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews attribute: true,
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews base: true,
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson loader: true,
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews widget: true
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater },
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt filters: {
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater base: 'raw',
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater // dom: null,
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt attribute: 'min'
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater }
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater }).use("dump", "test", "console", function(Y) {
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt
2d2dc37599979c83495510f8af8d1756753aa2c5Automatic Updater // Y.Global.on('yui:log', function(e) {
2d2dc37599979c83495510f8af8d1756753aa2c5Automatic Updater // console.log('GLOBAL LOG: ' + e.msg);
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt // });
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater var button = Y.get('#btnRun');
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater // Set up the page
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater button.set("disabled", false);
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater Y.on("click", function() {
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater Y.Test.Runner.run();
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater }, button);
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater // var myConsole = new Y.Console().render();
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater Y.log('{}');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater var testEventTarget = new Y.Test.Case({
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews name: "EventTarget tests",
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater
80faf1588895fd26490f82f95a7a1b771df1c324Automatic Updater testAugment: function() {
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater var fired = false;
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
db5b7e2cdf150c46e8242d3e2e3ad3f5c7300258Automatic Updater var O = function(id) {
80faf1588895fd26490f82f95a7a1b771df1c324Automatic Updater this.id = id;
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews Y.log('O constructor executed ' + id);
ca904804e43f663f08eb1ac9d6d617930b9a3cd3Automatic Updater }
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
db5b7e2cdf150c46e8242d3e2e3ad3f5c7300258Automatic Updater O.prototype = {
4b2cb1422c7c600fbc13b1cb06a8b4693bc11af8Mark Andrews oOo: function(ok) {
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews Y.log('oOo');
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews }
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson }
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews // pass configuration info into EventTarget with the following
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews // construct
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews Y.augment(O, Y.EventTarget, null, null, {
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson emitFacade: true
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews });
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson var o = new O(),
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews handle = o.on('testAugment', function(e, arg1, arg2) {
d145b64cacc8d9cda51f9924ec70cd4661c3e2cfAutomatic Updater Y.Assert.isTrue(this instanceof O);
bb93c8542756719b53096b9939e4041d0966026fAutomatic Updater Y.Assert.isTrue(e instanceof Y.Event.Facade);
723bfc0fc28c486c805de016c4475a35328eb8abAutomatic Updater Y.Assert.isTrue(e.foo === 'afoo');
55e03fc54708d97917bf26639b987f759bdc1f44Automatic Updater Y.Assert.isTrue(e.details[1] === 1);
723bfc0fc28c486c805de016c4475a35328eb8abAutomatic Updater Y.Assert.isTrue(arg1 === 1);
723bfc0fc28c486c805de016c4475a35328eb8abAutomatic Updater Y.Assert.isTrue(arg2 === 2);
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont fired = true;
52367885450d8f61d4f2d63292beb15ba8f39ac7Automatic Updater });
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont o.fire('testAugment', { foo: 'afoo' }, 1, 2);
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
52367885450d8f61d4f2d63292beb15ba8f39ac7Automatic Updater Y.Assert.isTrue(fired);
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews handle.detach();
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
885f47576842cf3c569315b9a48bd9f0ca03f203Automatic Updater // if the first argument is not an object, the
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater // event facade is moved in front of the args rather
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews // than overwriting existing object.
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater o.on('testAugment', function(e, arg1, arg2) {
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater Y.Assert.areEqual(1, arg1);
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews Y.Assert.areEqual(2, arg2);
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews });
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater o.fire('testAugment', 1, 2);
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater },
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater testExtend: function() {
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson var fired = false;
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews var Base = function() {
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson Y.log('Base constructor executed');
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews arguments.callee.superclass.constructor.apply(this, arguments);
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson }
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews
d145b64cacc8d9cda51f9924ec70cd4661c3e2cfAutomatic Updater Y.extend(Base, Y.EventTarget, {
0df8ead472f207020f8da22a185fe4b945248ab8Automatic Updater base: function() {
e8c7dc2a5ce48f11c07a67c9923eeb8f419ff19fEvan Hunt Y.log('all your base...');
0ce87e5749aabb8eef1e0a37e4bd6e6ffa1d7196Automatic Updater }
0ce87e5749aabb8eef1e0a37e4bd6e6ffa1d7196Automatic Updater });
0df8ead472f207020f8da22a185fe4b945248ab8Automatic Updater
2bb3422dc683c013db7042f5736240de6b86f182Automatic Updater var b = new Base();
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater b.on('testExtend', function(arg1, arg2) {
0df8ead472f207020f8da22a185fe4b945248ab8Automatic Updater Y.Assert.isTrue(this instanceof Base);
3098364bcdd7a719fbafa5fc8d2cc9e90e5a5989Automatic Updater Y.Assert.isTrue(arg1 === 1);
19b3dc94bce93fa76bd7e066f9298630dbc9dcb4Automatic Updater Y.Assert.isTrue(arg2 === 2);
d145b64cacc8d9cda51f9924ec70cd4661c3e2cfAutomatic Updater fired = true;
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater });
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater b.fire('testExtend', 1, 2);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
0df8ead472f207020f8da22a185fe4b945248ab8Automatic Updater Y.Assert.isTrue(fired);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater },
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
bc0a53583d92309bebcf93c408e2f3247ebd3d3cAutomatic Updater testPrefix: function() {
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater var fired1 = false,
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater fired2 = false;
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater var O = function(id) {
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater this.id = id;
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater Y.log('O constructor executed ' + id);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater }
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
7f94d9a8162c9a96b56e66176702b66e79d8e1a2Automatic Updater O.prototype = {
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater oOo: function(ok) {
19b3dc94bce93fa76bd7e066f9298630dbc9dcb4Automatic Updater Y.log('oOo');
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater }
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater }
7f94d9a8162c9a96b56e66176702b66e79d8e1a2Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater // pass configuration info into EventTarget with the following
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater // construct
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.augment(O, Y.EventTarget, null, null, {
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater emitFacade: true,
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater prefix: 'prefix'
71bd43eebd9d6e42dbcae62b730f5b6508d5acd8Automatic Updater });
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
7262eb86f2b465822206122921e2f357218f0cfdAutomatic Updater var o = new O();
96ea71632887c58a9d00f47eb318bf76b35903c3Mark Andrews o.on('testPrefix', function(e, arg1, arg2) {
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.Assert.isTrue(this instanceof O);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater fired1 = true;
bbb069be941f649228760edcc241122933c066d2Automatic Updater });
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
4cda4fd158d6ded5586bacea8c388445d99611eaAutomatic Updater o.on('prefix:testPrefix', function(e, arg1, arg2) {
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews Y.Assert.isTrue(this instanceof O);
b0d566a2ce0f5a67f537ee7f8233f82f2584cc61Automatic Updater fired2 = true;
80faf1588895fd26490f82f95a7a1b771df1c324Automatic Updater });
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater o.fire('testPrefix', { foo: 'afoo' }, 1, 2);
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews Y.Assert.isTrue(fired1);
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews // Y.Assert.isTrue(fired2);
5ae0e2c8b72fa44237edeb37d1945b1c3535ca39Automatic Updater
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews fired1 = false;
f7c88d61cc1ad2435b0b7cfaedfc9d5248c0be25Automatic Updater fired2 = false;
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater o.fire('prefix:testPrefix', { foo: 'afoo' }, 1, 2);
bc0a53583d92309bebcf93c408e2f3247ebd3d3cAutomatic Updater Y.Assert.isTrue(fired1);
7f94d9a8162c9a96b56e66176702b66e79d8e1a2Automatic Updater Y.Assert.isTrue(fired2);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater },
7f94d9a8162c9a96b56e66176702b66e79d8e1a2Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater testDetachKey: function() {
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington var fired1 = false,
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater fired2 = false;
7eda3642eea03f1181e41540c7c8791a57759383Automatic Updater
96713299d08c0735c18ebe8772dd2cc1ecd4356aAutomatic Updater Y.on('handle|test:event', function() {
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater fired1 = true;
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater });
7eda3642eea03f1181e41540c7c8791a57759383Automatic Updater
00be0f9f61d4c6bf197d000bfa1a6b7e70ea0866Automatic Updater // one listener
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson Y.fire('test:event');
00be0f9f61d4c6bf197d000bfa1a6b7e70ea0866Automatic Updater Y.Assert.isTrue(fired1);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.Assert.isFalse(fired2);
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
71bd43eebd9d6e42dbcae62b730f5b6508d5acd8Automatic Updater Y.detach('handle|test:event');
0ce87e5749aabb8eef1e0a37e4bd6e6ffa1d7196Automatic Updater
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fired1 = false;
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater fired2 = false;
3857cb6fcabeb79d85de4b3e3e4ab99912b701f8Mark Andrews
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater Y.on('handle|test:event', function() {
80faf1588895fd26490f82f95a7a1b771df1c324Automatic Updater fired2 = true;
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews });
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson // first lisener detached, added a new listener
e2caa7536302de34de6cc04025abcd53dc3a499aAutomatic Updater Y.fire('test:event');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.Assert.isFalse(fired1);
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater Y.Assert.isTrue(fired2);
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews Y.detach('handle|test:event');
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater fired1 = false;
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater fired2 = false;
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
4b2cb1422c7c600fbc13b1cb06a8b4693bc11af8Mark Andrews Y.after('handle|test:event', function(arg1) {
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews Y.Assert.areEqual('orange', arg1);
4b2cb1422c7c600fbc13b1cb06a8b4693bc11af8Mark Andrews Y.Assert.isTrue(fired1);
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews fired2 = true;
e076d0c88be69de7c190ab924d095e69d2e11f7aAndreas Gustafsson });
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater // comma or pipe
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.on('handle|test:event', function(arg1) {
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.Assert.areEqual('orange', arg1);
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews Y.Assert.isFalse(fired2);
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson fired1 = true;
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews });
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews // testing on and after order
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson Y.fire('test:event', 'orange');
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews fired1 = false;
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews fired2 = false;
ac4e70ff8955669341f435bc0a734a17c01af124Mark Andrews
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington // spaces after the comma or lack thereof should have
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington // no effect on the addition or removal of listeners
b4cebdb6ccde66a8f3e397a1b90b0cf788519d69Automatic Updater Y.detach('handle|test:event');
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater // added both an on listener and an after listener,
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater // then detached both
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.fire('test:event', 'orange');
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.Assert.isFalse(fired1);
6c6a121295b30772cbf3dd75a51fb9d883051a0eAutomatic Updater Y.Assert.isFalse(fired2);
bc0a4c01beede169df81a3ee5b614ed9e82339dbAutomatic Updater
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington },
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington testDetachAllByKey: function() {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington var fired1 = false,
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fired2 = false;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.after('handle|test:event2', function() {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fired2 = true;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington });
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.on('handle|test:event2', function() {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fired1 = true;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington });
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington // detachAll
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.detach('handle|*');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.fire('test:event2');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.Assert.isFalse(fired1, 'fired1, the after listener should not have fired.');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.Assert.isFalse(fired2, 'fired2, the on listener should not have fired.');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington },
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington testChain: function() {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington var fired1 = false,
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fired2 = false,
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fired3 = false,
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fired4 = false,
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fired5 = false;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington // should be executed once, after f2
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington var f1 = function() {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.Assert.isTrue(fired2);
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fired1 = true;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington };
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington // should be executed once, before f1
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington var f2 = function() {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.Assert.isFalse(fired1);
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fired2 = true;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington };
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington // should be executed once, different event from f1 and f2
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington var f3 = function() {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fired3 = true;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington };
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington // detached before fired, should not executed
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington var f4 = function() {
a26b22914b7bf25f065afb8cdef983766dcd672bAutomatic Updater fired4 = true;
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater };
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater // should fire once, preserving the custom prefix rather
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater // than using the configured event target prefix
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater var f5 = function() {
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater fired5 = true;
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater };
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater // configure chaining via global default or on the event target
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater YUI({ /* chain: true */
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater base:'/build/'
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater }).use('*', function(Y2) {
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater var o = new Y2.EventTarget({
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater prefix: 'foo',
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater chain : true
0d3490f93bb980fde704055e74c1b508987a5fe4Mark Andrews });
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington // without event target prefix manipulation (incomplete now)
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington // @TODO an error here is throwing an uncaught exception rather than failing the test
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington // Y2.after('p:e', f1).on('p:e', f2).on('p:e2', f3).on('detach, p:e', f4).detach('detach, p:e').fire('p:e').fire('p:e2');
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews // with event target prefix manipulation ('e' is the same event as 'foo:e',
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington // but 'pre:e' is a different event only accessible by using that exact name)
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrewso.after('e', f1).on('foo:e', f2).on('foo:e2', f3).on('detach, e', f4).detach('detach,e').fire('foo:e').fire('e2').on('pre:e', f5).fire('pre:e');
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews Y.Assert.isTrue(fired1); // verifies chaining, on/after order, and adding the event target prefix
6c6a121295b30772cbf3dd75a51fb9d883051a0eAutomatic Updater Y.Assert.isTrue(fired2); // verifies chaining, on/after order, and accepting the prefix in the event name
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.Assert.isTrue(fired3); // verifies no interaction between events, and prefix manipulation
6c6a121295b30772cbf3dd75a51fb9d883051a0eAutomatic Updater Y.Assert.isFalse(fired4); // verifies detach works (regardless of spaces after comma)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.Assert.isTrue(fired5); // verifies custom prefix
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington });
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington },
a26b22914b7bf25f065afb8cdef983766dcd672bAutomatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater testObjType: function() {
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater var f1, f2;
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.on({
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater 'y:click': function() {f1 = true},
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater 'y:clack': function() {f2 = true}
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater });
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
c01dec514a81ecf8c17ca3ef8c3ba95e437295ebAutomatic Updater Y.fire('y:click');
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.fire('y:clack');
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.Assert.isTrue(f1);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.Assert.isTrue(f2);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater },
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington testBubble: function() {
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater var count = 0,
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington ret,
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington config = {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington emitFacade: true,
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington bubbles: true
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington },
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington a = new Y.EventTarget(config),
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington b = new Y.EventTarget(config);
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington b.addTarget(a);
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington // this should not be necessary
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington b.publish('test:foo');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington a.on('test:foo', function() {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington count++;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington });
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington ret = b.fire('test:foo', {}, b);
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews Y.Assert.areEqual(1, count);
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.Assert.isTrue(ret);
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
a26b22914b7bf25f065afb8cdef983766dcd672bAutomatic Updater b.on('test:foo', function(e) {
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater e.stopPropagation();
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington });
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
a26b22914b7bf25f065afb8cdef983766dcd672bAutomatic Updater ret = b.fire('test:foo', {}, b);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.Assert.areEqual(1, count);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.Assert.isFalse(ret);
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington },
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington testPreventFnOnce: function() {
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews var count = 0;
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews Y.publish('y:foo1', {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington emitFacade: true,
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington preventedFn: function() {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington count++;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.Assert.isTrue(this instanceof YUI);
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington }
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington });
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.on('y:foo1', function(e) {
b7aab05edae933e169d5f83c653935b17c7f0a8bMark Andrews e.preventDefault();
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington });
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.on('y:foo1', function(e) {
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews e.preventDefault();
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews });
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.fire('y:foo1');
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.Assert.areEqual(1, count);
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington },
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
a26b22914b7bf25f065afb8cdef983766dcd672bAutomatic Updater testDetachHandle: function() {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington var count = 0, handle, handle2;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.publish('y:foo', {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington emitFacade: true
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington });
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.on('y:foo', function(e) {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington count++;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington handle2.detach();
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington });
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater handle = Y.on('y:foo', function(e) {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington count += 100;
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater });
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater handle2 = Y.on('y:foo', function(e) {
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater count += 1000;
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater });
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater Y.detach(handle);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.fire('y:foo');
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.Assert.areEqual(1, count);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington count = 0;
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington var handle3 = Y.on('y:click', function() {
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews count++;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington handle3.detach();
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews });
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews Y.fire('y:click');
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews Y.fire('y:click');
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington count = 0;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.on('y:foo', function(e) {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington count++;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington });
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.on('y:foo', function(e) {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington count++;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington });
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.detachAll('y:click');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Y.fire('y:click');
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
a26b22914b7bf25f065afb8cdef983766dcd672bAutomatic Updater Y.Assert.areEqual(0, count);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington },
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater testBroadcast: function() {
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater var o = new Y.EventTarget(), s1, s2, s3, s4;
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater o.publish('y:foo2', {
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater emitFacade: true,
b0d566a2ce0f5a67f537ee7f8233f82f2584cc61Automatic Updater broadcast: 1
b0d566a2ce0f5a67f537ee7f8233f82f2584cc61Automatic Updater });
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
b4cebdb6ccde66a8f3e397a1b90b0cf788519d69Automatic Updater Y.on('y:foo2', function() {
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.log('Y foo2 executed');
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater s1 = 1;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington });
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews Y.Global.on('y:foo2', function() {
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater Y.log('GLOBAL foo2 executed');
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater s2 = 1;
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater });
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater o.fire('y:foo2');
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater Y.Assert.areEqual(1, s1);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.Assert.areNotEqual(1, s2);
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington s1 = 0;
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington s2 = 0;
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater o.publish('y:bar', {
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington emitFacade: true,
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater broadcast: 2
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater });
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.on('y:bar', function() {
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.log('Y bar executed');
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater s3 = 1;
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater });
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.Global.on('y:bar', function() {
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.log('GLOBAL bar executed');
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater s4 = 1;
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater });
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater o.fire('y:bar');
fd7c65dce9c2b1a3d12ca4df9074cd38019fdb5fAutomatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.Assert.areEqual(1, s3);
fd7c65dce9c2b1a3d12ca4df9074cd38019fdb5fAutomatic Updater Y.Assert.areEqual(1, s4);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater }
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater });
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.Test.Runner.add(testEventTarget);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Y.Test.Runner.run();
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater });
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington // YUI({
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater // base: "/build/",
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater // filter: "debug",
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater // combine: false,
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington // useConsole: true,
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater // logExclude: {Dom: true, Selector: true, Node: true, attribute: true, base: true, loader: true, get: true, widget: true}
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater // }).use("datasource", function(Y) {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington // Y.log('loaded datasource: ' + Y.DataSource);
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater // });
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater})();
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater</script>
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater</body>
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater</html>
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater