Chore: run clang-format

```bash
find . -type f \( -name "*.c" -o -name "*.h" -o -name "*.cpp" -o -name "*.hpp" \) ! -path "src/3rdparty/*" -print0 | xargs -0 clang-format -i
```
This commit is contained in:
李通洲
2026-03-29 09:28:49 +08:00
parent cdd4cee968
commit e0eba8ce21
690 changed files with 28093 additions and 30062 deletions
+8 -11
View File
@@ -4,12 +4,10 @@
#include <stdlib.h>
static void verify(const char* color, const char* expected, int lineNo)
{
static void verify(const char* color, const char* expected, int lineNo) {
FF_STRBUF_AUTO_DESTROY result = ffStrbufCreate();
ffOptionParseColorNoClear(color, &result);
if (!ffStrbufEqualS(&result, expected))
{
if (!ffStrbufEqualS(&result, expected)) {
fprintf(stderr, FASTFETCH_TEXT_MODIFIER_ERROR "[%d] %s: expected \"%s\", got \"%s\"\n" FASTFETCH_TEXT_MODIFIER_RESET, lineNo, color, expected, result.chars);
exit(1);
}
@@ -17,11 +15,10 @@ static void verify(const char* color, const char* expected, int lineNo)
#define VERIFY(color, expected) verify((color), (expected), __LINE__)
int main(void)
{
int main(void) {
instance.config.display.pipe = true;
// Initialize dummy config colors for property tests
ffStrbufInitS(&instance.config.display.colorKeys, "94"); // light_blue
ffStrbufInitS(&instance.config.display.colorKeys, "94"); // light_blue
ffStrbufInitS(&instance.config.display.colorTitle, "95"); // light_magenta
{
@@ -39,8 +36,8 @@ int main(void)
VERIFY("italic_underline_green", "3;4;32");
VERIFY("reset_blue", "0;34"); // Reset followed by color
VERIFY("#ff0000", "38;2;255;0;0"); // RRGGBB
VERIFY("#0f0", "38;2;0;255;0"); // RGB
VERIFY("#ff0000", "38;2;255;0;0"); // RRGGBB
VERIFY("#0f0", "38;2;0;255;0"); // RGB
VERIFY("#123456", "38;2;18;52;86");
VERIFY("#abc", "38;2;170;187;204");
@@ -52,7 +49,7 @@ int main(void)
VERIFY("bold_#ff00ff", "1;38;2;255;0;255");
VERIFY("underline_#123", "4;38;2;17;34;51");
VERIFY("\e[32m", "32"); // Direct ANSI code
VERIFY("\e[32m", "32"); // Direct ANSI code
VERIFY("\e[1;94m", "1;94"); // Direct ANSI code with mode
// Property colors (ensure dummy config colors are set)
@@ -65,6 +62,6 @@ int main(void)
ffStrbufDestroy(&instance.config.display.colorKeys);
ffStrbufDestroy(&instance.config.display.colorTitle);
//Success
// Success
puts("\033[32mAll tests passed!" FASTFETCH_TEXT_MODIFIER_RESET);
}
+4 -7
View File
@@ -4,12 +4,10 @@
#include <stdlib.h>
static void verify(uint64_t totalSeconds, const char* expected, int lineNo)
{
static void verify(uint64_t totalSeconds, const char* expected, int lineNo) {
FF_STRBUF_AUTO_DESTROY result = ffStrbufCreate();
ffDurationAppendNum(totalSeconds, &result);
if (!ffStrbufEqualS(&result, expected))
{
if (!ffStrbufEqualS(&result, expected)) {
fprintf(stderr, FASTFETCH_TEXT_MODIFIER_ERROR "[%d] %llu: expected \"%s\", got \"%s\"\n" FASTFETCH_TEXT_MODIFIER_RESET, lineNo, (unsigned long long) totalSeconds, expected, result.chars);
exit(1);
}
@@ -17,8 +15,7 @@ static void verify(uint64_t totalSeconds, const char* expected, int lineNo)
#define VERIFY(color, expected) verify((color), (expected), __LINE__)
int main(void)
{
int main(void) {
// Test seconds less than 60
VERIFY(0, "0 seconds");
VERIFY(1, "1 second");
@@ -115,6 +112,6 @@ int main(void)
VERIFY(60 * 60 * 24 * 100, "100d");
VERIFY(60 * 60 * 24 * 200, "200d");
//Success
// Success
puts("\033[32mAll tests passed!" FASTFETCH_TEXT_MODIFIER_RESET);
}
+73 -78
View File
@@ -4,16 +4,12 @@
#include <stdlib.h>
static void verify(const char* format, const char* arg, const char* expected, int lineNo)
{
static void verify(const char* format, const char* arg, const char* expected, int lineNo) {
FF_STRBUF_AUTO_DESTROY result = ffStrbufCreate();
FF_STRBUF_AUTO_DESTROY formatter = ffStrbufCreateStatic(format);
const FFformatarg arguments[] = {
{ .type = FF_ARG_TYPE_STRING, arg }
};
const FFformatarg arguments[] = { {.type = FF_ARG_TYPE_STRING, arg}};
ffParseFormatString(&result, &formatter, 1, arguments);
if (!ffStrbufEqualS(&result, expected))
{
if (!ffStrbufEqualS(&result, expected)) {
fprintf(stderr, FASTFETCH_TEXT_MODIFIER_ERROR "[%d] %s: expected \"%s\", got \"%s\"\n" FASTFETCH_TEXT_MODIFIER_RESET, lineNo, format, expected, result.chars);
exit(1);
}
@@ -21,101 +17,100 @@ static void verify(const char* format, const char* arg, const char* expected, in
#define VERIFY(format, argument, expected) verify((format), (argument), (expected), __LINE__)
int main(void)
{
int main(void) {
instance.config.display.pipe = true;
{
VERIFY("output({})", "12345 67890", "output(12345 67890)");
VERIFY("output({1})", "12345 67890", "output(12345 67890)");
VERIFY("output({})", "", "output()");
VERIFY("output({1})", "", "output()");
VERIFY("output({})", "12345 67890", "output(12345 67890)");
VERIFY("output({1})", "12345 67890", "output(12345 67890)");
VERIFY("output({})", "", "output()");
VERIFY("output({1})", "", "output()");
}
{
VERIFY("output({1:20})", "12345 67890", "output(12345 67890)");
VERIFY("output({1:11})", "12345 67890", "output(12345 67890)");
VERIFY("output({1:-11})", "12345 67890", "output(12345 67890)");
VERIFY("output({1:6})", "12345 67890", "output(12345)");
VERIFY("output({:6})", "12345 67890", "output(12345)");
VERIFY("output({:-6})", "12345 67890", "output(12345…)");
VERIFY("output({:0})", "12345 67890", "output()");
VERIFY("output({:})", "12345 67890", "output()");
VERIFY("output({1:20})", "12345 67890", "output(12345 67890)");
VERIFY("output({1:11})", "12345 67890", "output(12345 67890)");
VERIFY("output({1:-11})", "12345 67890", "output(12345 67890)");
VERIFY("output({1:6})", "12345 67890", "output(12345)");
VERIFY("output({:6})", "12345 67890", "output(12345)");
VERIFY("output({:-6})", "12345 67890", "output(12345…)");
VERIFY("output({:0})", "12345 67890", "output()");
VERIFY("output({:})", "12345 67890", "output()");
}
{
VERIFY("output({1<20})", "12345 67890", "output(12345 67890 )");
VERIFY("output({1<-20})", "12345 67890", "output(12345 67890 )");
VERIFY("output({1<11})", "12345 67890", "output(12345 67890)");
VERIFY("output({1<-11})", "12345 67890", "output(12345 67890)");
VERIFY("output({1<6})", "12345 67890", "output(12345 )");
VERIFY("output({<6})", "12345 67890", "output(12345 )");
VERIFY("output({<-6})", "12345 67890", "output(12345…)");
VERIFY("output({<0})", "12345 67890", "output()");
VERIFY("output({<})", "12345 67890", "output()");
VERIFY("output({1<20})", "12345 67890", "output(12345 67890 )");
VERIFY("output({1<-20})", "12345 67890", "output(12345 67890 )");
VERIFY("output({1<11})", "12345 67890", "output(12345 67890)");
VERIFY("output({1<-11})", "12345 67890", "output(12345 67890)");
VERIFY("output({1<6})", "12345 67890", "output(12345 )");
VERIFY("output({<6})", "12345 67890", "output(12345 )");
VERIFY("output({<-6})", "12345 67890", "output(12345…)");
VERIFY("output({<0})", "12345 67890", "output()");
VERIFY("output({<})", "12345 67890", "output()");
}
{
VERIFY("output({1>20})", "12345 67890", "output( 12345 67890)");
VERIFY("output({1>-20})", "12345 67890", "output( 12345 67890)");
VERIFY("output({1>11})", "12345 67890", "output(12345 67890)");
VERIFY("output({1>-11})", "12345 67890", "output(12345 67890)");
VERIFY("output({1>6})", "12345 67890", "output(12345 )");
VERIFY("output({>6})", "12345 67890", "output(12345 )");
VERIFY("output({>-6})", "12345 67890", "output(12345…)");
VERIFY("output({>0})", "12345 67890", "output()");
VERIFY("output({>})", "12345 67890", "output()");
VERIFY("output({1>20})", "12345 67890", "output( 12345 67890)");
VERIFY("output({1>-20})", "12345 67890", "output( 12345 67890)");
VERIFY("output({1>11})", "12345 67890", "output(12345 67890)");
VERIFY("output({1>-11})", "12345 67890", "output(12345 67890)");
VERIFY("output({1>6})", "12345 67890", "output(12345 )");
VERIFY("output({>6})", "12345 67890", "output(12345 )");
VERIFY("output({>-6})", "12345 67890", "output(12345…)");
VERIFY("output({>0})", "12345 67890", "output()");
VERIFY("output({>})", "12345 67890", "output()");
}
{
VERIFY("output({1n>20})", "12345 67890", "output({1n>20})");
VERIFY("output({120})", "12345 67890", "output({120})");
VERIFY("output({1:11})", "", "output()");
VERIFY("output({2:2})", "", "output({2:2})");
VERIFY("output({1n>20})", "12345 67890", "output({1n>20})");
VERIFY("output({120})", "12345 67890", "output({120})");
VERIFY("output({1:11})", "", "output()");
VERIFY("output({2:2})", "", "output({2:2})");
}
{
VERIFY("output({1~0})", "12345 67890", "output(12345 67890)");
VERIFY("output({1~1})", "12345 67890", "output(2345 67890)");
VERIFY("output({1~10})", "12345 67890", "output(0)");
VERIFY("output({1~20})", "12345 67890", "output()");
VERIFY("output({1~-5})", "12345 67890", "output(67890)");
VERIFY("output({1~-50})", "12345 67890", "output()");
VERIFY("output({1~0,1})", "12345 67890", "output(1)");
VERIFY("output({1~0,6})", "12345 67890", "output(12345 )");
VERIFY("output({1~0,10})", "12345 67890", "output(12345 6789)");
VERIFY("output({1~5,10})", "12345 67890", "output( 6789)");
VERIFY("output({1~5,100})", "12345 67890", "output( 67890)");
VERIFY("output({1~10,10})", "12345 67890", "output()");
VERIFY("output({1~10,5})", "12345 67890", "output()");
VERIFY("output({1~3,-3})", "12345 67890", "output(45 67)");
VERIFY("output({1~-5,-3})", "12345 67890", "output(67)");
VERIFY("output({1~-0,10})", "12345 67890", "output(12345 6789)");
VERIFY("output({1~-3,-5})", "12345 67890", "output()");
VERIFY("output({1~})", "12345 67890", "output(12345 67890)"); // Same as {1~0}
VERIFY("output({1~-0})", "12345 67890", "output(12345 67890)"); // Same as {1~0}
VERIFY("output({1~,-1})", "12345 67890", "output(12345 6789)"); // Same as {1~0,-1}
VERIFY("output({1~,})", "12345 67890", "output()"); // Same as {1~0,0}
VERIFY("output({1~0})", "12345 67890", "output(12345 67890)");
VERIFY("output({1~1})", "12345 67890", "output(2345 67890)");
VERIFY("output({1~10})", "12345 67890", "output(0)");
VERIFY("output({1~20})", "12345 67890", "output()");
VERIFY("output({1~-5})", "12345 67890", "output(67890)");
VERIFY("output({1~-50})", "12345 67890", "output()");
VERIFY("output({1~0,1})", "12345 67890", "output(1)");
VERIFY("output({1~0,6})", "12345 67890", "output(12345 )");
VERIFY("output({1~0,10})", "12345 67890", "output(12345 6789)");
VERIFY("output({1~5,10})", "12345 67890", "output( 6789)");
VERIFY("output({1~5,100})", "12345 67890", "output( 67890)");
VERIFY("output({1~10,10})", "12345 67890", "output()");
VERIFY("output({1~10,5})", "12345 67890", "output()");
VERIFY("output({1~3,-3})", "12345 67890", "output(45 67)");
VERIFY("output({1~-5,-3})", "12345 67890", "output(67)");
VERIFY("output({1~-0,10})", "12345 67890", "output(12345 6789)");
VERIFY("output({1~-3,-5})", "12345 67890", "output()");
VERIFY("output({1~})", "12345 67890", "output(12345 67890)"); // Same as {1~0}
VERIFY("output({1~-0})", "12345 67890", "output(12345 67890)"); // Same as {1~0}
VERIFY("output({1~,-1})", "12345 67890", "output(12345 6789)"); // Same as {1~0,-1}
VERIFY("output({1~,})", "12345 67890", "output()"); // Same as {1~0,0}
}
{
VERIFY("output({1n~0})", "12345 67890", "output({1n~0})");
VERIFY("output({1~<0})", "12345 67890", "output({1~<0})");
VERIFY("output({1~-})", "12345 67890", "output({1~-})");
VERIFY("output({1~-,1})", "12345 67890", "output({1~-,1})");
VERIFY("output({1~0,,1})", "12345 67890", "output({1~0,,1})");
VERIFY("output({1~0,1,})", "12345 67890", "output({1~0,1,})");
VERIFY("output({1~,0,1})", "12345 67890", "output({1~,0,1})");
VERIFY("output({2,0})", "12345 67890", "output({2,0})");
VERIFY("output({1n~0})", "12345 67890", "output({1n~0})");
VERIFY("output({1~<0})", "12345 67890", "output({1~<0})");
VERIFY("output({1~-})", "12345 67890", "output({1~-})");
VERIFY("output({1~-,1})", "12345 67890", "output({1~-,1})");
VERIFY("output({1~0,,1})", "12345 67890", "output({1~0,,1})");
VERIFY("output({1~0,1,})", "12345 67890", "output({1~0,1,})");
VERIFY("output({1~,0,1})", "12345 67890", "output({1~,0,1})");
VERIFY("output({2,0})", "12345 67890", "output({2,0})");
}
{
VERIFY("output({1:20}{1<20}{1>20})", "12345 67890", "output(12345 6789012345 67890 12345 67890)");
VERIFY("output({?1}OK{?}{/1}NOT OK{/})", "12345 67890", "output(OK)");
VERIFY("output({?1}OK{?}{/1}NOT OK{/})", "", "output(NOT OK)");
VERIFY("output({1:20}{1<20}{1>20})", "12345 67890", "output(12345 6789012345 67890 12345 67890)");
VERIFY("output({?1}OK{?}{/1}NOT OK{/})", "12345 67890", "output(OK)");
VERIFY("output({?1}OK{?}{/1}NOT OK{/})", "", "output(NOT OK)");
}
#ifndef _WIN32 // Windows doesn't have setenv
#ifndef _WIN32 // Windows doesn't have setenv
{
ffListInit(&instance.config.display.constants, sizeof(FFstrbuf));
ffStrbufInitStatic(ffListAdd(&instance.config.display.constants), "CONST1");
@@ -133,8 +128,8 @@ int main(void)
VERIFY("output({$1NO})", "", "output({$1NO})");
ffListDestroy(&instance.config.display.constants);
}
#endif
#endif
//Success
// Success
puts("\033[32mAll tests passed!" FASTFETCH_TEXT_MODIFIER_RESET);
}
+29 -35
View File
@@ -6,14 +6,11 @@
#include <stdlib.h>
#include <stdio.h>
__attribute__((__noreturn__))
static void testFailed(const FFlist* list, const char* expression, int lineNo)
{
__attribute__((__noreturn__)) static void testFailed(const FFlist* list, const char* expression, int lineNo) {
fputs(FASTFETCH_TEXT_MODIFIER_ERROR, stderr);
fprintf(stderr, "[%d] %s, list:", lineNo, expression);
for (uint32_t i = 0; i < list->length; ++i)
{
fprintf(stderr, "%u ", *(uint32_t*)ffListGet(list, i));
for (uint32_t i = 0; i < list->length; ++i) {
fprintf(stderr, "%u ", *(uint32_t*) ffListGet(list, i));
}
fputc('\n', stderr);
fputs(FASTFETCH_TEXT_MODIFIER_RESET, stderr);
@@ -21,19 +18,18 @@ static void testFailed(const FFlist* list, const char* expression, int lineNo)
exit(1);
}
static bool numEqualsAdapter(const void* first, const void* second)
{
return *(uint32_t*)first == *(uint32_t*)second;
static bool numEqualsAdapter(const void* first, const void* second) {
return *(uint32_t*) first == *(uint32_t*) second;
}
#define VERIFY(expression) if(!(expression)) testFailed(&list, #expression, __LINE__)
#define VERIFY(expression) \
if (!(expression)) testFailed(&list, #expression, __LINE__)
int main(void)
{
int main(void) {
FFlist list;
uint32_t n = 0;
//initA
// initA
ffListInit(&list, sizeof(uint32_t));
@@ -41,44 +37,42 @@ int main(void)
VERIFY(list.capacity == 0);
VERIFY(list.length == 0);
//forEach
FF_LIST_FOR_EACH(uint32_t, item, list)
// forEach
FF_LIST_FOR_EACH (uint32_t, item, list) {
VERIFY(false);
}
//shift
// shift
VERIFY(!ffListShift(&list, &n));
VERIFY(list.length == 0);
//pop
// pop
VERIFY(!ffListPop(&list, &n));
VERIFY(list.length == 0);
//add
for (uint32_t i = 1; i <= FF_LIST_DEFAULT_ALLOC + 1; ++i)
{
*(uint32_t*)ffListAdd(&list) = i;
// add
for (uint32_t i = 1; i <= FF_LIST_DEFAULT_ALLOC + 1; ++i) {
*(uint32_t*) ffListAdd(&list) = i;
VERIFY(list.elementSize == sizeof(uint32_t));
VERIFY(list.length == i);
if(i <= FF_LIST_DEFAULT_ALLOC)
{
if (i <= FF_LIST_DEFAULT_ALLOC) {
VERIFY(list.capacity == FF_LIST_DEFAULT_ALLOC);
}
else
{
} else {
VERIFY(list.capacity == FF_LIST_DEFAULT_ALLOC * 2);
}
VERIFY(*(uint32_t*)ffListGet(&list, 0) == 1);
VERIFY(*(uint32_t*)ffListGet(&list, i - 1) == i);
VERIFY(*(uint32_t*) ffListGet(&list, 0) == 1);
VERIFY(*(uint32_t*) ffListGet(&list, i - 1) == i);
}
VERIFY(list.length == FF_LIST_DEFAULT_ALLOC + 1);
uint32_t sum = 0;
//forEach
FF_LIST_FOR_EACH(uint32_t, item, list)
// forEach
FF_LIST_FOR_EACH (uint32_t, item, list) {
sum += *item;
}
VERIFY(sum == (1 + FF_LIST_DEFAULT_ALLOC + 1) * (FF_LIST_DEFAULT_ALLOC + 1) / 2);
// ffListFirstIndexComp
@@ -93,21 +87,21 @@ int main(void)
n = 999;
VERIFY(!ffListContains(&list, &n, numEqualsAdapter));
//shift
// shift
VERIFY(ffListShift(&list, &n));
VERIFY(n == 1);
VERIFY(list.length == FF_LIST_DEFAULT_ALLOC);
VERIFY(*(uint32_t*) ffListGet(&list, 0) == 2);
VERIFY(*(uint32_t*) ffListGet(&list, list.length - 1) == FF_LIST_DEFAULT_ALLOC + 1);
//pop
// pop
VERIFY(ffListPop(&list, &n));
VERIFY(n == FF_LIST_DEFAULT_ALLOC + 1);
VERIFY(list.length == FF_LIST_DEFAULT_ALLOC - 1);
VERIFY(*(uint32_t*) ffListGet(&list, 0) == 2);
VERIFY(*(uint32_t*) ffListGet(&list, list.length - 1) == FF_LIST_DEFAULT_ALLOC);
//Destroy
// Destroy
ffListDestroy(&list);
VERIFY(list.elementSize == sizeof(uint32_t));
@@ -121,6 +115,6 @@ int main(void)
VERIFY(test.length == 0);
}
//Success
puts("\033[32mAll tests passed!"FASTFETCH_TEXT_MODIFIER_RESET);
// Success
puts("\033[32mAll tests passed!" FASTFETCH_TEXT_MODIFIER_RESET);
}
+69 -78
View File
@@ -5,9 +5,7 @@
#include <stdlib.h>
#include <stdio.h>
__attribute__((__noreturn__))
static void testFailed(const FFstrbuf* strbuf, const char* expression, int lineNo)
{
__attribute__((__noreturn__)) static void testFailed(const FFstrbuf* strbuf, const char* expression, int lineNo) {
fputs(FASTFETCH_TEXT_MODIFIER_ERROR, stderr);
fprintf(stderr, "[%d] %s, strbuf:", lineNo, expression);
ffStrbufWriteTo(strbuf, stderr);
@@ -16,22 +14,22 @@ static void testFailed(const FFstrbuf* strbuf, const char* expression, int lineN
exit(1);
}
#define VERIFY(expression) if(!(expression)) testFailed(&strbuf, #expression, __LINE__)
#define VERIFY(expression) \
if (!(expression)) testFailed(&strbuf, #expression, __LINE__)
int shouldNotBeCalled(int c) {
(void)c;
(void) c;
exit(1);
}
int main(void)
{
int main(void) {
FFstrbuf strbuf;
//destroy 0
// destroy 0
ffStrbufInit(&strbuf);
ffStrbufDestroy(&strbuf);
//initA
// initA
ffStrbufInit(&strbuf);
@@ -45,7 +43,7 @@ int main(void)
VERIFY(!ffStrbufEndsWithS(&strbuf, "0"));
VERIFY(ffStrbufCountC(&strbuf, '0') == 0);
//Ensure following functions work with non-allocated string
// Ensure following functions work with non-allocated string
ffStrbufAppendS(&strbuf, "");
ffStrbufAppendF(&strbuf, "%s", "");
ffStrbufAppendTransformS(&strbuf, "", shouldNotBeCalled);
@@ -56,7 +54,7 @@ int main(void)
VERIFY(strbuf.allocated == 0);
VERIFY(strbuf.length == 0);
//append(N)C
// append(N)C
ffStrbufAppendC(&strbuf, '1');
VERIFY(ffStrbufEqualS(&strbuf, "1"));
@@ -66,7 +64,7 @@ int main(void)
VERIFY(strbuf.allocated >= 6);
ffStrbufClear(&strbuf);
//appendS
// appendS
ffStrbufAppendS(&strbuf, "12345");
ffStrbufAppendS(&strbuf, NULL);
@@ -75,7 +73,7 @@ int main(void)
VERIFY(strbuf.allocated >= 6);
VERIFY(ffStrbufEqualS(&strbuf, "12345"));
//appendNS
// appendNS
ffStrbufAppendNS(&strbuf, 4, "67890");
ffStrbufAppendNS(&strbuf, 0, NULL);
@@ -84,14 +82,14 @@ int main(void)
VERIFY(strbuf.allocated >= 10);
VERIFY(ffStrbufEqualS(&strbuf, "123456789"));
//appendS long
// appendS long
ffStrbufAppendS(&strbuf, "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890");
VERIFY(strbuf.length == 109);
VERIFY(strbuf.allocated >= 110);
VERIFY(strbuf.chars[strbuf.length] == 0);
//substr
// substr
VERIFY(ffStrbufSubstrBefore(&strbuf, 9));
VERIFY(strbuf.length == 9);
@@ -113,52 +111,52 @@ int main(void)
ffStrbufSetS(&strbuf, "123456789");
//startsWithC
// startsWithC
VERIFY(ffStrbufStartsWithC(&strbuf, '1'));
VERIFY(!ffStrbufStartsWithC(&strbuf, '2'));
//startsWithS
// startsWithS
VERIFY(ffStrbufStartsWithS(&strbuf, "123"));
VERIFY(ffStrbufStartsWithS(&strbuf, "123456789"));
VERIFY(!ffStrbufStartsWithS(&strbuf, "1234567890123"));
//endsWithC
// endsWithC
VERIFY(ffStrbufEndsWithC(&strbuf, '9'));
VERIFY(!ffStrbufEndsWithC(&strbuf, '1'));
//endsWithS
// endsWithS
VERIFY(ffStrbufEndsWithS(&strbuf, "789"));
VERIFY(ffStrbufEndsWithS(&strbuf, "123456789"));
VERIFY(!ffStrbufEndsWithS(&strbuf, "1234567890123"));
//toNumber
// toNumber
VERIFY(ffStrbufToDouble(&strbuf, -DBL_MAX) == 123456789.0);
VERIFY(ffStrbufToUInt(&strbuf, 999) == 123456789);
//countC
// countC
VERIFY(ffStrbufCountC(&strbuf, '1') == 1);
VERIFY(ffStrbufCountC(&strbuf, '0') == 0);
//removeS
// removeS
ffStrbufRemoveS(&strbuf, "78");
VERIFY(strbuf.length == 7);
VERIFY(strcmp(strbuf.chars, "1234569") == 0);
//removeStrings
// removeStrings
ffStrbufRemoveStrings(&strbuf, 3, (const char*[]) { "23", "45", "9" });
ffStrbufRemoveStrings(&strbuf, 3, (const char*[]) {"23", "45", "9"});
VERIFY(strbuf.length == 2);
VERIFY(strcmp(strbuf.chars, "16") == 0);
//PrependS
// PrependS
ffStrbufPrependS(&strbuf, "123");
ffStrbufPrependS(&strbuf, NULL);
@@ -166,7 +164,7 @@ int main(void)
VERIFY(strbuf.length == 5);
VERIFY(strcmp(strbuf.chars, "12316") == 0);
//indexC
// indexC
VERIFY(ffStrbufFirstIndexC(&strbuf, '1') == 0);
VERIFY(ffStrbufNextIndexC(&strbuf, 1, '1') == 3);
VERIFY(ffStrbufNextIndexC(&strbuf, 4, '1') == 5);
@@ -175,12 +173,12 @@ int main(void)
VERIFY(ffStrbufPreviousIndexC(&strbuf, 0, '1') == 0);
VERIFY(ffStrbufPreviousIndexC(&strbuf, 0, '2') == 5);
//indexS
// indexS
VERIFY(ffStrbufFirstIndexS(&strbuf, "12316") == 0);
VERIFY(ffStrbufNextIndexS(&strbuf, 1, "1") == 3);
VERIFY(ffStrbufNextIndexS(&strbuf, 4, "1") == 5);
//ignCase
// ignCase
ffStrbufSetS(&strbuf, "AbCdEfG");
VERIFY(ffStrbufIgnCaseCompS(&strbuf, "aBcDeFg") == 0);
@@ -189,25 +187,25 @@ int main(void)
VERIFY(!ffStrbufStartsWithIgnCaseS(&strbuf, "aBcDeFgH"));
VERIFY(!ffStrbufEndsWithIgnCaseS(&strbuf, "0aBcDeFg"));
//ensure
// ensure
ffStrbufEnsureEndsWithC(&strbuf, '$');
VERIFY(ffStrbufEqualS(&strbuf, "AbCdEfG$"));
ffStrbufEnsureEndsWithC(&strbuf, '$');
VERIFY(ffStrbufEqualS(&strbuf, "AbCdEfG$"));
//trimRight
// trimRight
ffStrbufTrimRight(&strbuf, '$');
VERIFY(ffStrbufEqualS(&strbuf, "AbCdEfG"));
ffStrbufTrimRight(&strbuf, '$');
VERIFY(ffStrbufEqualS(&strbuf, "AbCdEfG"));
//clear
// clear
ffStrbufClear(&strbuf);
VERIFY(strbuf.allocated > 0);
VERIFY(strbuf.length == 0);
VERIFY(strbuf.chars && strbuf.chars[0] == 0);
//Destroy
// Destroy
ffStrbufDestroy(&strbuf);
@@ -215,21 +213,21 @@ int main(void)
VERIFY(strbuf.length == 0);
VERIFY(strbuf.chars && strbuf.chars[0] == 0);
//initA
// initA
ffStrbufInitA(&strbuf, 32);
VERIFY(strbuf.allocated == 32);
VERIFY(strbuf.length == 0);
VERIFY(strbuf.chars && strbuf.chars[0] == 0);
//appendF
// appendF
ffStrbufAppendF(&strbuf, "%s", "1234567890123456789012345678901");
VERIFY(strbuf.allocated == 32);
VERIFY(ffStrbufEqualS(&strbuf, "1234567890123456789012345678901"));
ffStrbufDestroy(&strbuf);
//initMoveS
// initMoveS
{
char* heapStr = strdup("1234567890");
ffStrbufInitMoveS(&strbuf, heapStr);
@@ -238,34 +236,34 @@ int main(void)
ffStrbufDestroy(&strbuf);
}
//initF
// initF
ffStrbufInitF(&strbuf, "%s", "1234567890123456789012345678901");
VERIFY(strbuf.allocated >= 32);
VERIFY(ffStrbufEqualS(&strbuf, "1234567890123456789012345678901"));
//containC
// containC
VERIFY(ffStrbufContainC(&strbuf, '1'));
VERIFY(!ffStrbufContainC(&strbuf, '-'));
//replaceAllC
// replaceAllC
ffStrbufReplaceAllC(&strbuf, '1', '-');
VERIFY(ffStrbufEqualS(&strbuf, "-234567890-234567890-234567890-"));
ffStrbufReplaceAllC(&strbuf, '1', '-');
VERIFY(ffStrbufEqualS(&strbuf, "-234567890-234567890-234567890-"));
//trim
// trim
ffStrbufTrim(&strbuf, '-');
VERIFY(ffStrbufEqualS(&strbuf, "234567890-234567890-234567890"));
ffStrbufDestroy(&strbuf);
//ffStrbufCreateS
// ffStrbufCreateS
{
FF_STRBUF_AUTO_DESTROY testCreate = ffStrbufCreateS("TEST");
VERIFY(ffStrbufEqualS(&testCreate, "TEST"));
}
//ffStrbufCreateStatic
// ffStrbufCreateStatic
ffStrbufInitStatic(&strbuf, "TEST");
VERIFY(ffStrbufEqualS(&strbuf, "TEST"));
VERIFY(strbuf.length == 4);
@@ -275,14 +273,14 @@ int main(void)
VERIFY(strbuf.length == 0);
VERIFY(strbuf.allocated == 0);
//ffStrbufCreateStatic / Allocate
// ffStrbufCreateStatic / Allocate
ffStrbufInitStatic(&strbuf, "TEST");
ffStrbufEnsureFree(&strbuf, 0);
VERIFY(ffStrbufEqualS(&strbuf, "TEST"));
VERIFY(strbuf.length == 4);
VERIFY(strbuf.allocated > 0);
//ffStrbufCreateStatic / Append
// ffStrbufCreateStatic / Append
ffStrbufInitStatic(&strbuf, "TEST");
ffStrbufAppendS(&strbuf, "_TEST");
VERIFY(ffStrbufEqualS(&strbuf, "TEST_TEST"));
@@ -294,7 +292,7 @@ int main(void)
VERIFY(strbuf.length == 0);
VERIFY(strbuf.allocated == 0);
//ffStrbufCreateStatic / Prepend
// ffStrbufCreateStatic / Prepend
ffStrbufInitStatic(&strbuf, "TEST");
ffStrbufPrependS(&strbuf, "TEST_");
VERIFY(ffStrbufEqualS(&strbuf, "TEST_TEST"));
@@ -306,14 +304,14 @@ int main(void)
VERIFY(strbuf.length == 0);
VERIFY(strbuf.allocated == 0);
//ffStrbufCreateStatic / Clear
// ffStrbufCreateStatic / Clear
ffStrbufInitStatic(&strbuf, "TEST");
ffStrbufClear(&strbuf);
VERIFY(strbuf.length == 0);
VERIFY(strbuf.allocated == 0);
ffStrbufDestroy(&strbuf);
//ffStrbufCreateStatic / Set
// ffStrbufCreateStatic / Set
ffStrbufInitStatic(&strbuf, "TEST"); // static
ffStrbufSetStatic(&strbuf, "test");
VERIFY(ffStrbufEqualS(&strbuf, "test"));
@@ -321,7 +319,7 @@ int main(void)
VERIFY(strbuf.allocated == 0);
ffStrbufDestroy(&strbuf);
//ffStrbufCreateStatic / Set
// ffStrbufCreateStatic / Set
ffStrbufInitS(&strbuf, "TEST"); // allocated
ffStrbufSetStatic(&strbuf, "test");
VERIFY(ffStrbufEqualS(&strbuf, "test"));
@@ -329,7 +327,7 @@ int main(void)
VERIFY(strbuf.allocated == 0);
ffStrbufDestroy(&strbuf);
//ffStrbufCreateStatic / TrimL
// ffStrbufCreateStatic / TrimL
ffStrbufInitStatic(&strbuf, "_TEST_");
ffStrbufTrimLeft(&strbuf, '_');
VERIFY(ffStrbufEqualS(&strbuf, "TEST_"));
@@ -337,7 +335,7 @@ int main(void)
VERIFY(strbuf.allocated == 0);
ffStrbufDestroy(&strbuf);
//ffStrbufCreateStatic / TrimR
// ffStrbufCreateStatic / TrimR
ffStrbufInitStatic(&strbuf, "_TEST_");
ffStrbufTrimRight(&strbuf, ' ');
VERIFY(strbuf.allocated == 0);
@@ -348,7 +346,7 @@ int main(void)
VERIFY(strbuf.allocated > 0);
ffStrbufDestroy(&strbuf);
//ffStrbufCreateStatic / Substr
// ffStrbufCreateStatic / Substr
ffStrbufInitStatic(&strbuf, "__TEST__");
VERIFY(ffStrbufRemoveSubstr(&strbuf, 0, 6));
VERIFY(ffStrbufEqualS(&strbuf, "__"));
@@ -356,7 +354,7 @@ int main(void)
VERIFY(strbuf.allocated > 0);
ffStrbufDestroy(&strbuf);
//ffStrbufCreateStatic / Substr
// ffStrbufCreateStatic / Substr
ffStrbufInitStatic(&strbuf, "__TEST__");
VERIFY(ffStrbufRemoveSubstr(&strbuf, 2, 8));
VERIFY(ffStrbufEqualS(&strbuf, "__"));
@@ -364,7 +362,7 @@ int main(void)
VERIFY(strbuf.allocated > 0);
ffStrbufDestroy(&strbuf);
//ffStrbufCreateStatic / Substr
// ffStrbufCreateStatic / Substr
ffStrbufInitStatic(&strbuf, "__TEST__");
VERIFY(ffStrbufRemoveSubstr(&strbuf, 2, 6));
VERIFY(ffStrbufEqualS(&strbuf, "____"));
@@ -372,7 +370,7 @@ int main(void)
VERIFY(strbuf.allocated > 0);
ffStrbufDestroy(&strbuf);
//ffStrbufCreateStatic / ReplaceAllC
// ffStrbufCreateStatic / ReplaceAllC
ffStrbufInitStatic(&strbuf, "__TEST__");
ffStrbufReplaceAllC(&strbuf, '_', '-');
VERIFY(ffStrbufEqualS(&strbuf, "--TEST--"));
@@ -380,7 +378,7 @@ int main(void)
VERIFY(strbuf.allocated > 0);
ffStrbufDestroy(&strbuf);
//ffStrbufCreateStatic / TrimSpace
// ffStrbufCreateStatic / TrimSpace
ffStrbufInitStatic(&strbuf, "\n TEST\n ");
ffStrbufTrimSpace(&strbuf);
VERIFY(strbuf.length == 4);
@@ -388,7 +386,7 @@ int main(void)
VERIFY(ffStrbufEqualS(&strbuf, "TEST"));
ffStrbufDestroy(&strbuf);
//ffStrbufCreate / TrimSpace
// ffStrbufCreate / TrimSpace
ffStrbufInitS(&strbuf, "\n TEST\n ");
ffStrbufTrimSpace(&strbuf);
VERIFY(strbuf.length == 4);
@@ -396,7 +394,7 @@ int main(void)
VERIFY(ffStrbufEqualS(&strbuf, "TEST"));
ffStrbufDestroy(&strbuf);
//ffStrbufEnsureFixedLengthFree / empty buffer
// ffStrbufEnsureFixedLengthFree / empty buffer
ffStrbufInit(&strbuf);
ffStrbufEnsureFixedLengthFree(&strbuf, 10);
VERIFY(strbuf.length == 0);
@@ -411,14 +409,14 @@ int main(void)
VERIFY(strbuf.allocated == 13);
ffStrbufDestroy(&strbuf);
//ffStrbufEnsureFixedLengthFree / empty buffer with zero free length
// ffStrbufEnsureFixedLengthFree / empty buffer with zero free length
ffStrbufInit(&strbuf);
ffStrbufEnsureFixedLengthFree(&strbuf, 0);
VERIFY(strbuf.length == 0);
VERIFY(strbuf.allocated == 0);
ffStrbufDestroy(&strbuf);
//ffStrbufEnsureFixedLengthFree / empty buffer but oldFree >= newFree
// ffStrbufEnsureFixedLengthFree / empty buffer but oldFree >= newFree
ffStrbufInitA(&strbuf, 11);
ffStrbufEnsureFixedLengthFree(&strbuf, 10);
VERIFY(strbuf.length == 0);
@@ -430,7 +428,7 @@ int main(void)
VERIFY(strbuf.allocated == 12);
ffStrbufDestroy(&strbuf);
//ffStrbufEnsureFixedLengthFree / non empty buffer
// ffStrbufEnsureFixedLengthFree / non empty buffer
ffStrbufAppendF(&strbuf, "%s", "1234567890");
VERIFY(strbuf.length == 10);
VERIFY(strbuf.allocated == 32);
@@ -448,7 +446,7 @@ int main(void)
VERIFY(strbuf.allocated == 33);
ffStrbufDestroy(&strbuf);
//ffStrbufEnsureFixedLengthFree / static buffer
// ffStrbufEnsureFixedLengthFree / static buffer
ffStrbufInitStatic(&strbuf, "__TEST__");
VERIFY(strbuf.length > 0);
VERIFY(strbuf.allocated == 0);
@@ -458,7 +456,7 @@ int main(void)
VERIFY(ffStrbufEqualS(&strbuf, "__TEST__"));
ffStrbufDestroy(&strbuf);
//ffStrbufInsertNC
// ffStrbufInsertNC
ffStrbufInitStatic(&strbuf, "123456");
ffStrbufInsertNC(&strbuf, 0, 2, 'A');
VERIFY(ffStrbufEqualS(&strbuf, "AA123456"));
@@ -490,11 +488,9 @@ int main(void)
const char* text = "Processor\t: ARMv7\nprocessor\t: 0\nBogoMIPS\t: 38.00\n\nprocessor\t: 1\nBogoMIPS\t: 38.00";
ffStrbufSetS(&strbuf, text);
while (ffStrbufGetline(&lineptr, &n, &strbuf))
{
while (ffStrbufGetline(&lineptr, &n, &strbuf)) {
++i;
switch (i)
{
switch (i) {
case 1:
VERIFY(strcmp(lineptr, "Processor\t: ARMv7") == 0);
VERIFY(n == strlen("Processor\t: ARMv7"));
@@ -533,11 +529,9 @@ int main(void)
i = 0;
text = "\n";
ffStrbufSetS(&strbuf, text);
while (ffStrbufGetline(&lineptr, &n, &strbuf))
{
while (ffStrbufGetline(&lineptr, &n, &strbuf)) {
++i;
switch (i)
{
switch (i) {
case 1:
VERIFY(strcmp(lineptr, "") == 0);
VERIFY(n == 0);
@@ -556,11 +550,9 @@ int main(void)
i = 0;
text = "abcd";
ffStrbufSetS(&strbuf, text);
while (ffStrbufGetline(&lineptr, &n, &strbuf))
{
while (ffStrbufGetline(&lineptr, &n, &strbuf)) {
++i;
switch (i)
{
switch (i) {
case 1:
VERIFY(strcmp(lineptr, "abcd") == 0);
VERIFY(n == strlen("abcd"));
@@ -579,8 +571,7 @@ int main(void)
i = 0;
text = "";
ffStrbufSetS(&strbuf, text);
while (ffStrbufGetline(&lineptr, &n, &strbuf))
{
while (ffStrbufGetline(&lineptr, &n, &strbuf)) {
++i;
VERIFY(false);
}
@@ -1058,7 +1049,7 @@ int main(void)
VERIFY(ffStrbufEqualS(&strbuf, "abc\\x2G"));
}
//setS
// setS
ffStrbufInitStatic(&strbuf, "STATIC");
ffStrbufSetS(&strbuf, "DYNAMIC");
VERIFY(ffStrbufEqualS(&strbuf, "DYNAMIC"));
@@ -1101,7 +1092,7 @@ int main(void)
VERIFY(strbuf.allocated == 0);
ffStrbufDestroy(&strbuf);
//set
// set
ffStrbufInitStatic(&strbuf, "STATIC");
{
FF_STRBUF_AUTO_DESTROY other = ffStrbufCreateS("DYNAMIC");
@@ -1147,6 +1138,6 @@ int main(void)
VERIFY(strbuf.allocated == 0);
ffStrbufDestroy(&strbuf);
//Success
// Success
puts("\e[32mAll tests passed!" FASTFETCH_TEXT_MODIFIER_RESET);
}