OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library RealTimeCommunicationTest; | 5 library RealTimeCommunicationTest; |
6 import '../../pkg/unittest/lib/unittest.dart'; | 6 import '../../pkg/unittest/lib/unittest.dart'; |
7 import '../../pkg/unittest/lib/html_individual_config.dart'; | 7 import '../../pkg/unittest/lib/html_individual_config.dart'; |
8 import 'dart:html'; | 8 import 'dart:html'; |
9 | 9 |
10 main() { | 10 main() { |
11 useHtmlIndividualConfiguration(); | 11 useHtmlIndividualConfiguration(); |
12 | 12 |
13 group('supported', () { | 13 group('supported', () { |
14 test('supported', () { | 14 test('supported', () { |
15 expect(RtcPeerConnection.supported, true); | 15 expect(RtcPeerConnection.supported, true); |
16 }); | 16 }); |
17 }); | 17 }); |
18 | 18 |
19 group('functionality', () { | 19 group('functionality', () { |
20 // TODO(efortuna): More thorough testing of this API requires the user to | 20 // More thorough testing of this API requires the user to |
21 // explicitly click "allow this site to access my camera and/or microphone." | 21 // explicitly click "allow this site to access my camera and/or microphone." |
22 // or particularly allow that site to always have those permission on each | 22 // or particularly allow that site to always have those permission on each |
23 // computer the test is run. Contact WebKit and/or Chrome people to | 23 // computer the test is run. For more through tests, see |
24 // determine how they test with this issue. | 24 // interactive_test.dart. |
25 if (RtcPeerConnection.supported) { | 25 if (RtcPeerConnection.supported) { |
26 test('peer connection', () { | 26 test('peer connection', () { |
27 var pc = new RtcPeerConnection( | 27 var pc = new RtcPeerConnection( |
28 {'iceServers': [ {'url':'stun:foo.com:19302'}]}); | 28 {'iceServers': [ {'url':'stun:216.93.246.18:3478'}]}); |
29 expect(pc is RtcPeerConnection, isTrue); | 29 expect(pc is RtcPeerConnection, isTrue); |
| 30 // TODO(efortuna): Uncomment this test when RTCPeerConnection correctly |
| 31 // implements EventListener in Firefox (works correctly in nightly, so |
| 32 // it's coming!). |
| 33 //pc.onIceCandidate.listen((candidate) {}); |
30 }); | 34 }); |
31 | 35 |
32 test('ice candidate', () { | 36 test('ice candidate', () { |
33 var candidate = new RtcIceCandidate({'sdpMLineIndex' : 1, | 37 var candidate = new RtcIceCandidate({'sdpMLineIndex' : 1, |
34 'candidate' : 'hello'}); | 38 'candidate' : 'hello'}); |
35 expect(candidate is RtcIceCandidate, isTrue); | 39 expect(candidate is RtcIceCandidate, isTrue); |
36 }); | 40 }); |
37 | 41 |
38 test('session description', () { | 42 test('session description', () { |
39 var description = new RtcSessionDescription({'sdp': 'foo', | 43 var description = new RtcSessionDescription({'sdp': 'foo', |
40 'type': 'offer'}); | 44 'type': 'offer'}); |
41 expect(description is RtcSessionDescription, isTrue); | 45 expect(description is RtcSessionDescription, isTrue); |
42 }); | 46 }); |
43 } | 47 } |
44 }); | 48 }); |
45 } | 49 } |
OLD | NEW |