| // Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| import 'package:analysis_server_client/handler/connection_handler.dart'; |
| import 'package:analysis_server_client/handler/notification_handler.dart'; |
| import 'package:analysis_server_client/listener/server_listener.dart'; |
| import 'package:analysis_server_client/protocol.dart'; |
| import 'package:analysis_server_client/server.dart'; |
| import 'package:test/test.dart'; |
| |
| void main() { |
| test('live', () async { |
| final server = Server(listener: _debug ? TestListener() : null); |
| await server.start(clientId: 'test', suppressAnalytics: true); |
| |
| var handler = TestHandler(server); |
| server.listenToOutput(notificationProcessor: handler.handleEvent); |
| if (!await handler.serverConnected( |
| timeLimit: const Duration(seconds: 15))) { |
| fail('failed to connect to server'); |
| } |
| |
| var json = await server.send( |
| SERVER_REQUEST_GET_VERSION, ServerGetVersionParams().toJson()); |
| final result = |
| ServerGetVersionResult.fromJson(ResponseDecoder(null), 'result', json); |
| await server.stop(); |
| |
| expect(result.version, isNotEmpty); |
| }); |
| } |
| |
| const _debug = false; |
| |
| class TestHandler with NotificationHandler, ConnectionHandler { |
| @override |
| final Server server; |
| |
| TestHandler(this.server); |
| } |
| |
| class TestListener with ServerListener { |
| @override |
| void log(String prefix, String details) { |
| print('$prefix $details'); |
| } |
| } |