Commit a6596601 authored by dpapad's avatar dpapad Committed by Commit bot

Fix PluginsTest.Plugins race condition and re-enable.

BUG=647305

Review-Url: https://codereview.chromium.org/2563743002
Cr-Commit-Position: refs/heads/master@{#437590}
parent cc52c3cb
...@@ -16,6 +16,7 @@ var ROOT_PATH = '../../../../'; ...@@ -16,6 +16,7 @@ var ROOT_PATH = '../../../../';
*/ */
function PluginsTest() { function PluginsTest() {
this.browserProxy = null; this.browserProxy = null;
this.setupFnResolver = new PromiseResolver();
} }
PluginsTest.prototype = { PluginsTest.prototype = {
...@@ -87,6 +88,8 @@ PluginsTest.prototype = { ...@@ -87,6 +88,8 @@ PluginsTest.prototype = {
}, },
}; };
this.browserProxy = new TestBrowserProxy();
// A function that is called from chrome://plugins to allow this test to // A function that is called from chrome://plugins to allow this test to
// replace the real Mojo browser proxy with a fake one, before any other // replace the real Mojo browser proxy with a fake one, before any other
// code runs. // code runs.
...@@ -106,16 +109,17 @@ PluginsTest.prototype = { ...@@ -106,16 +109,17 @@ PluginsTest.prototype = {
pluginsMojom.PluginsPageHandler.name, function(handle) { pluginsMojom.PluginsPageHandler.name, function(handle) {
var stub = connection.bindHandleToStub( var stub = connection.bindHandleToStub(
handle, pluginsMojom.PluginsPageHandler); handle, pluginsMojom.PluginsPageHandler);
this.browserProxy = new TestBrowserProxy();
bindings.StubBindings(stub).delegate = this.browserProxy; bindings.StubBindings(stub).delegate = this.browserProxy;
}.bind(this)); }.bind(this));
return this.setupFnResolver.promise;
}.bind(this)); }.bind(this));
}.bind(this); }.bind(this);
}, },
}; };
TEST_F('PluginsTest', 'DISABLED_Plugins', function() { TEST_F('PluginsTest', 'Plugins', function() {
var browserProxy = this.browserProxy; var browserProxy = this.browserProxy;
var setupFnResolver = this.setupFnResolver;
var fakePluginData = { var fakePluginData = {
name: 'Group Name', name: 'Group Name',
...@@ -154,6 +158,9 @@ TEST_F('PluginsTest', 'DISABLED_Plugins', function() { ...@@ -154,6 +158,9 @@ TEST_F('PluginsTest', 'DISABLED_Plugins', function() {
var EXPECTED_PLUGINS = 2; var EXPECTED_PLUGINS = 2;
suiteSetup(function() { suiteSetup(function() {
browserProxy.setPluginsData([fakePluginData, fakePluginData]); browserProxy.setPluginsData([fakePluginData, fakePluginData]);
// Allow code being tested to proceed, now that fake data has been set up.
setupFnResolver.resolve();
return Promise.all([ return Promise.all([
browserProxy.whenCalled('getPluginsData'), browserProxy.whenCalled('getPluginsData'),
browserProxy.whenCalled('getShowDetails'), browserProxy.whenCalled('getShowDetails'),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment