Cu.import("resource://weave/notifications.js"); function run_test() { var logStats = initTestLogging("Info"); var blah = 0; function callback(i) { blah = i; } let button = new NotificationButton("label", "accessKey", callback); button.callback(5); do_check_eq(blah, 5); do_check_eq(logStats.errorsLogged, 0); function badCallback() { throw new Error("oops"); } button = new NotificationButton("label", "accessKey", badCallback); try { button.callback(); } catch (e) { do_check_eq(e.message, "oops"); } do_check_eq(logStats.errorsLogged, 1); }