blob: caaad3f9f814af0d687689a2a92358b305121353 [file] [log] [blame]
// Copyright (c) 2024, 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:test_reflective_loader/test_reflective_loader.dart';
import '../../test/shared/shared_dtd_tests.dart';
import '../lsp/abstract_lsp_over_legacy.dart';
void main() {
defineReflectiveSuite(() {
defineReflectiveTests(DtdTest);
});
}
@reflectiveTest
class DtdTest
// This test uses the LspOverLegacy base as it uses an LSP request to tell
// the server to connect DTD, however these tests themselves are verifying
// the servers integration with DTD.
extends
AbstractLspOverLegacyTest
// Test implementations come from this mixin because they
// are shared with the legacy server integration tests.
with
SharedDtdTests {
@override
void createFile(String path, String content) {
writeFile(path, content);
}
@override
Future<void> initializeServer() async {
await standardAnalysisSetup();
await analysisFinished;
await sendServerSetClientCapabilities(
[],
lspCapabilities: editorClientCapabilities.raw,
);
}
@override
Future<void> setUp() async {
await super.setUp();
await setUpDtd();
}
@override
Future<void> shutdownServer() async {
await shutdownIfNeeded();
// If tests call shutdownServer, we should skip it during teardown.
skipShutdown = true;
}
@override
Future<void> tearDown() async {
await tearDownDtd();
await super.tearDown();
}
}