From 1d481262588a18304ca5a7f067bb95994a56defb Mon Sep 17 00:00:00 2001 From: Lin Clark Date: Wed, 9 Mar 2016 21:50:42 -0800 Subject: [PATCH] Bug 1249106 - Fail tests when React propType errors are logged. r=jyrans MozReview-Commit-ID: HlTDuMhsyX6 --- devtools/client/framework/test/shared-head.js | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/devtools/client/framework/test/shared-head.js b/devtools/client/framework/test/shared-head.js index ba105011f4ab..6c9ad61f91be 100644 --- a/devtools/client/framework/test/shared-head.js +++ b/devtools/client/framework/test/shared-head.js @@ -40,6 +40,26 @@ waitForExplicitFinish(); // Uncomment this pref to dump all devtools emitted events to the console. // Services.prefs.setBoolPref("devtools.dump.emit", true); +/** + * Watch console messages for failed propType definitions in React components. + */ +const ConsoleObserver = { + QueryInterface: XPCOMUtils.generateQI([Ci.nsIObserver]), + + observe: function(subject, topic, data) { + var message = subject.wrappedJSObject.arguments[0]; + + if (/Failed propType/.test(message)) { + ok(false, message); + } + } +}; + +Services.obs.addObserver(ConsoleObserver, "console-api-log-event", false); +registerCleanupFunction(() => { + Services.obs.removeObserver(ConsoleObserver, "console-api-log-event"); +}); + function getFrameScript() { let mm = gBrowser.selectedBrowser.messageManager; let frameURL = "chrome://devtools/content/shared/frame-script-utils.js";