diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2021-07-21 14:38:44 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2021-07-22 08:55:46 +0000 |
commit | 1275a125822ae62489a854d4a252ef7b695683df (patch) | |
tree | 0ef7c6e2ae6b00ec859998dc82f776cc647f90d1 /src/plugins/cpptools/senddocumenttracker.cpp | |
parent | da588b7cc498f8044134f1c3ce57fd095213f366 (diff) | |
download | qt-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.cpp | 175 |
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 |