Pointer cleanup (#242)

- Made greater use of smart pointers, eliminating many instances of manual memory management
- Do not use pointers at all for many non-polymorphic classes
- Assorted other code cleanup
This commit is contained in:
Jaye Evins
2025-10-31 16:11:28 -04:00
committed by GitHub
parent fd10d88be5
commit 8c8e447336
159 changed files with 3364 additions and 4045 deletions
+14 -11
View File
@@ -18,13 +18,14 @@
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
*/
#include "TestRawText.h"
#include "model/RawText.h"
#include "merge/Record.h"
#include <QtDebug>
#include <QDebug>
QTEST_MAIN(TestRawText)
@@ -38,18 +39,20 @@ void TestRawText::rawText()
RawText rawText;
Record record;
Variables variables;
QVERIFY( rawText.isEmpty() );
QVERIFY( !rawText.hasPlaceHolders() );
QCOMPARE( rawText.toString(), QString( "" ) );
QCOMPARE( rawText.toStdString(), std::string( "" ) );
QCOMPARE( rawText.expand( &record, nullptr ), QString( "" ) );
QCOMPARE( rawText.expand( record, variables ), QString( "" ) );
rawText = "text";
QVERIFY( !rawText.isEmpty() );
QVERIFY( !rawText.hasPlaceHolders() );
QCOMPARE( rawText.toString(), QString( "text" ) );
QCOMPARE( rawText.toStdString(), std::string( "text" ) );
QCOMPARE( rawText.expand( &record, nullptr ), QString( "text" ) );
QCOMPARE( rawText.expand( record, variables ), QString( "text" ) );
RawText rawText2( "text" );
QVERIFY( !rawText2.isEmpty() );
@@ -61,34 +64,34 @@ void TestRawText::rawText()
QVERIFY( rawText.hasPlaceHolders() );
QCOMPARE( rawText.toString(), QString( "${key1}" ) );
QCOMPARE( rawText.toStdString(), std::string( "${key1}" ) );
QCOMPARE( rawText.expand( &record, nullptr ), QString( "" ) );
QCOMPARE( rawText.expand( record, variables ), QString( "" ) );
///
/// Record
///
record["key1"] = "val1";
QCOMPARE( rawText.expand( &record, nullptr ), QString( "val1" ) );
QCOMPARE( rawText.expand( record, variables ), QString( "val1" ) );
rawText = "${key1}${key2}";
QVERIFY( rawText.hasPlaceHolders() );
QCOMPARE( rawText.expand( &record, nullptr ), QString( "val1" ) );
QCOMPARE( rawText.expand( record, variables ), QString( "val1" ) );
record["key2"] = "val2";
QCOMPARE( rawText.expand( &record, nullptr ), QString( "val1val2" ) );
QCOMPARE( rawText.expand( record, variables ), QString( "val1val2" ) );
rawText = "${key1}text${key2}";
QVERIFY( rawText.hasPlaceHolders() );
QCOMPARE( rawText.expand( &record, nullptr ), QString( "val1textval2" ) );
QCOMPARE( rawText.expand( record, variables ), QString( "val1textval2" ) );
rawText = "text1${key1}text2${key2}text3";
QVERIFY( rawText.hasPlaceHolders() );
QCOMPARE( rawText.expand( &record, nullptr ), QString( "text1val1text2val2text3" ) );
QCOMPARE( rawText.expand( record, variables ), QString( "text1val1text2val2text3" ) );
rawText = "${key1}text${key2}${key3}";
QVERIFY( rawText.hasPlaceHolders() );
QCOMPARE( rawText.expand( &record, nullptr ), QString( "val1textval2" ) );
QCOMPARE( rawText.expand( record, variables ), QString( "val1textval2" ) );
rawText = "${key2}${key3}${key1}";
QVERIFY( rawText.hasPlaceHolders() );
QCOMPARE( rawText.expand( &record, nullptr ), QString( "val2val1" ) );
QCOMPARE( rawText.expand( record, variables ), QString( "val2val1" ) );
}