Files
sdk/pkg/analysis_server/test/integration/lsp_server/initialization_test.dart
T
Danny Tuppeny f484e1b05e Call canParse() for all LSP requests before passing to handlers
Any requests with params that don't pass canParse() will result in an InvalidParams error being returned without the handler being invoked.

Change-Id: Ic3e84b9259a467179baa2309fb58ee207f1225fa
Reviewed-on: https://dart-review.googlesource.com/c/94298
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-02-27 08:12:02 +00:00

35 lines
1.1 KiB
Dart

// Copyright (c) 2019, 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/lsp_protocol/protocol_generated.dart';
import 'package:analysis_server/lsp_protocol/protocol_special.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
import 'integration_tests.dart';
main() {
defineReflectiveSuite(() {
defineReflectiveTests(InitializationTest);
});
}
@reflectiveTest
class InitializationTest extends AbstractLspAnalysisServerIntegrationTest {
test_initialize_invalidParams() async {
final params = {'processId': 'invalid'};
final request = new RequestMessage(
Either2<num, String>.t1(1),
Method.initialize,
params,
jsonRpcVersion,
);
final response = await sendRequestToServer(request);
expect(response.id, equals(request.id));
expect(response.error, isNotNull);
expect(response.error.code, equals(ErrorCodes.InvalidParams));
expect(response.result, isNull);
}
}