summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/senddocumenttracker.cpp
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2021-07-21 14:38:44 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2021-07-22 08:55:46 +0000
commit1275a125822ae62489a854d4a252ef7b695683df (patch)
tree0ef7c6e2ae6b00ec859998dc82f776cc647f90d1 /src/plugins/cpptools/senddocumenttracker.cpp
parentda588b7cc498f8044134f1c3ce57fd095213f366 (diff)
downloadqt-creator-1275a125822ae62489a854d4a252ef7b695683df.tar.gz
CppTools: Move SendDocumentTracker tests into plugin
Change-Id: I1d0532b5d0e155f6d53c683d01c4a92e4bae3ce9 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'src/plugins/cpptools/senddocumenttracker.cpp')
-rw-r--r--src/plugins/cpptools/senddocumenttracker.cpp175
1 files changed, 175 insertions, 0 deletions
diff --git a/src/plugins/cpptools/senddocumenttracker.cpp b/src/plugins/cpptools/senddocumenttracker.cpp
index 619b3eeaea..f5bdc07020 100644
--- a/src/plugins/cpptools/senddocumenttracker.cpp
+++ b/src/plugins/cpptools/senddocumenttracker.cpp
@@ -27,6 +27,11 @@
#include <algorithm>
+#ifdef WITH_TESTS
+#include "cpptoolsplugin.h"
+#include <QtTest>
+#endif
+
namespace CppTools {
void SendDocumentTracker::setLastSentRevision(int revision)
@@ -81,4 +86,174 @@ bool SendDocumentTracker::changedBeforeCompletionPosition(int newCompletionPosit
return m_contentChangeStartPosition < newCompletionPosition;
}
+#ifdef WITH_TESTS
+namespace Internal {
+
+void CppToolsPlugin::test_documentTracker_defaultLastSentRevision()
+{
+ SendDocumentTracker tracker;
+
+ QCOMPARE(tracker.lastSentRevision(), -1);
+ QCOMPARE(tracker.lastCompletionPosition(), -1);
+}
+
+void CppToolsPlugin::test_documentTracker_setRevision()
+{
+ SendDocumentTracker tracker;
+ tracker.setLastSentRevision(46);
+
+ QCOMPARE(tracker.lastSentRevision(), 46);
+ QCOMPARE(tracker.lastCompletionPosition(), -1);
+}
+
+void CppToolsPlugin::test_documentTracker_setLastCompletionPosition()
+{
+ SendDocumentTracker tracker;
+ tracker.setLastCompletionPosition(33);
+
+ QCOMPARE(tracker.lastSentRevision(), -1);
+ QCOMPARE(tracker.lastCompletionPosition(), 33);
+}
+
+void CppToolsPlugin::test_documentTracker_applyContentChange()
+{
+ SendDocumentTracker tracker;
+ tracker.setLastSentRevision(46);
+ tracker.setLastCompletionPosition(33);
+ tracker.applyContentChange(10);
+
+ QCOMPARE(tracker.lastSentRevision(), 46);
+ QCOMPARE(tracker.lastCompletionPosition(), -1);
+}
+
+void CppToolsPlugin::test_documentTracker_dontSendCompletionIfPositionIsEqual()
+{
+ SendDocumentTracker tracker;
+ tracker.setLastCompletionPosition(33);
+
+ QVERIFY(!tracker.shouldSendCompletion(33));
+}
+
+void CppToolsPlugin::test_documentTracker_sendCompletionIfPositionIsDifferent()
+{
+ SendDocumentTracker tracker;
+ tracker.setLastSentRevision(46);
+ tracker.setLastCompletionPosition(33);
+
+ QVERIFY(tracker.shouldSendCompletion(22));
+}
+
+void CppToolsPlugin::test_documentTracker_sendCompletionIfChangeIsBeforeCompletionPositionAndPositionIsEqual()
+{
+ SendDocumentTracker tracker;
+ tracker.setLastSentRevision(46);
+ tracker.setLastCompletionPosition(33);
+ tracker.applyContentChange(10);
+
+ QVERIFY(tracker.shouldSendCompletion(33));
+}
+
+void CppToolsPlugin::test_documentTracker_dontSendCompletionIfChangeIsAfterCompletionPositionAndPositionIsEqual()
+{
+ SendDocumentTracker tracker;
+ tracker.setLastSentRevision(46);
+ tracker.setLastCompletionPosition(33);
+ tracker.applyContentChange(40);
+
+ QVERIFY(!tracker.shouldSendCompletion(33));
+}
+
+void CppToolsPlugin::test_documentTracker_dontSendRevisionIfRevisionIsEqual()
+{
+ SendDocumentTracker tracker;
+ tracker.setLastSentRevision(46);
+
+ QVERIFY(!tracker.shouldSendRevision(46));
+}
+
+void CppToolsPlugin::test_documentTracker_sendRevisionIfRevisionIsDifferent()
+{
+ SendDocumentTracker tracker;
+ tracker.setLastSentRevision(46);
+
+ QVERIFY(tracker.shouldSendRevision(21));
+}
+
+void CppToolsPlugin::test_documentTracker_dontSendRevisionWithDefaults()
+{
+ SendDocumentTracker tracker;
+ QVERIFY(!tracker.shouldSendRevisionWithCompletionPosition(21, 33));
+}
+
+void CppToolsPlugin::test_documentTracker_dontSendIfRevisionIsDifferentAndCompletionPositionIsEqualAndNoContentChange()
+{
+ SendDocumentTracker tracker;
+ tracker.setLastSentRevision(46);
+ tracker.setLastCompletionPosition(33);
+
+ QVERIFY(!tracker.shouldSendRevisionWithCompletionPosition(21, 33));
+}
+
+void CppToolsPlugin::test_documentTracker_dontSendIfRevisionIsDifferentAndCompletionPositionIsDifferentAndNoContentChange()
+{
+ SendDocumentTracker tracker;
+ tracker.setLastSentRevision(46);
+ tracker.setLastCompletionPosition(33);
+
+ QVERIFY(!tracker.shouldSendRevisionWithCompletionPosition(21, 44));
+}
+
+void CppToolsPlugin::test_documentTracker_dontSendIfRevisionIsEqualAndCompletionPositionIsDifferentAndNoContentChange()
+{
+ SendDocumentTracker tracker;
+ tracker.setLastSentRevision(46);
+ tracker.setLastCompletionPosition(33);
+
+ QVERIFY(!tracker.shouldSendRevisionWithCompletionPosition(46,44));
+}
+
+void CppToolsPlugin::test_documentTracker_sendIfChangeIsBeforeCompletionAndPositionIsEqualAndRevisionIsDifferent()
+{
+ SendDocumentTracker tracker;
+ tracker.setLastSentRevision(46);
+ tracker.setLastCompletionPosition(33);
+ tracker.applyContentChange(10);
+
+ QVERIFY(tracker.shouldSendRevisionWithCompletionPosition(45, 33));
+}
+
+void CppToolsPlugin::test_documentTracker_dontSendIfChangeIsAfterCompletionPositionAndRevisionIsDifferent()
+{
+ SendDocumentTracker tracker;
+ tracker.setLastSentRevision(46);
+ tracker.setLastCompletionPosition(50);
+ tracker.applyContentChange(40);
+
+ QVERIFY(!tracker.shouldSendRevisionWithCompletionPosition(45, 36));
+}
+
+void CppToolsPlugin::test_documentTracker_sendIfChangeIsBeforeCompletionPositionAndRevisionIsDifferent()
+{
+ SendDocumentTracker tracker;
+ tracker.setLastSentRevision(46);
+ tracker.setLastCompletionPosition(50);
+ tracker.applyContentChange(30);
+
+ QVERIFY(tracker.shouldSendRevisionWithCompletionPosition(45, 36));
+}
+
+void CppToolsPlugin::test_documentTracker_resetChangedContentStartPositionIfLastRevisionIsSet()
+{
+ SendDocumentTracker tracker;
+ tracker.setLastSentRevision(46);
+ tracker.setLastCompletionPosition(50);
+ tracker.applyContentChange(30);
+ tracker.setLastSentRevision(47);
+
+ QVERIFY(!tracker.shouldSendRevisionWithCompletionPosition(45, 36));
+}
+
+} // namespace Internal
+#endif
+
} // namespace CppTools