Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qt6-languageserver for openSUSE:Factory checked in at 2026-03-28 20:12:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qt6-languageserver (Old) and /work/SRC/openSUSE:Factory/.qt6-languageserver.new.8177 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-languageserver" Sat Mar 28 20:12:37 2026 rev:31 rq:1342795 version:6.11.0 Changes: -------- --- /work/SRC/openSUSE:Factory/qt6-languageserver/qt6-languageserver.changes 2026-02-03 21:27:30.926597910 +0100 +++ /work/SRC/openSUSE:Factory/.qt6-languageserver.new.8177/qt6-languageserver.changes 2026-03-28 20:12:57.684457975 +0100 @@ -1,0 +2,6 @@ +Mon Mar 23 10:37:48 UTC 2026 - Christophe Marin <[email protected]> + +- Update to 6.11.0 + https://www.qt.io/blog/qt-6.11-released + +------------------------------------------------------------------- Old: ---- qtlanguageserver-everywhere-src-6.10.2.tar.xz New: ---- qtlanguageserver-everywhere-src-6.11.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qt6-languageserver.spec ++++++ --- /var/tmp/diff_new_pack.8QPwVm/_old 2026-03-28 20:12:58.416488188 +0100 +++ /var/tmp/diff_new_pack.8QPwVm/_new 2026-03-28 20:12:58.420488353 +0100 @@ -16,14 +16,14 @@ # -%define real_version 6.10.2 -%define short_version 6.10 +%define real_version 6.11.0 +%define short_version 6.11 %define short_name qtlanguageserver %define tar_name qtlanguageserver-everywhere-src %define tar_suffix %{nil} # Name: qt6-languageserver -Version: 6.10.2 +Version: 6.11.0 Release: 0 Summary: Implementation of the Language Server Protocol License: GPL-2.0-only OR LGPL-3.0-only OR GPL-3.0-only ++++++ qtlanguageserver-everywhere-src-6.10.2.tar.xz -> qtlanguageserver-everywhere-src-6.11.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlanguageserver-everywhere-src-6.10.2/.cmake.conf new/qtlanguageserver-everywhere-src-6.11.0/.cmake.conf --- old/qtlanguageserver-everywhere-src-6.10.2/.cmake.conf 2026-01-20 05:15:38.000000000 +0100 +++ new/qtlanguageserver-everywhere-src-6.11.0/.cmake.conf 2026-03-09 10:39:27.000000000 +0100 @@ -1,6 +1,8 @@ -set(QT_REPO_MODULE_VERSION "6.10.2") +set(QT_REPO_MODULE_VERSION "6.11.0") set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1") set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1" + "QT_NO_CONTEXTLESS_CONNECT=1" "QT_NO_FOREACH=1" + "QT_NO_URL_CAST_FROM_STRING=1" ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlanguageserver-everywhere-src-6.10.2/.tag new/qtlanguageserver-everywhere-src-6.11.0/.tag --- old/qtlanguageserver-everywhere-src-6.10.2/.tag 2026-01-20 05:15:38.000000000 +0100 +++ new/qtlanguageserver-everywhere-src-6.11.0/.tag 2026-03-09 10:39:27.000000000 +0100 @@ -1 +1 @@ -3c2e7df7398bd1535e01105ff7e83d80a0c2512f +fa86fa006217f26d742127a6ef96677c87315b5e diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlanguageserver-everywhere-src-6.10.2/CMakeLists.txt new/qtlanguageserver-everywhere-src-6.11.0/CMakeLists.txt --- old/qtlanguageserver-everywhere-src-6.10.2/CMakeLists.txt 2026-01-20 05:15:38.000000000 +0100 +++ new/qtlanguageserver-everywhere-src-6.11.0/CMakeLists.txt 2026-03-09 10:39:27.000000000 +0100 @@ -11,10 +11,15 @@ LANGUAGES CXX C ) -find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core) -find_package(Qt6 ${PROJECT_VERSION} QUIET CONFIG OPTIONAL_COMPONENTS Network Concurrent Test) +find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals) + +# This should be called as early as possible, just after find_package(BuildInternals) where it is +# defined. qt_internal_project_setup() +find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS Core) +find_package(Qt6 ${PROJECT_VERSION} QUIET CONFIG OPTIONAL_COMPONENTS Network Concurrent Test) + if(ANDROID) # Android tests needs to link against Qt6::Gui find_package(Qt6 ${PROJECT_VERSION} QUIET CONFIG OPTIONAL_COMPONENTS Gui) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlanguageserver-everywhere-src-6.10.2/REUSE.toml new/qtlanguageserver-everywhere-src-6.11.0/REUSE.toml --- old/qtlanguageserver-everywhere-src-6.10.2/REUSE.toml 2026-01-20 05:15:38.000000000 +0100 +++ new/qtlanguageserver-everywhere-src-6.11.0/REUSE.toml 2026-03-09 10:39:27.000000000 +0100 @@ -4,14 +4,14 @@ path = ["tests/**.json"] precedence = "closest" comment = "test" -SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd." +SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd." SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR GPL-3.0-only" [[annotations]] path = ["src/**.json"] precedence = "closest" comment = "src and plugin" -SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd." +SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd." SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only" [[annotations]] @@ -20,21 +20,21 @@ "**.gitignore", "**./gitreview", "**ci_config_linux.json"] precedence = "closest" comment = "build system" -SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd." +SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd." SPDX-License-Identifier = "BSD-3-Clause" [[annotations]] path = ["**/.gitattributes", "**.gitignore", "**.gitreview"] precedence = "closest" comment = "infrastructure" -SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd." +SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd." SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR BSD-3-Clause" [[annotations]] path = ["**.qdocconf"] comment = "documentation" precedence = "closest" -SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd." +SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd." SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only" [[annotations]] @@ -46,6 +46,6 @@ [[annotations]] path = ["**.toml", "licenseRule.json"] precedence = "override" -SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd." +SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd." SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR BSD-3-Clause" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlanguageserver-everywhere-src-6.10.2/dependencies.yaml new/qtlanguageserver-everywhere-src-6.11.0/dependencies.yaml --- old/qtlanguageserver-everywhere-src-6.10.2/dependencies.yaml 2026-01-20 05:15:38.000000000 +0100 +++ new/qtlanguageserver-everywhere-src-6.11.0/dependencies.yaml 2026-03-09 10:39:27.000000000 +0100 @@ -1,4 +1,4 @@ dependencies: ../qtbase: - ref: 000d6c62f7880bb8d3054724e8da0b8ae244130e + ref: 8ba7ea4b77a4b8f1948760221e264917ddc9e1c8 required: true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlanguageserver-everywhere-src-6.10.2/src/languageserver/generate.ts new/qtlanguageserver-everywhere-src-6.11.0/src/languageserver/generate.ts --- old/qtlanguageserver-everywhere-src-6.10.2/src/languageserver/generate.ts 2026-01-20 05:15:38.000000000 +0100 +++ new/qtlanguageserver-everywhere-src-6.11.0/src/languageserver/generate.ts 2026-03-09 10:39:27.000000000 +0100 @@ -115,7 +115,6 @@ "RequestMessage" : null, // non templatized top level "ResponseMessage" : null, // non templatized top level "NotificationMessage" : null, // non templatized top level - "ProgressParams" : null, // text enum without named constants "TextDocumentContentChangeEvent" : null, // anonymous objects "SelectionRange" : null // recursive reference }; @@ -127,9 +126,34 @@ new Map<string, string>([ [ "documentChanges", `using DocumentChange = std::variant<TextDocumentEdit, CreateFile, RenameFile, DeleteFile>; - std::optional<QList<DocumentChange>>` + std::optional<QList<DocumentChange>> %1 = {};` ] ]), - ] + ], + [ + // hardcode the kind to begin + "WorkDoneProgressBegin", + new Map<string, string>([ [ "kind", "QByteArray %1 = \"begin\";" ] ]), + ], + [ + // hardcode the kind to report + "WorkDoneProgressReport", + new Map<string, string>([ [ "kind", "QByteArray %1 = \"report\";" ] ]), + ], + [ + // hardcode the kind to end + "WorkDoneProgressEnd", + new Map<string, string>([ [ "kind", "QByteArray %1 = \"end\";" ] ]), + ], + [ + // The only type in the LSP specification that has a template member. Ignore the "generic" + // case for now and use a variant of all possible progress values found in the LSP + // specification. + "ProgressParams", + new Map<string, string>([ [ + "value", + "std::variant<WorkDoneProgressBegin, WorkDoneProgressReport, WorkDoneProgressEnd> %1 = {};" + ] ]), + ], ]); var specialEnums = { "ErrorCodes" : null, "InitializeError" : "InitializeErrorCode" } @@ -423,8 +447,9 @@ .map(function(member: Member) { if (patchedStructMembers.has(struct.name) && patchedStructMembers.get(struct.name)?.has(member.name)) { - const rType = patchedStructMembers.get(struct.name)?.get(member.name); - return innerIndent + rType + " " + member.name + " = {};\n"; + const rType = + patchedStructMembers.get(struct.name)?.get(member.name)!; + return innerIndent + rType.replace(/%1/, member.name) + "\n"; } var members = ""; @@ -516,6 +541,13 @@ if (struct === other || generated[other.name] !== undefined) return; + // special case: ProgressParams has member of type T, which we changed to + // std::variant<WorkDoneProgress(Begin|Report|End)>. Make sure the types + // inside the variant exist before writing out ProgressParams. + if (struct.name == "ProgressParams" + && other.name.match(/WorkDoneProgress(Begin|Report|End)/g)) + doGenerateDeclarations(other); + if (struct.extends.split(", ").includes(other.name)) { doGenerateDeclarations(other); return; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlanguageserver-everywhere-src-6.10.2/src/languageserver/qlanguageservergen.cpp new/qtlanguageserver-everywhere-src-6.11.0/src/languageserver/qlanguageservergen.cpp --- old/qtlanguageserver-everywhere-src-6.10.2/src/languageserver/qlanguageservergen.cpp 2026-01-20 05:15:38.000000000 +0100 +++ new/qtlanguageserver-everywhere-src-6.11.0/src/languageserver/qlanguageservergen.cpp 2026-03-09 10:39:27.000000000 +0100 @@ -120,6 +120,11 @@ typedRpc()->sendNotification(Notifications::CancelMethod, params); } +void ProtocolGen::notifyProgress(const ProgressParams ¶ms) +{ + typedRpc()->sendNotification(Notifications::ProgressMethod, params); +} + void ProtocolGen::requestInitialize(const InitializeParams ¶ms, std::function<void(const InitializeResult &)> responseHandler, ResponseErrorHandler errorHandler) @@ -1229,6 +1234,13 @@ QByteArray(QLspSpecification::Notifications::CancelMethod), handler); } +void ProtocolGen::registerProgressNotificationHandler( + const std::function<void(const QByteArray &, const ProgressParams &)> &handler) +{ + typedRpc()->registerNotificationHandler<QLspSpecification::Notifications::ProgressParamsType>( + QByteArray(QLspSpecification::Notifications::ProgressMethod), handler); +} + void ProtocolGen::registerInitializeRequestHandler( const std::function<void(const QByteArray &, const InitializeParams &, LSPResponse<InitializeResult> &&)> &handler) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlanguageserver-everywhere-src-6.10.2/src/languageserver/qlanguageservergen_p.h new/qtlanguageserver-everywhere-src-6.11.0/src/languageserver/qlanguageservergen_p.h --- old/qtlanguageserver-everywhere-src-6.10.2/src/languageserver/qlanguageservergen_p.h 2026-01-20 05:15:38.000000000 +0100 +++ new/qtlanguageserver-everywhere-src-6.11.0/src/languageserver/qlanguageservergen_p.h 2026-03-09 10:39:27.000000000 +0100 @@ -40,6 +40,7 @@ // # Send protocol void notifyCancel(const CancelParams ¶ms); + void notifyProgress(const ProgressParams ¶ms); // ClientCapability::GeneralRegularExpressions @@ -450,6 +451,8 @@ // # receive protocol void registerCancelNotificationHandler( const std::function<void(const QByteArray &, const CancelParams &)> &handler); + void registerProgressNotificationHandler( + const std::function<void(const QByteArray &, const ProgressParams &)> &handler); // ClientCapability::GeneralRegularExpressions diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlanguageserver-everywhere-src-6.10.2/src/languageserver/qlanguageserverspec_p.h new/qtlanguageserver-everywhere-src-6.11.0/src/languageserver/qlanguageserverspec_p.h --- old/qtlanguageserver-everywhere-src-6.10.2/src/languageserver/qlanguageserverspec_p.h 2026-01-20 05:15:38.000000000 +0100 +++ new/qtlanguageserver-everywhere-src-6.11.0/src/languageserver/qlanguageserverspec_p.h 2026-03-09 10:39:27.000000000 +0100 @@ -481,6 +481,7 @@ constexpr auto CancelMethod = "$/cancelRequest"; using CancelParamsType = CancelParams; constexpr auto ProgressMethod = "$/progress"; +using ProgressParamsType = ProgressParams; constexpr auto InitializedMethod = "initialized"; using InitializedParamsType = InitializedParams; constexpr auto ExitMethod = "exit"; @@ -537,13 +538,15 @@ CallHierarchyPrepareParams, CallHierarchyIncomingCallsParams, CallHierarchyOutgoingCallsParams, SemanticTokensParams, SemanticTokensDeltaParams, SemanticTokensRangeParams, LinkedEditingRangeParams, MonikerParams, QJsonValue>; -using NotificationParams = std::variant< - CancelParams, InitializedParams, std::nullptr_t, LogTraceParams, SetTraceParams, - ShowMessageParams, LogMessageParams, WorkDoneProgressCancelParams, QJsonObject, - DidChangeWorkspaceFoldersParams, DidChangeConfigurationParams, DidChangeWatchedFilesParams, - CreateFilesParams, RenameFilesParams, DeleteFilesParams, DidOpenTextDocumentParams, - DidChangeTextDocumentParams, WillSaveTextDocumentParams, DidSaveTextDocumentParams, - DidCloseTextDocumentParams, PublishDiagnosticsParams, QJsonValue>; +using NotificationParams = + std::variant<CancelParams, ProgressParams, InitializedParams, std::nullptr_t, + LogTraceParams, SetTraceParams, ShowMessageParams, LogMessageParams, + WorkDoneProgressCancelParams, QJsonObject, DidChangeWorkspaceFoldersParams, + DidChangeConfigurationParams, DidChangeWatchedFilesParams, CreateFilesParams, + RenameFilesParams, DeleteFilesParams, DidOpenTextDocumentParams, + DidChangeTextDocumentParams, WillSaveTextDocumentParams, + DidSaveTextDocumentParams, DidCloseTextDocumentParams, + PublishDiagnosticsParams, QJsonValue>; } // namespace QLspSpecification diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlanguageserver-everywhere-src-6.10.2/src/languageserver/qlanguageserverspectypes_p.h new/qtlanguageserver-everywhere-src-6.11.0/src/languageserver/qlanguageserverspectypes_p.h --- old/qtlanguageserver-everywhere-src-6.10.2/src/languageserver/qlanguageserverspectypes_p.h 2026-01-20 05:15:38.000000000 +0100 +++ new/qtlanguageserver-everywhere-src-6.11.0/src/languageserver/qlanguageserverspectypes_p.h 2026-03-09 10:39:27.000000000 +0100 @@ -280,6 +280,72 @@ } }; +class Q_LANGUAGESERVER_EXPORT WorkDoneProgressBegin +{ +public: + QByteArray kind = "begin"; + QByteArray title = {}; + std::optional<bool> cancellable = {}; + std::optional<QByteArray> message = {}; + std::optional<int> percentage = {}; + + template<typename W> + void walk(W &w) + { + field(w, "kind", kind); + field(w, "title", title); + field(w, "cancellable", cancellable); + field(w, "message", message); + field(w, "percentage", percentage); + } +}; + +class Q_LANGUAGESERVER_EXPORT WorkDoneProgressReport +{ +public: + QByteArray kind = "report"; + std::optional<bool> cancellable = {}; + std::optional<QByteArray> message = {}; + std::optional<int> percentage = {}; + + template<typename W> + void walk(W &w) + { + field(w, "kind", kind); + field(w, "cancellable", cancellable); + field(w, "message", message); + field(w, "percentage", percentage); + } +}; + +class Q_LANGUAGESERVER_EXPORT WorkDoneProgressEnd +{ +public: + QByteArray kind = "end"; + std::optional<QByteArray> message = {}; + + template<typename W> + void walk(W &w) + { + field(w, "kind", kind); + field(w, "message", message); + } +}; + +class Q_LANGUAGESERVER_EXPORT ProgressParams +{ +public: + ProgressToken token = {}; + std::variant<WorkDoneProgressBegin, WorkDoneProgressReport, WorkDoneProgressEnd> value = {}; + + template<typename W> + void walk(W &w) + { + field(w, "token", token); + field(w, "value", value); + } +}; + class Q_LANGUAGESERVER_EXPORT RegularExpressionsClientCapabilities { public: @@ -394,6 +460,7 @@ field(w, "defaultBehavior", defaultBehavior); } }; + class Q_LANGUAGESERVER_EXPORT Location { public: @@ -829,58 +896,6 @@ } }; -class Q_LANGUAGESERVER_EXPORT WorkDoneProgressBegin -{ -public: - QByteArray kind = {}; - QByteArray title = {}; - std::optional<bool> cancellable = {}; - std::optional<QByteArray> message = {}; - std::optional<int> percentage = {}; - - template<typename W> - void walk(W &w) - { - field(w, "kind", kind); - field(w, "title", title); - field(w, "cancellable", cancellable); - field(w, "message", message); - field(w, "percentage", percentage); - } -}; - -class Q_LANGUAGESERVER_EXPORT WorkDoneProgressReport -{ -public: - QByteArray kind = {}; - std::optional<bool> cancellable = {}; - std::optional<QByteArray> message = {}; - std::optional<int> percentage = {}; - - template<typename W> - void walk(W &w) - { - field(w, "kind", kind); - field(w, "cancellable", cancellable); - field(w, "message", message); - field(w, "percentage", percentage); - } -}; - -class Q_LANGUAGESERVER_EXPORT WorkDoneProgressEnd -{ -public: - QByteArray kind = {}; - std::optional<QByteArray> message = {}; - - template<typename W> - void walk(W &w) - { - field(w, "kind", kind); - field(w, "message", message); - } -}; - class Q_LANGUAGESERVER_EXPORT WorkDoneProgressParams { public: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlanguageserver-everywhere-src-6.10.2/src/languageserver/qlspnotifysignals.cpp new/qtlanguageserver-everywhere-src-6.11.0/src/languageserver/qlspnotifysignals.cpp --- old/qtlanguageserver-everywhere-src-6.10.2/src/languageserver/qlspnotifysignals.cpp 2026-01-20 05:15:38.000000000 +0100 +++ new/qtlanguageserver-everywhere-src-6.11.0/src/languageserver/qlspnotifysignals.cpp 2026-03-09 10:39:27.000000000 +0100 @@ -24,6 +24,17 @@ protocol->handleUndispatchedNotification(method, params); }); + protocol->registerProgressNotificationHandler( + [this, protocol](const QByteArray &method, + const QLspSpecification::Notifications::ProgressParamsType ¶ms) { + static const QMetaMethod notificationSignal = + QMetaMethod::fromSignal(&QLspNotifySignals::receivedProgressNotification); + if (isSignalConnected(notificationSignal)) + emit receivedProgressNotification(params); + else + protocol->handleUndispatchedNotification(method, params); + }); + protocol->registerInitializedNotificationHandler( [this, protocol](const QByteArray &method, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlanguageserver-everywhere-src-6.10.2/src/languageserver/qlspnotifysignals_p.h new/qtlanguageserver-everywhere-src-6.11.0/src/languageserver/qlspnotifysignals_p.h --- old/qtlanguageserver-everywhere-src-6.10.2/src/languageserver/qlspnotifysignals_p.h 2026-01-20 05:15:38.000000000 +0100 +++ new/qtlanguageserver-everywhere-src-6.11.0/src/languageserver/qlspnotifysignals_p.h 2026-03-09 10:39:27.000000000 +0100 @@ -30,6 +30,7 @@ void registerHandlers(QLanguageServerProtocol *protocol); signals: void receivedCancelNotification(const QLspSpecification::Notifications::CancelParamsType &); + void receivedProgressNotification(const QLspSpecification::Notifications::ProgressParamsType &); void receivedInitializedNotification( const QLspSpecification::Notifications::InitializedParamsType &); void receivedExitNotification(const QLspSpecification::Notifications::ExitParamsType &); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlanguageserver-everywhere-src-6.10.2/tests/auto/CMakeLists.txt new/qtlanguageserver-everywhere-src-6.11.0/tests/auto/CMakeLists.txt --- old/qtlanguageserver-everywhere-src-6.10.2/tests/auto/CMakeLists.txt 2026-01-20 05:15:38.000000000 +0100 +++ new/qtlanguageserver-everywhere-src-6.11.0/tests/auto/CMakeLists.txt 2026-03-09 10:39:27.000000000 +0100 @@ -14,3 +14,4 @@ add_subdirectory(qjsonrpcprotocol) add_subdirectory(typedjson) add_subdirectory(qlanguageserver) +add_subdirectory(generated_lsp_types) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlanguageserver-everywhere-src-6.10.2/tests/auto/generated_lsp_types/CMakeLists.txt new/qtlanguageserver-everywhere-src-6.11.0/tests/auto/generated_lsp_types/CMakeLists.txt --- old/qtlanguageserver-everywhere-src-6.10.2/tests/auto/generated_lsp_types/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/qtlanguageserver-everywhere-src-6.11.0/tests/auto/generated_lsp_types/CMakeLists.txt 2026-03-09 10:39:27.000000000 +0100 @@ -0,0 +1,12 @@ +# Copyright (C) 2025 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +qt_internal_add_test(tst_generated_lsp_types + SOURCES + tst_generated_lsp_types.h tst_generated_lsp_types.cpp + DEFINES + QT_DEPRECATED_WARNINGS + LIBRARIES + Qt::LanguageServerPrivate + Qt::Test +) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlanguageserver-everywhere-src-6.10.2/tests/auto/generated_lsp_types/tst_generated_lsp_types.cpp new/qtlanguageserver-everywhere-src-6.11.0/tests/auto/generated_lsp_types/tst_generated_lsp_types.cpp --- old/qtlanguageserver-everywhere-src-6.10.2/tests/auto/generated_lsp_types/tst_generated_lsp_types.cpp 1970-01-01 01:00:00.000000000 +0100 +++ new/qtlanguageserver-everywhere-src-6.11.0/tests/auto/generated_lsp_types/tst_generated_lsp_types.cpp 2026-03-09 10:39:27.000000000 +0100 @@ -0,0 +1,45 @@ +// Copyright (C) 2025 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#include <QtTest/QtTest> +#include "tst_generated_lsp_types.h" + +using namespace QLspSpecification; + +template <typename T> +static QJsonValue serialize(const T &value) +{ + QTypedJson::JsonBuilder builder; + T copy{ value }; + QTypedJson::doWalk(builder, copy); + return builder.popLastValue(); +} + +template <typename T> +static QJsonValue deserializeAndReserialize(const QJsonValue &value) +{ + QTypedJson::Reader reader(value); + T result; + QTypedJson::doWalk(reader, result); + // note: T has no operator==, so compare the serialized version instead + return serialize(result); +} + +template <typename T> +static void tst_types_impl(const T &expectedValue, QByteArrayView expectedJson) +{ + QJsonParseError error; + const QJsonValue expectedJsonValue = QJsonValue::fromJson(expectedJson); + QVERIFY2(error.error == QJsonParseError::NoError, qPrintable(error.errorString())); + QCOMPARE_EQ(serialize(expectedValue), expectedJsonValue); + + QCOMPARE_EQ(deserializeAndReserialize<T>(expectedJsonValue), expectedJsonValue); +} + +void tst_generated_lsp_types::tst_types() +{ + tst_types_impl(ProgressParams{ "myToken", WorkDoneProgressBegin{ "begin", "hello world!" } }, + R"({"token":"myToken","value":{"kind":"begin","title":"hello world!"}})"); +} + +QTEST_MAIN(tst_generated_lsp_types) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlanguageserver-everywhere-src-6.10.2/tests/auto/generated_lsp_types/tst_generated_lsp_types.h new/qtlanguageserver-everywhere-src-6.11.0/tests/auto/generated_lsp_types/tst_generated_lsp_types.h --- old/qtlanguageserver-everywhere-src-6.10.2/tests/auto/generated_lsp_types/tst_generated_lsp_types.h 1970-01-01 01:00:00.000000000 +0100 +++ new/qtlanguageserver-everywhere-src-6.11.0/tests/auto/generated_lsp_types/tst_generated_lsp_types.h 2026-03-09 10:39:27.000000000 +0100 @@ -0,0 +1,18 @@ +// Copyright (C) 2025 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#ifndef TST_GENERATED_LSP_TYPES_H +#define TST_GENERATED_LSP_TYPES_H + +#include <QtCore/qobject.h> +#include <QtLanguageServer/private/qlanguageserverspectypes_p.h> + +class tst_generated_lsp_types : public QObject +{ + Q_OBJECT + +private slots: + void tst_types(); +}; + +#endif // TST_GENERATED_LSP_TYPES_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlanguageserver-everywhere-src-6.10.2/tests/auto/qlanguageserver/tst_qlanguageserver.cpp new/qtlanguageserver-everywhere-src-6.11.0/tests/auto/qlanguageserver/tst_qlanguageserver.cpp --- old/qtlanguageserver-everywhere-src-6.10.2/tests/auto/qlanguageserver/tst_qlanguageserver.cpp 2026-01-20 05:15:38.000000000 +0100 +++ new/qtlanguageserver-everywhere-src-6.11.0/tests/auto/qlanguageserver/tst_qlanguageserver.cpp 2026-03-09 10:39:27.000000000 +0100 @@ -56,7 +56,7 @@ return QJsonRpcProtocol::Processing::Stop; }); - QObject::connect(device, &QIODevice::readyRead, + QObject::connect(device, &QIODevice::readyRead, m_device, [this, protocol]() { protocol->receiveData(m_device->readAll()); }); } @@ -258,7 +258,7 @@ QByteArray received; QIODevice *end1 = pipe.end1(); - connect(end1, &QIODevice::readyRead, [&]() { + connect(end1, &QIODevice::readyRead, end1, [&]() { received.append(end1->read(end1->bytesAvailable())); }); @@ -311,7 +311,7 @@ QByteArray received; QIODevice *end1 = pipe.end1(); - connect(end1, &QIODevice::readyRead, + connect(end1, &QIODevice::readyRead, end1, [&]() { received.append(end1->read(end1->bytesAvailable())); }); QLanguageServerJsonRpcTransport protocol;
