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

Side by Side Diff: remoting/webapp/unittests/fallback_signal_strategy_unittest.js

Issue 855003008: Log signal strategy progress to server. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update for new log format. Created 5 years, 11 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
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 (function() { 5 (function() {
6 6
7 'use strict'; 7 'use strict';
8 8
9 var ControllableSignalStrategy = function(jid, stateChangeCallback) { 9 var ControllableSignalStrategy = function(jid, type, stateChangeCallback) {
10 this.jid = jid; 10 this.jid = jid;
11 this.type = type;
11 this.stateChangeCallback_ = stateChangeCallback; 12 this.stateChangeCallback_ = stateChangeCallback;
12 this.state_ = null; 13 this.state_ = null;
13 this.onIncomingStanzaCallback = function() {}; 14 this.onIncomingStanzaCallback = function() {};
14 this.dispose = sinon.spy(); 15 this.dispose = sinon.spy();
15 this.connect = sinon.spy(); 16 this.connect = sinon.spy();
16 this.sendMessage = sinon.spy(); 17 this.sendMessage = sinon.spy();
18 this.sendConnectionSetupResults = sinon.spy();
17 }; 19 };
18 20
19 ControllableSignalStrategy.prototype.setIncomingStanzaCallback = 21 ControllableSignalStrategy.prototype.setIncomingStanzaCallback =
20 function(onIncomingStanzaCallback) { 22 function(onIncomingStanzaCallback) {
21 this.onIncomingStanzaCallback = 23 this.onIncomingStanzaCallback =
22 onIncomingStanzaCallback ? onIncomingStanzaCallback 24 onIncomingStanzaCallback ? onIncomingStanzaCallback
23 : function() {}; 25 : function() {};
24 } 26 }
25 27
26 ControllableSignalStrategy.prototype.getState = function(message) { 28 ControllableSignalStrategy.prototype.getState = function(message) {
27 return this.state_; 29 return this.state_;
28 }; 30 };
29 31
30 ControllableSignalStrategy.prototype.getError = function(message) { 32 ControllableSignalStrategy.prototype.getError = function(message) {
31 return remoting.Error.UNKNOWN; 33 return remoting.Error.UNKNOWN;
32 }; 34 };
33 35
34 ControllableSignalStrategy.prototype.getJid = function(message) { 36 ControllableSignalStrategy.prototype.getJid = function(message) {
35 return this.jid; 37 return this.jid;
36 }; 38 };
37 39
40 ControllableSignalStrategy.prototype.getType = function(message) {
41 return this.type;
42 };
43
38 ControllableSignalStrategy.prototype.setExternalCallbackForTesting = 44 ControllableSignalStrategy.prototype.setExternalCallbackForTesting =
39 function(externalCallback) { 45 function(externalCallback) {
40 this.externalCallback_ = externalCallback; 46 this.externalCallback_ = externalCallback;
41 }; 47 };
42 48
43 ControllableSignalStrategy.prototype.setStateForTesting = 49 ControllableSignalStrategy.prototype.setStateForTesting =
44 function(state, expectExternalCallback) { 50 function(state, expectExternalCallback) {
45 this.state_ = state; 51 this.state_ = state;
46 this.externalCallback_.reset(); 52 this.externalCallback_.reset();
47 this.stateChangeCallback_(state); 53 this.stateChangeCallback_(state);
48 if (expectExternalCallback) { 54 if (expectExternalCallback) {
49 equal(this.externalCallback_.callCount, 1); 55 equal(this.externalCallback_.callCount, 1);
50 ok(this.externalCallback_.calledWith(state)); 56 ok(this.externalCallback_.calledWith(state));
51 equal(strategy.getState(), state); 57 equal(strategy.getState(), state);
52 } else { 58 } else {
53 ok(!this.externalCallback_.called); 59 ok(!this.externalCallback_.called);
54 } 60 }
55 }; 61 };
56 62
57 var createControllableSignalStrategy = function(jid, callback) { 63 var createControllableSignalStrategy = function(jid, type, callback) {
58 return new ControllableSignalStrategy(jid, callback); 64 return new ControllableSignalStrategy(jid, type, callback);
65 };
66
67 var MockLogToServer = function() {
68 this.logSignalStrategyProgress = sinon.spy();
69 };
70
71 MockLogToServer.prototype.assertProgress = function() {
72 equal(this.logSignalStrategyProgress.callCount * 2, arguments.length);
73 for (var i = 0; i < this.logSignalStrategyProgress.callCount; ++i) {
74 equal(this.logSignalStrategyProgress.getCall(i).args[0], arguments[2 * i]);
75 equal(this.logSignalStrategyProgress.getCall(i).args[1],
76 arguments[2 * i + 1]);
77 }
59 }; 78 };
60 79
61 var onStateChange = null; 80 var onStateChange = null;
62 var onProgressCallback = null;
63 var onIncomingStanzaCallback = null; 81 var onIncomingStanzaCallback = null;
64 var strategy = null; 82 var strategy = null;
65 var primary = null; 83 var primary = null;
66 var secondary = null; 84 var secondary = null;
85 var logToServer = null;
67 86
68 module('fallback_signal_strategy', { 87 module('fallback_signal_strategy', {
69 setup: function() { 88 setup: function() {
70 onStateChange = sinon.spy(); 89 onStateChange = sinon.spy();
71 onProgressCallback = sinon.spy();
72 onIncomingStanzaCallback = sinon.spy(); 90 onIncomingStanzaCallback = sinon.spy();
73 strategy = new remoting.FallbackSignalStrategy( 91 strategy = new remoting.FallbackSignalStrategy(
74 createControllableSignalStrategy.bind(null, 'primary-jid'), 92 createControllableSignalStrategy.bind(
75 createControllableSignalStrategy.bind(null, 'secondary-jid'), 93 null, 'primary-jid',
76 onStateChange, 94 remoting.SignalStrategy.Type.XMPP),
77 onProgressCallback); 95 createControllableSignalStrategy.bind(
96 null, 'secondary-jid',
97 remoting.SignalStrategy.Type.WCS),
98 onStateChange);
78 strategy.setIncomingStanzaCallback(onIncomingStanzaCallback); 99 strategy.setIncomingStanzaCallback(onIncomingStanzaCallback);
79 primary = strategy.primary_; 100 primary = strategy.primary_;
80 secondary = strategy.secondary_; 101 secondary = strategy.secondary_;
102 logToServer = new MockLogToServer();
81 primary.setExternalCallbackForTesting(onStateChange); 103 primary.setExternalCallbackForTesting(onStateChange);
82 secondary.setExternalCallbackForTesting(onStateChange); 104 secondary.setExternalCallbackForTesting(onStateChange);
83 }, 105 },
84 teardown: function() { 106 teardown: function() {
85 onStateChange = null; 107 onStateChange = null;
86 onProgressCallback = null;
87 onIncomingStanzaCallback = null; 108 onIncomingStanzaCallback = null;
88 strategy = null; 109 strategy = null;
89 primary = null; 110 primary = null;
90 secondary = null; 111 secondary = null;
112 logToServer = null;
91 }, 113 },
92 // Assert that the progress callback has been called exactly once
93 // since the last call, and with the specified state.
94 assertProgress: function(state) {
95 ok(onProgressCallback.calledOnce);
96 ok(onProgressCallback.calledWith(state));
97 onProgressCallback.reset();
98 }
99 }); 114 });
100 115
101 test('primary succeeds; send & receive routed to it', 116 test('primary succeeds; send & receive routed to it',
102 function() { 117 function() {
103 ok(!onStateChange.called); 118 ok(!onStateChange.called);
104 ok(!primary.connect.called); 119 ok(!primary.connect.called);
105 strategy.connect('server', 'username', 'authToken'); 120 strategy.connect('server', 'username', 'authToken');
106 ok(primary.connect.calledWith('server', 'username', 'authToken')); 121 ok(primary.connect.calledWith('server', 'username', 'authToken'));
107 122
108 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED, 123 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED,
109 true); 124 true);
110 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true); 125 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true);
111 primary.setStateForTesting(remoting.SignalStrategy.State.HANDSHAKE, true); 126 primary.setStateForTesting(remoting.SignalStrategy.State.HANDSHAKE, true);
112 127
113 ok(!onProgressCallback.called);
114 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTED, true); 128 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTED, true);
115 this.assertProgress(
116 remoting.FallbackSignalStrategy.Progress.PRIMARY_SUCCEEDED);
117 equal(strategy.getJid(), 'primary-jid'); 129 equal(strategy.getJid(), 'primary-jid');
118 130
131 strategy.sendConnectionSetupResults(logToServer);
132 logToServer.assertProgress(
133 remoting.SignalStrategy.Type.XMPP,
134 remoting.FallbackSignalStrategy.Progress.SUCCEEDED);
135
119 ok(!onIncomingStanzaCallback.called); 136 ok(!onIncomingStanzaCallback.called);
120 primary.onIncomingStanzaCallback('test-receive-primary'); 137 primary.onIncomingStanzaCallback('test-receive-primary');
121 secondary.onIncomingStanzaCallback('test-receive-secondary'); 138 secondary.onIncomingStanzaCallback('test-receive-secondary');
122 ok(onIncomingStanzaCallback.calledOnce); 139 ok(onIncomingStanzaCallback.calledOnce);
123 ok(onIncomingStanzaCallback.calledWith('test-receive-primary')); 140 ok(onIncomingStanzaCallback.calledWith('test-receive-primary'));
124 141
125 ok(!primary.sendMessage.called); 142 ok(!primary.sendMessage.called);
126 strategy.sendMessage('test-send'); 143 strategy.sendMessage('test-send');
127 ok(primary.sendMessage.calledOnce); 144 ok(primary.sendMessage.calledOnce);
128 ok(primary.sendMessage.calledWith('test-send')); 145 ok(primary.sendMessage.calledWith('test-send'));
(...skipping 11 matching lines...) Expand all
140 function() { 157 function() {
141 ok(!onStateChange.called); 158 ok(!onStateChange.called);
142 ok(!primary.connect.called); 159 ok(!primary.connect.called);
143 strategy.connect('server', 'username', 'authToken'); 160 strategy.connect('server', 'username', 'authToken');
144 ok(primary.connect.calledWith('server', 'username', 'authToken')); 161 ok(primary.connect.calledWith('server', 'username', 'authToken'));
145 162
146 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED, 163 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED,
147 true); 164 true);
148 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true); 165 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true);
149 166
150 ok(!onProgressCallback.called);
151 ok(!secondary.connect.called); 167 ok(!secondary.connect.called);
152 primary.setStateForTesting(remoting.SignalStrategy.State.FAILED, false); 168 primary.setStateForTesting(remoting.SignalStrategy.State.FAILED, false);
153 ok(secondary.connect.calledWith('server', 'username', 'authToken')); 169 ok(secondary.connect.calledWith('server', 'username', 'authToken'));
154 this.assertProgress(
155 remoting.FallbackSignalStrategy.Progress.PRIMARY_FAILED);
156 170
157 secondary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED, 171 secondary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED,
158 false); 172 false);
159 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, 173 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING,
160 false); 174 false);
161 secondary.setStateForTesting(remoting.SignalStrategy.State.HANDSHAKE, true); 175 secondary.setStateForTesting(remoting.SignalStrategy.State.HANDSHAKE, true);
162 176
163 ok(!onProgressCallback.called);
164 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTED, true); 177 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTED, true);
165 this.assertProgress(
166 remoting.FallbackSignalStrategy.Progress.SECONDARY_SUCCEEDED);
167 equal(strategy.getJid(), 'secondary-jid'); 178 equal(strategy.getJid(), 'secondary-jid');
168 179
180 strategy.sendConnectionSetupResults(logToServer);
181 logToServer.assertProgress(
182 remoting.SignalStrategy.Type.XMPP,
183 remoting.FallbackSignalStrategy.Progress.FAILED,
184 remoting.SignalStrategy.Type.WCS,
185 remoting.FallbackSignalStrategy.Progress.SUCCEEDED);
186
169 ok(!onIncomingStanzaCallback.called); 187 ok(!onIncomingStanzaCallback.called);
170 primary.onIncomingStanzaCallback('test-receive-primary'); 188 primary.onIncomingStanzaCallback('test-receive-primary');
171 secondary.onIncomingStanzaCallback('test-receive-secondary'); 189 secondary.onIncomingStanzaCallback('test-receive-secondary');
172 ok(onIncomingStanzaCallback.calledOnce); 190 ok(onIncomingStanzaCallback.calledOnce);
173 ok(onIncomingStanzaCallback.calledWith('test-receive-secondary')); 191 ok(onIncomingStanzaCallback.calledWith('test-receive-secondary'));
174 192
175 ok(!secondary.sendMessage.called); 193 ok(!secondary.sendMessage.called);
176 strategy.sendMessage('test-send'); 194 strategy.sendMessage('test-send');
177 ok(!primary.sendMessage.called); 195 ok(!primary.sendMessage.called);
178 ok(secondary.sendMessage.calledOnce); 196 ok(secondary.sendMessage.calledOnce);
179 ok(secondary.sendMessage.calledWith('test-send')); 197 ok(secondary.sendMessage.calledWith('test-send'));
180 } 198 }
181 ); 199 );
182 200
183 test('primary fails; secondary fails', 201 test('primary fails; secondary fails',
184 function() { 202 function() {
185 ok(!onStateChange.called); 203 ok(!onStateChange.called);
186 ok(!primary.connect.called); 204 ok(!primary.connect.called);
187 strategy.connect('server', 'username', 'authToken'); 205 strategy.connect('server', 'username', 'authToken');
188 ok(primary.connect.calledWith('server', 'username', 'authToken')); 206 ok(primary.connect.calledWith('server', 'username', 'authToken'));
189 207
190 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED, 208 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED,
191 true); 209 true);
192 ok(!onProgressCallback.called);
193 ok(!secondary.connect.called); 210 ok(!secondary.connect.called);
194 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true); 211 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true);
195 primary.setStateForTesting(remoting.SignalStrategy.State.FAILED, false); 212 primary.setStateForTesting(remoting.SignalStrategy.State.FAILED, false);
196 ok(secondary.connect.calledWith('server', 'username', 'authToken')); 213 ok(secondary.connect.calledWith('server', 'username', 'authToken'));
197 this.assertProgress(
198 remoting.FallbackSignalStrategy.Progress.PRIMARY_FAILED);
199 secondary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED, 214 secondary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED,
200 false); 215 false);
201 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, false); 216 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, false);
202 secondary.setStateForTesting(remoting.SignalStrategy.State.FAILED, true); 217 secondary.setStateForTesting(remoting.SignalStrategy.State.FAILED, true);
203 this.assertProgress(
204 remoting.FallbackSignalStrategy.Progress.SECONDARY_FAILED);
205 } 218 }
206 ); 219 );
207 220
208 test('primary times out; secondary succeeds', 221 test('primary times out; secondary succeeds',
209 function() { 222 function() {
210 ok(!onStateChange.called); 223 ok(!onStateChange.called);
211 ok(!primary.connect.called); 224 ok(!primary.connect.called);
212 strategy.connect('server', 'username', 'authToken'); 225 strategy.connect('server', 'username', 'authToken');
213 ok(primary.connect.calledWith('server', 'username', 'authToken')); 226 ok(primary.connect.calledWith('server', 'username', 'authToken'));
214 227
215 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED, 228 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED,
216 true); 229 true);
217 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true); 230 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true);
218 this.clock.tick(strategy.PRIMARY_CONNECT_TIMEOUT_MS_ - 1); 231 this.clock.tick(strategy.PRIMARY_CONNECT_TIMEOUT_MS_ - 1);
219 ok(!secondary.connect.called); 232 ok(!secondary.connect.called);
220 ok(!onProgressCallback.called);
221 this.clock.tick(1); 233 this.clock.tick(1);
222 ok(secondary.connect.calledWith('server', 'username', 'authToken')); 234 ok(secondary.connect.calledWith('server', 'username', 'authToken'));
223 this.assertProgress(
224 remoting.FallbackSignalStrategy.Progress.PRIMARY_TIMED_OUT);
225 secondary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED, 235 secondary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED,
226 false); 236 false);
227 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, 237 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING,
228 false); 238 false);
229 secondary.setStateForTesting(remoting.SignalStrategy.State.HANDSHAKE, true); 239 secondary.setStateForTesting(remoting.SignalStrategy.State.HANDSHAKE, true);
230 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTED, true); 240 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTED, true);
231 this.assertProgress( 241 strategy.sendConnectionSetupResults(logToServer);
232 remoting.FallbackSignalStrategy.Progress.SECONDARY_SUCCEEDED); 242
233 secondary.setStateForTesting(remoting.SignalStrategy.State.CLOSED, true); 243 secondary.setStateForTesting(remoting.SignalStrategy.State.CLOSED, true);
234 primary.setStateForTesting(remoting.SignalStrategy.State.FAILED, false); 244 primary.setStateForTesting(remoting.SignalStrategy.State.FAILED, false);
235 this.assertProgress( 245
236 remoting.FallbackSignalStrategy.Progress.PRIMARY_FAILED_LATE); 246 logToServer.assertProgress(
247 remoting.SignalStrategy.Type.XMPP,
248 remoting.FallbackSignalStrategy.Progress.TIMED_OUT,
249 remoting.SignalStrategy.Type.WCS,
250 remoting.FallbackSignalStrategy.Progress.SUCCEEDED,
251 remoting.SignalStrategy.Type.XMPP,
252 remoting.FallbackSignalStrategy.Progress.FAILED_LATE);
237 } 253 }
238 ); 254 );
239 255
240 test('primary times out; secondary fails', 256 test('primary times out; secondary fails',
241 function() { 257 function() {
242 ok(!onStateChange.called); 258 ok(!onStateChange.called);
243 ok(!primary.connect.called); 259 ok(!primary.connect.called);
244 strategy.connect('server', 'username', 'authToken'); 260 strategy.connect('server', 'username', 'authToken');
245 ok(primary.connect.calledWith('server', 'username', 'authToken')); 261 ok(primary.connect.calledWith('server', 'username', 'authToken'));
246 262
247 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED, 263 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED,
248 true); 264 true);
249 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true); 265 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true);
250 this.clock.tick(strategy.PRIMARY_CONNECT_TIMEOUT_MS_ - 1); 266 this.clock.tick(strategy.PRIMARY_CONNECT_TIMEOUT_MS_ - 1);
251 ok(!secondary.connect.called); 267 ok(!secondary.connect.called);
252 ok(!onProgressCallback.called);
253 this.clock.tick(1); 268 this.clock.tick(1);
254 ok(secondary.connect.calledWith('server', 'username', 'authToken')); 269 ok(secondary.connect.calledWith('server', 'username', 'authToken'));
255 this.assertProgress(
256 remoting.FallbackSignalStrategy.Progress.PRIMARY_TIMED_OUT);
257 secondary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED, 270 secondary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED,
258 false); 271 false);
259 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, 272 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING,
260 false); 273 false);
261 secondary.setStateForTesting(remoting.SignalStrategy.State.FAILED, true); 274 secondary.setStateForTesting(remoting.SignalStrategy.State.FAILED, true);
262 this.assertProgress(
263 remoting.FallbackSignalStrategy.Progress.SECONDARY_FAILED);
264 } 275 }
265 ); 276 );
266 277
267 test('primary times out; secondary succeeds; primary succeeds late', 278 test('primary times out; secondary succeeds; primary succeeds late',
268 function() { 279 function() {
269 ok(!onStateChange.called); 280 ok(!onStateChange.called);
270 ok(!primary.connect.called); 281 ok(!primary.connect.called);
271 strategy.connect('server', 'username', 'authToken'); 282 strategy.connect('server', 'username', 'authToken');
272 ok(primary.connect.calledWith('server', 'username', 'authToken')); 283 ok(primary.connect.calledWith('server', 'username', 'authToken'));
273 284
274 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED, 285 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED,
275 true); 286 true);
276 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true); 287 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true);
277 this.clock.tick(strategy.PRIMARY_CONNECT_TIMEOUT_MS_); 288 this.clock.tick(strategy.PRIMARY_CONNECT_TIMEOUT_MS_);
278 ok(secondary.connect.calledWith('server', 'username', 'authToken')); 289 ok(secondary.connect.calledWith('server', 'username', 'authToken'));
279 this.assertProgress(
280 remoting.FallbackSignalStrategy.Progress.PRIMARY_TIMED_OUT);
281 secondary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED, 290 secondary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED,
282 false); 291 false);
283 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, 292 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING,
284 false); 293 false);
285 secondary.setStateForTesting(remoting.SignalStrategy.State.HANDSHAKE, true); 294 secondary.setStateForTesting(remoting.SignalStrategy.State.HANDSHAKE, true);
286 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTED, true); 295 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTED, true);
287 this.assertProgress( 296 strategy.sendConnectionSetupResults(logToServer);
288 remoting.FallbackSignalStrategy.Progress.SECONDARY_SUCCEEDED); 297
289 primary.setStateForTesting(remoting.SignalStrategy.State.HANDSHAKE, false); 298 primary.setStateForTesting(remoting.SignalStrategy.State.HANDSHAKE, false);
290 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTED, false); 299 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTED, false);
291 this.assertProgress( 300
292 remoting.FallbackSignalStrategy.Progress.PRIMARY_SUCCEEDED_LATE); 301 logToServer.assertProgress(
302 remoting.SignalStrategy.Type.XMPP,
303 remoting.FallbackSignalStrategy.Progress.TIMED_OUT,
304 remoting.SignalStrategy.Type.WCS,
305 remoting.FallbackSignalStrategy.Progress.SUCCEEDED,
306 remoting.SignalStrategy.Type.XMPP,
307 remoting.FallbackSignalStrategy.Progress.SUCCEEDED_LATE);
293 } 308 }
294 ); 309 );
295 310
296 })(); 311 })();
OLDNEW
« remoting/webapp/crd/js/signal_strategy.js ('K') | « remoting/webapp/crd/js/xmpp_connection.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698