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

Side by Side 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: respond to commens 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/test/base/module_system_test.h" 5 #include "chrome/test/base/module_system_test.h"
6 6
7 #include "grit/renderer_resources.h" 7 #include "grit/renderer_resources.h"
8 8
9 namespace { 9 namespace {
10 10
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 "exports.HasFilteredListener = function(name) {" 58 "exports.HasFilteredListener = function(name) {"
59 " return attachedFilteredListeners[name].length;" 59 " return attachedFilteredListeners[name].length;"
60 "};"); 60 "};");
61 OverrideNativeHandler("chrome_hidden", 61 OverrideNativeHandler("chrome_hidden",
62 "var chromeHidden = {};" 62 "var chromeHidden = {};"
63 "exports.GetChromeHidden = function() { return chromeHidden; };"); 63 "exports.GetChromeHidden = function() { return chromeHidden; };");
64 OverrideNativeHandler("sendRequest", 64 OverrideNativeHandler("sendRequest",
65 "exports.sendRequest = function() {};"); 65 "exports.sendRequest = function() {};");
66 OverrideNativeHandler("apiDefinitions", 66 OverrideNativeHandler("apiDefinitions",
67 "exports.GetExtensionAPIDefinition = function() {};"); 67 "exports.GetExtensionAPIDefinition = function() {};");
68 OverrideNativeHandler("logging",
69 "exports.DCHECK = function() {};");
68 } 70 }
69 }; 71 };
70 72
71 TEST_F(EventUnittest, TestNothing) { 73 TEST_F(EventUnittest, TestNothing) {
72 ExpectNoAssertionsMade(); 74 ExpectNoAssertionsMade();
73 } 75 }
74 76
75 TEST_F(EventUnittest, AddRemoveTwoListeners) { 77 TEST_F(EventUnittest, AddRemoveTwoListeners) {
76 ModuleSystem::NativesEnabledScope natives_enabled_scope(module_system_.get()); 78 ModuleSystem::NativesEnabledScope natives_enabled_scope(module_system_.get());
77 RegisterModule("test", 79 RegisterModule("test",
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 143
142 TEST_F(EventUnittest, NamedEventDispatch) { 144 TEST_F(EventUnittest, NamedEventDispatch) {
143 ModuleSystem::NativesEnabledScope natives_enabled_scope(module_system_.get()); 145 ModuleSystem::NativesEnabledScope natives_enabled_scope(module_system_.get());
144 RegisterModule("test", 146 RegisterModule("test",
145 "var event = require('event');" 147 "var event = require('event');"
146 "var chromeHidden = requireNative('chrome_hidden').GetChromeHidden();" 148 "var chromeHidden = requireNative('chrome_hidden').GetChromeHidden();"
147 "var assert = requireNative('assert');" 149 "var assert = requireNative('assert');"
148 "var e = new event.Event('myevent');" 150 "var e = new event.Event('myevent');"
149 "var called = false;" 151 "var called = false;"
150 "e.addListener(function() { called = true; });" 152 "e.addListener(function() { called = true; });"
151 "chromeHidden.Event.dispatch('myevent', []);" 153 "chromeHidden.Event.dispatchJSON('myevent', []);"
152 "assert.AssertTrue(called);"); 154 "assert.AssertTrue(called);");
153 module_system_->Require("test"); 155 module_system_->Require("test");
154 } 156 }
155 157
156 TEST_F(EventUnittest, AddListenerWithFiltersThrowsErrorByDefault) { 158 TEST_F(EventUnittest, AddListenerWithFiltersThrowsErrorByDefault) {
157 ModuleSystem::NativesEnabledScope natives_enabled_scope(module_system_.get()); 159 ModuleSystem::NativesEnabledScope natives_enabled_scope(module_system_.get());
158 RegisterModule("test", 160 RegisterModule("test",
159 "var event = require('event');" 161 "var event = require('event');"
160 "var assert = requireNative('assert');" 162 "var assert = requireNative('assert');"
161 "var e = new event.Event('myevent');" 163 "var e = new event.Event('myevent');"
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 "var caught = false;" 241 "var caught = false;"
240 "try {" 242 "try {"
241 " e.addListener(cb, filters);" 243 " e.addListener(cb, filters);"
242 "} catch (e) {" 244 "} catch (e) {"
243 " caught = true;" 245 " caught = true;"
244 "}" 246 "}"
245 "assert.AssertTrue(caught);"); 247 "assert.AssertTrue(caught);");
246 module_system_->Require("test"); 248 module_system_->Require("test");
247 } 249 }
248 250
251 TEST_F(EventUnittest, MaxListeners) {
252 ModuleSystem::NativesEnabledScope natives_enabled_scope(module_system_.get());
253 RegisterModule("test",
254 "var event = require('event');"
255 "var assert = requireNative('assert');"
256 "var eventOpts = {supportsListeners: true, maxListeners: 1};"
257 "var e = new event.Event('myevent', undefined, eventOpts);"
258 "var cb = function() {};"
259 "var caught = false;"
260 "try {"
261 " e.addListener(cb);"
262 "} catch (e) {"
263 " caught = true;"
264 "}"
265 "assert.AssertTrue(!caught);"
266 "try {"
267 " e.addListener(cb);"
268 "} catch (e) {"
269 " caught = true;"
270 "}"
271 "assert.AssertTrue(caught);");
272 module_system_->Require("test");
273 }
274
249 } // namespace 275 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698