OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 appLauncher = null; | 9 var appLauncher = null; |
10 var hangoutPort = null; | 10 var hangoutPort = null; |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 }); | 54 }); |
55 | 55 |
56 function promiseResolveSynchronous(value) { | 56 function promiseResolveSynchronous(value) { |
57 return { | 57 return { |
58 then: function(callback) { | 58 then: function(callback) { |
59 callback('tabId'); | 59 callback('tabId'); |
60 } | 60 } |
61 }; | 61 }; |
62 } | 62 } |
63 | 63 |
| 64 test('onHangoutMessage_("hello") should return supportedFeatures', function() { |
| 65 hangoutPort.onMessage.mock$fire( |
| 66 { method: remoting.It2MeHelperChannel.HangoutMessageTypes.HELLO }); |
| 67 |
| 68 var spyCall = hangoutPort.postMessage.firstCall; |
| 69 var message = spyCall.args[0]; |
| 70 |
| 71 QUnit.equal(message.method, 'helloResponse'); |
| 72 QUnit.ok(message.supportedFeatures instanceof Array); |
| 73 }); |
| 74 |
64 test('onHangoutMessage_(|connect|) should launch the webapp', | 75 test('onHangoutMessage_(|connect|) should launch the webapp', |
65 function() { | 76 function() { |
66 sinon.assert.called(appLauncher.launch); | 77 sinon.assert.called(appLauncher.launch); |
67 QUnit.equal(helperChannel.instanceId(), 'tabId'); | 78 QUnit.equal(helperChannel.instanceId(), 'tabId'); |
68 }); | 79 }); |
69 | 80 |
70 test('onWebappMessage() should forward messages to hangout', function() { | 81 test('onWebappMessage() should forward messages to hangout', function() { |
71 // Execute. | 82 // Execute. |
72 helperChannel.onWebappConnect(webappPort); | 83 helperChannel.onWebappConnect(webappPort); |
73 webappPort.onMessage.mock$fire({ | 84 webappPort.onMessage.mock$fire({ |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 state:remoting.ClientSession.State.CLOSED | 124 state:remoting.ClientSession.State.CLOSED |
114 }); | 125 }); |
115 | 126 |
116 webappPort.onDisconnect.mock$fire(); | 127 webappPort.onDisconnect.mock$fire(); |
117 | 128 |
118 // Verify events are forwarded. | 129 // Verify events are forwarded. |
119 sinon.assert.calledWith(hangoutPort.postMessage, { | 130 sinon.assert.calledWith(hangoutPort.postMessage, { |
120 method:'sessionStateChanged', | 131 method:'sessionStateChanged', |
121 state:remoting.ClientSession.State.CLOSED | 132 state:remoting.ClientSession.State.CLOSED |
122 }); | 133 }); |
| 134 |
| 135 sinon.assert.neverCalledWith(hangoutPort.postMessage, { |
| 136 method:'sessionStateChanged', |
| 137 state:remoting.ClientSession.State.FAILED |
| 138 }); |
| 139 |
123 sinon.assert.called(hangoutPort.disconnect); | 140 sinon.assert.called(hangoutPort.disconnect); |
124 sinon.assert.calledOnce(disconnectCallback); | 141 sinon.assert.calledOnce(disconnectCallback); |
125 }); | 142 }); |
126 | 143 |
127 test('should notify hangout when the session has error', function() { | 144 test('should notify hangout when the session has error', function() { |
128 helperChannel.onWebappConnect(webappPort); | 145 helperChannel.onWebappConnect(webappPort); |
129 webappPort.onMessage.mock$fire({ | 146 webappPort.onMessage.mock$fire({ |
130 method:'sessionStateChanged', | 147 method:'sessionStateChanged', |
131 state:remoting.ClientSession.State.FAILED | 148 state:remoting.ClientSession.State.FAILED |
132 }); | 149 }); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
170 hangoutPort.onDisconnect.mock$fire(); | 187 hangoutPort.onDisconnect.mock$fire(); |
171 | 188 |
172 sinon.assert.calledOnce(appLauncher.close); | 189 sinon.assert.calledOnce(appLauncher.close); |
173 sinon.assert.calledOnce(disconnectCallback); | 190 sinon.assert.calledOnce(disconnectCallback); |
174 | 191 |
175 sinon.assert.called(hangoutPort.disconnect); | 192 sinon.assert.called(hangoutPort.disconnect); |
176 sinon.assert.called(webappPort.disconnect); | 193 sinon.assert.called(webappPort.disconnect); |
177 }); | 194 }); |
178 | 195 |
179 })(); | 196 })(); |
OLD | NEW |