File indexing completed on 2024-10-06 09:41:59

0001 /*
0002     This file is part of the KDE libraries
0003     SPDX-FileCopyrightText: 2012-2018 Dominik Haumann <dhaumann@kde.org>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #include "bug286887.h"
0009 
0010 #include <kateconfig.h>
0011 #include <katedocument.h>
0012 #include <kateglobal.h>
0013 #include <kateview.h>
0014 
0015 #include <QtTestWidgets>
0016 
0017 QTEST_MAIN(BugTest)
0018 
0019 using namespace KTextEditor;
0020 
0021 BugTest::BugTest()
0022     : QObject()
0023 {
0024 }
0025 
0026 BugTest::~BugTest()
0027 {
0028 }
0029 
0030 void BugTest::initTestCase()
0031 {
0032     KTextEditor::EditorPrivate::enableUnitTestMode();
0033 }
0034 
0035 void BugTest::cleanupTestCase()
0036 {
0037 }
0038 
0039 void BugTest::ctrlShiftLeft()
0040 {
0041     KTextEditor::DocumentPrivate doc(false, false);
0042 
0043     // view must be visible...
0044     KTextEditor::ViewPrivate *view = static_cast<KTextEditor::ViewPrivate *>(doc.createView(nullptr));
0045     view->show();
0046     view->resize(400, 300);
0047 
0048     // enable block mode, then set cursor after last character, then shift+left
0049     doc.clear();
0050     view->setBlockSelection(true);
0051     view->setCursorPosition(Cursor(0, 2));
0052     view->shiftCursorLeft();
0053 
0054     QTest::qWait(500);
0055 
0056     // enable block mode, then set cursor after last character, then delete word left
0057     doc.clear();
0058     view->setBlockSelection(true);
0059     view->setCursorPosition(Cursor(0, 2));
0060     view->deleteWordLeft();
0061 
0062     QTest::qWait(500);
0063 
0064     // disable wrap-cursor, then set cursor after last character, then shift+left
0065     doc.clear();
0066     view->setBlockSelection(false);
0067     view->setCursorPosition(Cursor(0, 2));
0068     view->shiftCursorLeft();
0069 
0070     QTest::qWait(500);
0071 
0072     // disable wrap-cursor, then set cursor after last character, then delete word left
0073     doc.clear();
0074     view->setCursorPosition(Cursor(0, 2));
0075     view->deleteWordLeft();
0076 }
0077 
0078 #include "moc_bug286887.cpp"