Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(493)

Unified Diff: chrome/renderer/extensions/event_unittest.cc

Issue 10704073: Plumb listenerIDs correctly for events that clobber chrome.Event.prototype.dispatch. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/extensions/event_unittest.cc
diff --git a/chrome/renderer/extensions/event_unittest.cc b/chrome/renderer/extensions/event_unittest.cc
index 4b0619f9b29880875bfb1483d302ec774456ec2c..9cff07ae75445a1e0a41bf4c9a543b3953c5b766 100644
--- a/chrome/renderer/extensions/event_unittest.cc
+++ b/chrome/renderer/extensions/event_unittest.cc
@@ -65,6 +65,8 @@ class EventUnittest : public ModuleSystemTest {
"exports.sendRequest = function() {};");
OverrideNativeHandler("apiDefinitions",
"exports.GetExtensionAPIDefinition = function() {};");
+ OverrideNativeHandler("logging",
+ "exports.DCHECK = function() {};");
}
};
@@ -148,7 +150,7 @@ TEST_F(EventUnittest, NamedEventDispatch) {
"var e = new event.Event('myevent');"
"var called = false;"
"e.addListener(function() { called = true; });"
- "chromeHidden.Event.dispatch('myevent', []);"
+ "chromeHidden.Event.dispatchJSON('myevent', []);"
"assert.AssertTrue(called);");
module_system_->Require("test");
}
@@ -246,4 +248,28 @@ TEST_F(EventUnittest, AddingFilterWithUrlFieldNotAListThrowsException) {
module_system_->Require("test");
}
+TEST_F(EventUnittest, MaxListeners) {
+ ModuleSystem::NativesEnabledScope natives_enabled_scope(module_system_.get());
+ RegisterModule("test",
+ "var event = require('event');"
+ "var assert = requireNative('assert');"
+ "var eventOpts = {supportsListeners: true, maxListeners: 1};"
+ "var e = new event.Event('myevent', undefined, eventOpts);"
+ "var cb = function() {};"
+ "var caught = false;"
+ "try {"
+ " e.addListener(cb);"
+ "} catch (e) {"
+ " caught = true;"
+ "}"
+ "assert.AssertTrue(!caught);"
+ "try {"
+ " e.addListener(cb);"
+ "} catch (e) {"
+ " caught = true;"
+ "}"
+ "assert.AssertTrue(caught);");
+ module_system_->Require("test");
+}
+
} // namespace
« no previous file with comments | « chrome/renderer/extensions/chrome_v8_context_set.cc ('k') | chrome/renderer/extensions/extension_dispatcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698