michael@0: function testPropagatedFunArgs() michael@0: { michael@0: var win = this; michael@0: var res = [], q = []; michael@0: function addEventListener(name, func, flag) { michael@0: q.push(func); michael@0: } michael@0: michael@0: var pageInfo, obs; michael@0: addEventListener("load", handleLoad, true); michael@0: michael@0: var observer = { michael@0: observe: function(win, topic, data) { michael@0: // obs.removeObserver(observer, "page-info-dialog-loaded"); michael@0: handlePageInfo(); michael@0: } michael@0: }; michael@0: michael@0: function handleLoad() { michael@0: pageInfo = { toString: function() { return "pageInfo"; } }; michael@0: obs = { addObserver: function (obs, topic, data) { obs.observe(win, topic, data); } }; michael@0: obs.addObserver(observer, "page-info-dialog-loaded", false); michael@0: } michael@0: michael@0: function handlePageInfo() { michael@0: res.push(pageInfo); michael@0: function $(aId) { res.push(pageInfo); }; michael@0: var feedTab = $("feedTab"); michael@0: } michael@0: michael@0: q[0](); michael@0: return res.join(','); michael@0: } michael@0: assertEq(testPropagatedFunArgs(), "pageInfo,pageInfo");