Minor bug fixes

- model::Db::lookupPaperNameFromId() bad if-else-if
- model::StrUtil::formatFraction missing arg in QString
- Added unit tests for StrUtil
This commit is contained in:
Jaye Evins
2025-05-08 11:09:11 -04:00
parent f15c21a01d
commit 18b0a1b09b
5 changed files with 98 additions and 6 deletions
+5 -5
View File
@@ -231,14 +231,14 @@ namespace glabels
{
if ( !id.isNull() && !id.isEmpty() )
{
if ( id == "roll" )
{
return tr("Roll");
}
else
if ( id == "other" )
{
return tr("Other");
}
else if ( id == "roll" )
{
return tr("Roll");
}
const Paper *paper = lookupPaperFromId( id );
if ( paper != nullptr )
+1 -1
View File
@@ -66,7 +66,7 @@ namespace glabels
if ( denom[i] == 1.0 )
{
/* Simple integer. */
return QString().arg(x, 0, 'f', 0);
return QString("%1").arg(x, 0, 'f', 0);
}
auto n = int( x * denom[i] + 0.5 );
auto d = int( denom[i] );
+8
View File
@@ -96,4 +96,12 @@ if (Qt6Test_FOUND)
target_link_libraries (TestVariables Model Qt6::Test)
add_test (NAME Variables COMMAND TestVariables)
#=======================================
# Test StrUtil class
#=======================================
qt6_wrap_cpp (TestStrUtil_moc_sources TestStrUtil.h)
add_executable (TestStrUtil TestStrUtil.cpp ${TestStrUtil_moc_sources})
target_link_libraries (TestStrUtil Model Qt6::Test)
add_test (NAME StrUtil COMMAND TestStrUtil)
endif (Qt6Test_FOUND)
+54
View File
@@ -0,0 +1,54 @@
/* TestColorNode.cpp
*
* Copyright (C) 2019 Jaye Evins <evins@snaught.com>
*
* This file is part of gLabels-qt.
*
* gLabels-qt is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* gLabels-qt is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
*/
#include "TestStrUtil.h"
#include "model/StrUtil.h"
#include <QtDebug>
QTEST_MAIN(TestStrUtil)
using namespace glabels::model;
void TestStrUtil::formatFraction()
{
QCOMPARE( StrUtil::formatFraction( 3.5 ), QString( "3¹/₂" ) );
QCOMPARE( StrUtil::formatFraction( 11.5 ), QString( "11¹/₂" ) );
QCOMPARE( StrUtil::formatFraction( 0.5 ), QString( "¹/₂" ) );
QCOMPARE( StrUtil::formatFraction( 1.25 ), QString( "1¹/₄" ) );
QCOMPARE( StrUtil::formatFraction( 2.125 ), QString( "2¹/₈" ) );
QCOMPARE( StrUtil::formatFraction( 2.875 ), QString( "2⁷/₈" ) );
QCOMPARE( StrUtil::formatFraction( 3.875 ), QString( "3⁷/₈" ) );
QCOMPARE( StrUtil::formatFraction( 4.0625 ), QString( "4¹/₁₆" ) );
QCOMPARE( StrUtil::formatFraction( 5.3125 ), QString( "5⁵/₁₆" ) );
QCOMPARE( StrUtil::formatFraction( 6.03125 ), QString( "6¹/₃₂" ) );
QCOMPARE( StrUtil::formatFraction( 7.84375 ), QString( "7²⁷/₃₂" ) );
QCOMPARE( StrUtil::formatFraction( 0 ), QString( "0" ) );
QCOMPARE( StrUtil::formatFraction( 2 ), QString( "2" ) );
QCOMPARE( StrUtil::formatFraction( 3 ), QString( "3" ) );
QCOMPARE( StrUtil::formatFraction( 11 ), QString( "11" ) );
QCOMPARE( StrUtil::formatFraction( 3.1415926 ), QString( "3.142" ) );
}
+30
View File
@@ -0,0 +1,30 @@
/* TestColorNode.h
*
* Copyright (C) 2019 Jaye Evins <evins@snaught.com>
*
* This file is part of gLabels-qt.
*
* gLabels-qt is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* gLabels-qt is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
*/
#include <QtTest/QtTest>
class TestStrUtil : public QObject
{
Q_OBJECT
private slots:
void formatFraction();
};