testPropagatedFunArgs.js (858B)
1 function testPropagatedFunArgs() 2 { 3 var win = this; 4 var res = [], q = []; 5 function addEventListener(name, func, flag) { 6 q.push(func); 7 } 8 9 var pageInfo, obs; 10 addEventListener("load", handleLoad, true); 11 12 var observer = { 13 observe: function(win, topic, data) { 14 // obs.removeObserver(observer, "page-info-dialog-loaded"); 15 handlePageInfo(); 16 } 17 }; 18 19 function handleLoad() { 20 pageInfo = { toString: function() { return "pageInfo"; } }; 21 obs = { addObserver: function (obs, topic, data) { obs.observe(win, topic, data); } }; 22 obs.addObserver(observer, "page-info-dialog-loaded", false); 23 } 24 25 function handlePageInfo() { 26 res.push(pageInfo); 27 function $(aId) { res.push(pageInfo); }; 28 var feedTab = $("feedTab"); 29 } 30 31 q[0](); 32 return res.join(','); 33 } 34 assertEq(testPropagatedFunArgs(), "pageInfo,pageInfo");