Improve conversion of bytes to human readable string

Fixes issues like showing 0 MiB when the value is just slightly less then 1 MiB.
This commit is contained in:
eelke 2024-04-12 13:26:10 +02:00
parent db2594a87c
commit 5bdd3fa95d
7 changed files with 125 additions and 44 deletions

View file

@ -18,6 +18,7 @@ SOURCES += main.cpp \
tst_ConvertLangToSqlString.cpp \
tst_ConvertToMultiLineCString.cpp \
tst_ExplainJsonParser.cpp \
tst_HumanReadableBytes.cpp \
tst_escapeConnectionStringValue.cpp \
tst_expected.cpp \
tst_SqlLexer.cpp \

View file

@ -0,0 +1,23 @@
#include <gtest/gtest.h>
#include <gmock/gmock-matchers.h>
#include "PrintTo_Qt.h"
#include "utils/HumanReadableBytes.h"
TEST(HumanReadableBytesTest, bytes7)
{
auto s = HumanReadableBytes(7);
ASSERT_EQ("7 B", s);
}
TEST(HumanReadableBytesTest, bytes1023)
{
auto s = HumanReadableBytes(1023);
ASSERT_EQ("1023 B", s);
}
TEST(HumanReadableBytesTest, bytes1k)
{
auto s = HumanReadableBytes(1024);
ASSERT_EQ("1.00 kiB", s);
}