File indexing completed on 2024-05-12 05:55:24

0001 /*
0002     This file is part of the Okteta Core library, made within the KDE community.
0003 
0004     SPDX-FileCopyrightText: 2008 Friedrich W. H. Kossebau <kossebau@kde.org>
0005 
0006     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0007 */
0008 
0009 #include "replacepiecetablechangeabstractpiecetablechangeiftest.hpp"
0010 
0011 // test object
0012 #include <piecetable/replacepiecetablechange.hpp>
0013 // lib
0014 #include <piecetable/piecetable.hpp>
0015 // Qt
0016 #include <QTest>
0017 
0018 namespace KPieceTable {
0019 
0020 static constexpr Address Start = 32;
0021 static constexpr Address End = 78;
0022 static constexpr Size Width = End - Start + 1;
0023 static constexpr Size InsertLength = 80;
0024 static constexpr Address InsertStorageOffset = 67;
0025 
0026 static constexpr Address ChangeStorageOffset = 23;
0027 
0028 AbstractPieceTableChange* ReplacePieceTableChangeAbstractPieceTableChangeIfTest::createPieceTableChange()
0029 {
0030     const Piece replacedPiece(AddressRange::fromWidth(Start + ChangeStorageOffset, Width), Piece::ChangeStorage);
0031 
0032     auto* pieceTableChange =
0033         new ReplacePieceTableChange(AddressRange(Start, End), InsertLength, InsertStorageOffset,
0034                                     PieceList(replacedPiece));
0035 
0036     return pieceTableChange;
0037 }
0038 void ReplacePieceTableChangeAbstractPieceTableChangeIfTest::changePieceTable(PieceTable* pieceTable)
0039 {
0040     pieceTable->replace(AddressRange(Start, End), InsertLength, InsertStorageOffset);
0041 }
0042 
0043 void ReplacePieceTableChangeAbstractPieceTableChangeIfTest::deletePieceTableChange(
0044     AbstractPieceTableChange* pieceTableChange)
0045 {
0046     delete pieceTableChange;
0047 }
0048 
0049 }
0050 
0051 QTEST_GUILESS_MAIN(KPieceTable::ReplacePieceTableChangeAbstractPieceTableChangeIfTest)
0052 
0053 #include "moc_replacepiecetablechangeabstractpiecetablechangeiftest.cpp"