/
dieoska
/
ddnet
Обзор
Документация
Войти
/
dieoska
/
ddnet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/test/csv_test.cpp
68 строк
1 KB
ChillerDragon
Add test suffix
22 ноя 2025, 16:34
22 ноя 2025, 16:34
7b943a4
Код
Авторство
О чём код?
#include "test.h" #include <base/system.h> #include <engine/shared/csv.h> #include <gtest/gtest.h> static void Expect(int NumColumns, const char *const *ppColumns, const char *pExpected) { CTestInfo Info; IOHANDLE File = io_open(Info.m_aFilename, IOFLAG_WRITE); ASSERT_TRUE(File); CsvWrite(File, NumColumns, ppColumns); io_close(File); char aBuf[1024]; File = io_open(Info.m_aFilename, IOFLAG_READ); ASSERT_TRUE(File); int Read = io_read(File, aBuf, sizeof(aBuf)); io_close(File); fs_remove(Info.m_aFilename); ASSERT_TRUE(Read >= 1); Read -= 1; ASSERT_EQ(aBuf[Read], '\n'); aBuf[Read] = 0; #if defined(CONF_FAMILY_WINDOWS) ASSERT_TRUE(Read >= 1); Read -= 1; ASSERT_EQ(aBuf[Read], '\r'); aBuf[Read] = 0; #endif for(int i = 0; i < Read; i++) { EXPECT_NE(aBuf[i], 0); } EXPECT_STREQ(aBuf, pExpected); } TEST(Csv, Simple) { const char *apCols1[] = {"a", "b"}; Expect(2, apCols1, "a,b"); const char *apCols2[] = {"こんにちは"}; Expect(1, apCols2, "こんにちは"); const char *apCols3[] = {"я", "", "й"}; Expect(3, apCols3, "я,,й"); const char *apCols4[] = {""}; Expect(1, apCols4, ""); const char *apCols5[] = {nullptr}; Expect(0, apCols5, ""); } TEST(Csv, LetTheQuotingBegin) { const char *apCols1[] = {"\""}; Expect(1, apCols1, "\"\"\"\""); const char *apCols2[] = {","}; Expect(1, apCols2, "\",\""); const char *apCols3[] = {",,", ",\"\"\""}; Expect(2, apCols3, "\",,\",\",\"\"\"\"\"\"\""); const char *apCols4[] = {"\",", " "}; Expect(2, apCols4, "\"\"\",\", "); }