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

Side by Side Diff: chrome/test/data/webui/settings/default_browser_browsertest.js

Issue 2317693003: [MD settings] display message about secondary install in default browser settings (Closed)
Patch Set: Created 4 years, 3 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
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
Finnur 2016/09/07 16:25:22 nit: 2016
dschuyler 2016/09/07 18:51:42 Done.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 cr.define('settings_default_browser', function() {
6 /**
7 * A test version of DefaultBrowserBrowserProxy. Provides helper methods
8 * for allowing tests to know when a method was called, as well as
9 * specifying mock responses.
10 *
11 * @constructor
12 * @implements {settings.DefaultBrowserBrowserProxy}
13 * @extends {settings.TestBrowserProxy}
14 */
15 var TestDefaultBrowserBrowserProxy = function() {
16 settings.TestBrowserProxy.call(this, [
17 'requestDefaultBrowserState',
18 'setAsDefaultBrowser',
19 ]);
20
21 /** @private {!DefaultBrowserInfo} */
22 this.defaultBrowserInfo_ = {
23 canBeDefault: true,
24 isDefault: false,
25 isDisabledByPolicy: false,
26 isUnknownError: false
27 };
28 };
29
30 TestDefaultBrowserBrowserProxy.prototype = {
31 __proto__: settings.TestBrowserProxy.prototype,
32
33 /** @override */
34 requestDefaultBrowserState: function() {
35 this.methodCalled('requestDefaultBrowserState');
36 return Promise.resolve(this.defaultBrowserInfo_);
37 },
38
39 /** @override */
40 setAsDefaultBrowser: function() {
41 this.methodCalled('setAsDefaultBrowser');
42 },
43
44 /**
45 * Sets the response to be returned by |requestDefaultBrowserState|.
46 * @param {!DefaultBrowserInfo}
Finnur 2016/09/07 16:25:22 nit: Missing param name etc.
dschuyler 2016/09/07 18:51:42 Done.
47 */
48 setDefaultBrowserInfo: function(info) {
49 this.defaultBrowserInfo_ = info;
50 },
51 }
52
53 function registerDefaultBrowserPageTests() {
54 suite('DefaultBrowserPageTest', function() {
55 var page = null;
56
57 /** @type {?settings.TestDefaultBrowserBrowserProxy} */
58 var browserProxy = null;
59
60 setup(function() {
61 browserProxy = new TestDefaultBrowserBrowserProxy();
62 settings.DefaultBrowserBrowserProxyImpl.instance_ = browserProxy;
63 return initPage();
64 });
65
66 teardown(function() {
67 page.remove();
68 page = null;
69 });
70
71 /** @return {!Promise} */
72 function initPage() {
73 browserProxy.reset();
74 PolymerTest.clearBody();
75 page = document.createElement('settings-default-browser-page');
76 document.body.appendChild(page);
77 return browserProxy.whenCalled('requestDefaultBrowserState');
78 }
79
80 test('default-browser-test-can-be-default', function(done) {
81 browserProxy.setDefaultBrowserInfo({
82 canBeDefault: true,
83 isDefault: false,
84 isDisabledByPolicy: false,
85 isUnknownError: false
86 });
87
88 return initPage().then(function() {
89 assertFalse(page.isDefault_);
90 assertFalse(page.isSecondaryInstall_);
91 assertFalse(page.isUnknownError_);
92 assertTrue(page.showButton_);
93 done();
94 });
95 });
96
97 test('default-browser-test-is-default', function(done) {
98 assertTrue(!!page);
99 browserProxy.setDefaultBrowserInfo({
100 canBeDefault: true,
101 isDefault: true,
102 isDisabledByPolicy: false,
103 isUnknownError: false
104 });
105
106 return initPage().then(function() {
107 assertTrue(page.isDefault_);
108 assertFalse(page.isSecondaryInstall_);
109 assertFalse(page.isUnknownError_);
110 assertFalse(page.showButton_);
111 done();
112 });
113 });
114
115 test('default-browser-test-is-secondary-install', function(done) {
116 browserProxy.setDefaultBrowserInfo({
117 canBeDefault: false,
118 isDefault: false,
119 isDisabledByPolicy: false,
120 isUnknownError: false
121 });
122
123 return initPage().then(function() {
124 assertFalse(page.isDefault_);
125 assertTrue(page.isSecondaryInstall_);
126 assertFalse(page.isUnknownError_);
127 assertFalse(page.showButton_);
128 done();
129 });
130 });
131
132 test('default-browser-test-is-disabled-by-policy', function(done) {
133 browserProxy.setDefaultBrowserInfo({
134 canBeDefault: true,
135 isDefault: false,
136 isDisabledByPolicy: true,
137 isUnknownError: false
138 });
139
140 return initPage().then(function() {
141 assertFalse(page.isDefault_);
142 assertFalse(page.isSecondaryInstall_);
143 assertTrue(page.isUnknownError_);
144 assertFalse(page.showButton_);
145 done();
146 });
147 });
148
149 test('default-browser-test-is-unknown-error', function(done) {
150 browserProxy.setDefaultBrowserInfo({
151 canBeDefault: true,
152 isDefault: false,
153 isDisabledByPolicy: false,
154 isUnknownError: true
155 });
156
157 return initPage().then(function() {
158 assertFalse(page.isDefault_);
159 assertFalse(page.isSecondaryInstall_);
160 assertTrue(page.isUnknownError_);
161 assertFalse(page.showButton_);
162 done();
163 });
164 });
165 });
166 }
167
168 return {
169 registerTests: function() {
170 registerDefaultBrowserPageTests();
171 },
172 };
173 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698