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
+48 -47
View File
@@ -18,6 +18,7 @@
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
*/
#include "TestSubstitutionField.h"
#include "model/SubstitutionField.h"
@@ -174,10 +175,10 @@ void TestSubstitutionField::simpleEvaluation()
record1[ "3" ] = "Opqrstu";
record1[ "4" ] = "Vwxyz!@";
QCOMPARE( f1.evaluate( &record1, &variables ), QString( "Abcdefg" ) );
QCOMPARE( f2.evaluate( &record1, &variables ), QString( "Hijklmn" ) );
QCOMPARE( f3.evaluate( &record1, &variables ), QString( "Opqrstu" ) );
QCOMPARE( f4.evaluate( &record1, &variables ), QString( "Vwxyz!@" ) );
QCOMPARE( f1.evaluate( record1, variables ), QString( "Abcdefg" ) );
QCOMPARE( f2.evaluate( record1, variables ), QString( "Hijklmn" ) );
QCOMPARE( f3.evaluate( record1, variables ), QString( "Opqrstu" ) );
QCOMPARE( f4.evaluate( record1, variables ), QString( "Vwxyz!@" ) );
merge::Record record2;
record2[ "1" ] = "1234567";
@@ -185,10 +186,10 @@ void TestSubstitutionField::simpleEvaluation()
record2[ "3" ] = "8901234";
record2[ "4" ] = "#$%^&*";
QCOMPARE( f1.evaluate( &record2, &variables ), QString( "1234567" ) );
QCOMPARE( f2.evaluate( &record2, &variables ), QString( "FooBar" ) );
QCOMPARE( f3.evaluate( &record2, &variables ), QString( "8901234" ) );
QCOMPARE( f4.evaluate( &record2, &variables ), QString( "#$%^&*" ) );
QCOMPARE( f1.evaluate( record2, variables ), QString( "1234567" ) );
QCOMPARE( f2.evaluate( record2, variables ), QString( "FooBar" ) );
QCOMPARE( f3.evaluate( record2, variables ), QString( "8901234" ) );
QCOMPARE( f4.evaluate( record2, variables ), QString( "#$%^&*" ) );
}
@@ -209,17 +210,17 @@ void TestSubstitutionField::defaultValueEvaluation()
record1[ "3" ] = "Opqrstu";
record1[ "4" ] = "Vwxyz!@";
QCOMPARE( f1.evaluate( &record1, &variables ), QString( "Abcdefg" ) );
QCOMPARE( f2.evaluate( &record1, &variables ), QString( "Hijklmn" ) );
QCOMPARE( f3.evaluate( &record1, &variables ), QString( "Opqrstu" ) );
QCOMPARE( f4.evaluate( &record1, &variables ), QString( "Vwxyz!@" ) );
QCOMPARE( f1.evaluate( record1, variables ), QString( "Abcdefg" ) );
QCOMPARE( f2.evaluate( record1, variables ), QString( "Hijklmn" ) );
QCOMPARE( f3.evaluate( record1, variables ), QString( "Opqrstu" ) );
QCOMPARE( f4.evaluate( record1, variables ), QString( "Vwxyz!@" ) );
merge::Record record2; // All fields empty
QCOMPARE( f1.evaluate( &record2, &variables ), QString( "foo1" ) );
QCOMPARE( f2.evaluate( &record2, &variables ), QString( "foo2" ) );
QCOMPARE( f3.evaluate( &record2, &variables ), QString( "foo3" ) );
QCOMPARE( f4.evaluate( &record2, &variables ), QString( "foo4" ) );
QCOMPARE( f1.evaluate( record2, variables ), QString( "foo1" ) );
QCOMPARE( f2.evaluate( record2, variables ), QString( "foo2" ) );
QCOMPARE( f3.evaluate( record2, variables ), QString( "foo3" ) );
QCOMPARE( f4.evaluate( record2, variables ), QString( "foo4" ) );
merge::Record record3;
record3[ "1" ] = "xyzzy";
@@ -227,10 +228,10 @@ void TestSubstitutionField::defaultValueEvaluation()
// Field "3" empty
record3[ "4" ] = "plugh";
QCOMPARE( f1.evaluate( &record3, &variables ), QString( "xyzzy" ) );
QCOMPARE( f2.evaluate( &record3, &variables ), QString( "foo2" ) );
QCOMPARE( f3.evaluate( &record3, &variables ), QString( "foo3" ) );
QCOMPARE( f4.evaluate( &record3, &variables ), QString( "plugh" ) );
QCOMPARE( f1.evaluate( record3, variables ), QString( "xyzzy" ) );
QCOMPARE( f2.evaluate( record3, variables ), QString( "foo2" ) );
QCOMPARE( f3.evaluate( record3, variables ), QString( "foo3" ) );
QCOMPARE( f4.evaluate( record3, variables ), QString( "plugh" ) );
}
@@ -261,15 +262,15 @@ void TestSubstitutionField::formattedStringEvaluation()
record1[ "7" ] = "-100";
record1[ "8" ] = "3.14";
QCOMPARE( f1.evaluate( &record1, &variables ), QString( " 0" ) );
QCOMPARE( f2.evaluate( &record1, &variables ), QString( " 1" ) );
QCOMPARE( f3.evaluate( &record1, &variables ), QString( " -1" ) );
QCOMPARE( f4.evaluate( &record1, &variables ), QString( " 3.14" ) );
QCOMPARE( f1.evaluate( record1, variables ), QString( " 0" ) );
QCOMPARE( f2.evaluate( record1, variables ), QString( " 1" ) );
QCOMPARE( f3.evaluate( record1, variables ), QString( " -1" ) );
QCOMPARE( f4.evaluate( record1, variables ), QString( " 3.14" ) );
QCOMPARE( f5.evaluate( &record1, &variables ), QString( "0 " ) );
QCOMPARE( f6.evaluate( &record1, &variables ), QString( "100 " ) );
QCOMPARE( f7.evaluate( &record1, &variables ), QString( "-100 " ) );
QCOMPARE( f8.evaluate( &record1, &variables ), QString( "3.14 " ) );
QCOMPARE( f5.evaluate( record1, variables ), QString( "0 " ) );
QCOMPARE( f6.evaluate( record1, variables ), QString( "100 " ) );
QCOMPARE( f7.evaluate( record1, variables ), QString( "-100 " ) );
QCOMPARE( f8.evaluate( record1, variables ), QString( "3.14 " ) );
}
@@ -300,15 +301,15 @@ void TestSubstitutionField::formattedFloatEvaluation()
record1[ "7" ] = "-100";
record1[ "8" ] = "3.14";
QCOMPARE( f1.evaluate( &record1, &variables ), QString( "+0.00" ) );
QCOMPARE( f2.evaluate( &record1, &variables ), QString( "+1.00" ) );
QCOMPARE( f3.evaluate( &record1, &variables ), QString( "-1.00" ) );
QCOMPARE( f4.evaluate( &record1, &variables ), QString( "+3.14" ) );
QCOMPARE( f1.evaluate( record1, variables ), QString( "+0.00" ) );
QCOMPARE( f2.evaluate( record1, variables ), QString( "+1.00" ) );
QCOMPARE( f3.evaluate( record1, variables ), QString( "-1.00" ) );
QCOMPARE( f4.evaluate( record1, variables ), QString( "+3.14" ) );
QCOMPARE( f5.evaluate( &record1, &variables ), QString( "+0.00e+00" ) );
QCOMPARE( f6.evaluate( &record1, &variables ), QString( "+1.00e+02" ) );
QCOMPARE( f7.evaluate( &record1, &variables ), QString( "-1.00e+02" ) );
QCOMPARE( f8.evaluate( &record1, &variables ), QString( "+3.14e+00" ) );
QCOMPARE( f5.evaluate( record1, variables ), QString( "+0.00e+00" ) );
QCOMPARE( f6.evaluate( record1, variables ), QString( "+1.00e+02" ) );
QCOMPARE( f7.evaluate( record1, variables ), QString( "-1.00e+02" ) );
QCOMPARE( f8.evaluate( record1, variables ), QString( "+3.14e+00" ) );
}
@@ -339,15 +340,15 @@ void TestSubstitutionField::formattedIntEvaluation()
record1[ "7" ] = "-1";
record1[ "8" ] = "314";
QCOMPARE( f1.evaluate( &record1, &variables ), QString( "00000000" ) );
QCOMPARE( f2.evaluate( &record1, &variables ), QString( "00000001" ) );
QCOMPARE( f3.evaluate( &record1, &variables ), QString( "-0000001" ) );
QCOMPARE( f4.evaluate( &record1, &variables ), QString( "00000000" ) ); // Invalid integer value
QCOMPARE( f1.evaluate( record1, variables ), QString( "00000000" ) );
QCOMPARE( f2.evaluate( record1, variables ), QString( "00000001" ) );
QCOMPARE( f3.evaluate( record1, variables ), QString( "-0000001" ) );
QCOMPARE( f4.evaluate( record1, variables ), QString( "00000000" ) ); // Invalid integer value
QCOMPARE( f5.evaluate( &record1, &variables ), QString( "00000064" ) ); // 100(decimal) == 64(hex)
QCOMPARE( f6.evaluate( &record1, &variables ), QString( "00000100" ) );
QCOMPARE( f7.evaluate( &record1, &variables ), QString( "00000000" ) ); // Invalid unsigned integer
QCOMPARE( f8.evaluate( &record1, &variables ), QString( "0000013a" ) ); // 314(decimal) == 13a(hex)
QCOMPARE( f5.evaluate( record1, variables ), QString( "00000064" ) ); // 100(decimal) == 64(hex)
QCOMPARE( f6.evaluate( record1, variables ), QString( "00000100" ) );
QCOMPARE( f7.evaluate( record1, variables ), QString( "00000000" ) ); // Invalid unsigned integer
QCOMPARE( f8.evaluate( record1, variables ), QString( "0000013a" ) ); // 314(decimal) == 13a(hex)
}
@@ -370,7 +371,7 @@ void TestSubstitutionField::newLineEvaluation()
merge::Record record3;
// ADDR2 not defined
QCOMPARE( addr2.evaluate( &record1, &variables ), QString( "\nApt. 5B" ) ); // Prepends a newline
QCOMPARE( addr2.evaluate( &record2, &variables ), QString( "" ) ); // Evaluates empty
QCOMPARE( addr2.evaluate( &record3, &variables ), QString( "" ) ); // Evaluates empty
QCOMPARE( addr2.evaluate( record1, variables ), QString( "\nApt. 5B" ) ); // Prepends a newline
QCOMPARE( addr2.evaluate( record2, variables ), QString( "" ) ); // Evaluates empty
QCOMPARE( addr2.evaluate( record3, variables ), QString( "" ) ); // Evaluates empty
}