FFstrbuf: add new methods ffStrbufPrependC and ffStrbufInsertNC

This commit is contained in:
李通洲
2024-09-26 14:34:51 +08:00
parent 8295f66320
commit 4d7d367e72
3 changed files with 49 additions and 0 deletions
+26
View File
@@ -279,6 +279,20 @@ int main(void)
VERIFY(ffStrbufEqualS(&strbuf, "TEST_TEST"));
VERIFY(strbuf.length == 9);
VERIFY(strbuf.allocated >= 10);
ffStrbufAppendC(&strbuf, '_');
VERIFY(ffStrbufEqualS(&strbuf, "TEST_TEST_"));
ffStrbufDestroy(&strbuf);
VERIFY(strbuf.length == 0);
VERIFY(strbuf.allocated == 0);
//ffStrbufCreateStatic / Prepend
ffStrbufInitStatic(&strbuf, "TEST");
ffStrbufPrependS(&strbuf, "TEST_");
VERIFY(ffStrbufEqualS(&strbuf, "TEST_TEST"));
VERIFY(strbuf.length == 9);
VERIFY(strbuf.allocated >= 10);
ffStrbufPrependC(&strbuf, '_');
VERIFY(ffStrbufEqualS(&strbuf, "_TEST_TEST"));
ffStrbufDestroy(&strbuf);
VERIFY(strbuf.length == 0);
VERIFY(strbuf.allocated == 0);
@@ -416,6 +430,18 @@ int main(void)
VERIFY(ffStrbufEqualS(&strbuf, "__TEST__"));
ffStrbufDestroy(&strbuf);
//ffStrbufInsertNC
ffStrbufInitStatic(&strbuf, "123456");
ffStrbufInsertNC(&strbuf, 0, 2, 'A');
VERIFY(ffStrbufEqualS(&strbuf, "AA123456"));
ffStrbufInsertNC(&strbuf, 4, 2, 'B');
VERIFY(ffStrbufEqualS(&strbuf, "AA12BB3456"));
ffStrbufInsertNC(&strbuf, strbuf.length, 2, 'C');
VERIFY(ffStrbufEqualS(&strbuf, "AA12BB3456CC"));
ffStrbufInsertNC(&strbuf, 999, 2, 'D');
VERIFY(ffStrbufEqualS(&strbuf, "AA12BB3456CCDD"));
ffStrbufDestroy(&strbuf);
//Success
puts("\e[32mAll tests passed!" FASTFETCH_TEXT_MODIFIER_RESET);
}