OLD | NEW |
(Empty) | |
| 1 library WebSocketTest; |
| 2 import 'package:unittest/unittest.dart'; |
| 3 import 'package:unittest/html_individual_config.dart'; |
| 4 import 'dart:html'; |
| 5 |
| 6 main() { |
| 7 |
| 8 useHtmlIndividualConfiguration(); |
| 9 |
| 10 group('supported', () { |
| 11 test('supported', () { |
| 12 expect(WebSocket.supported, true); |
| 13 }); |
| 14 }); |
| 15 |
| 16 group('websocket', () { |
| 17 var isWebSocket = predicate((x) => x is WebSocket, 'is a WebSocket'); |
| 18 var expectation = WebSocket.supported ? returnsNormally : throws; |
| 19 |
| 20 test('constructorTest', () { |
| 21 expect(() { |
| 22 var socket = new WebSocket('ws://localhost/ws', 'chat'); |
| 23 expect(socket, isNotNull); |
| 24 expect(socket, isWebSocket); |
| 25 }, expectation); |
| 26 }); |
| 27 |
| 28 if (WebSocket.supported) { |
| 29 test('echo', () { |
| 30 var socket = new WebSocket('ws://${window.location.host}/ws'); |
| 31 |
| 32 socket.onOpen.first.then((_) { |
| 33 socket.send('hello!'); |
| 34 }); |
| 35 |
| 36 return socket.onMessage.first.then((MessageEvent e) { |
| 37 expect(e.data, 'hello!'); |
| 38 socket.close(); |
| 39 }); |
| 40 }); |
| 41 |
| 42 test('error handling', () { |
| 43 var socket = new WebSocket('ws://${window.location.host}/ws'); |
| 44 socket.onOpen.first.then((_) => socket.send('close-with-error')); |
| 45 return socket.onError.first.then((e) { |
| 46 print('$e was caught, yay!'); |
| 47 socket.close(); |
| 48 }); |
| 49 }); |
| 50 } |
| 51 }); |
| 52 } |
OLD | NEW |