mirror of
https://github.com/mudita/MuditaOS.git
synced 2026-06-28 10:17:24 -04:00
* [EGD-2420] tokenizer refactoring new class CellularCall * [EDG-2420] new file added * [EGD-2420] fixed include * [EGD-2420] added new ModemCall type and its usage in Sevice Cellular. missing dep in module-cellular. Fix in tokenizer. * [EGD-2420] get calllogrecordID one adding new entry to DB number as contact name * [EGD-2420] fixes at DB level api for update and delete Outgoing call seems to add proper calllog entries now * [EGD-2420][fix] fix for HF during call before full modem init * [EGD-2420] incoming and missed calls are handled code clean-up * [EGD-2420] ModemCall::to_string * [EGD-2420] added proper exceptions * [EGD-2420] minor clean up * [EGD-2420] split string with multichar delimiter * [EGD-2420] done some TODOs * [EGD-2420] PR fixes * [EGD-2420] separation between cellularcall and cellularservice PR fixes * [EGD-2420] duration based on timestamp instead of timer * [EGD-2420] new to_strings * [EGD-2420] fixes after rebase * [EGD-2420] operator<< * [EGD-2420] changed split params * [EGD-2420] changed returned db id * [EGD-2420] comment with explantaion
81 lines
2.2 KiB
C++
81 lines
2.2 KiB
C++
|
|
#include <cstring>
|
|
#include <iostream>
|
|
#include <memory>
|
|
#include <unistd.h>
|
|
|
|
#define CATCH_CONFIG_MAIN // This tells Catch to provide a main() - only do this in one cpp file
|
|
|
|
#include "catch.hpp"
|
|
|
|
#include "Utils.hpp"
|
|
|
|
TEST_CASE("Split tests")
|
|
{
|
|
std::string delimiter = "\r\n";
|
|
|
|
std::string inputStr1 = "\r\nOK\r\n\r\nNO CARRIER\r\n\r\nFINISHED\r\n";
|
|
auto ret = utils::split(inputStr1, delimiter, 0, false);
|
|
REQUIRE(ret.size() == 7);
|
|
REQUIRE(ret[0] == "");
|
|
REQUIRE(ret[1] == "OK");
|
|
REQUIRE(ret[2] == "");
|
|
REQUIRE(ret[3] == "NO CARRIER");
|
|
REQUIRE(ret[4] == "");
|
|
REQUIRE(ret[5] == "FINISHED");
|
|
REQUIRE(ret[6] == "");
|
|
|
|
inputStr1 = "\r\nOK\r\n\r\nNO CARRIER\r\n\r\nFINISHED\r\n";
|
|
ret = utils::split(inputStr1, delimiter);
|
|
REQUIRE(ret.size() == 3);
|
|
REQUIRE(ret[0] == "OK");
|
|
REQUIRE(ret[1] == "NO CARRIER");
|
|
REQUIRE(ret[2] == "FINISHED");
|
|
|
|
inputStr1 = "\r\nOK\r\n\r\nNO CARRIER\r\n\r\nFINISHED\r\n";
|
|
ret = utils::split(inputStr1, delimiter, 2, false);
|
|
REQUIRE(ret.size() == 2);
|
|
REQUIRE(ret[0] == "");
|
|
REQUIRE(ret[1] == "OK");
|
|
|
|
inputStr1 = "\r\nOK\r\n\r\nNO CARRIER\r\n\r\nFINISHED\r\n";
|
|
ret = utils::split(inputStr1, delimiter, 2);
|
|
REQUIRE(ret.size() == 2);
|
|
REQUIRE(ret[0] == "OK");
|
|
REQUIRE(ret[1] == "NO CARRIER");
|
|
|
|
ret = utils::split("a-b-c", "-");
|
|
REQUIRE(ret.size() == 3);
|
|
REQUIRE(ret[0] == "a");
|
|
REQUIRE(ret[1] == "b");
|
|
REQUIRE(ret[2] == "c");
|
|
|
|
ret = utils::split("a--c", "-", 0, false);
|
|
REQUIRE(ret.size() == 3);
|
|
REQUIRE(ret[0] == "a");
|
|
REQUIRE(ret[1] == "");
|
|
REQUIRE(ret[2] == "c");
|
|
|
|
ret = utils::split("a--c", "-");
|
|
REQUIRE(ret.size() == 2);
|
|
REQUIRE(ret[0] == "a");
|
|
REQUIRE(ret[1] == "c");
|
|
|
|
ret = utils::split("-b-", "-", 0, false);
|
|
REQUIRE(ret.size() == 3);
|
|
REQUIRE(ret[0] == "");
|
|
REQUIRE(ret[1] == "b");
|
|
REQUIRE(ret[2] == "");
|
|
|
|
ret = utils::split("-b-", "-");
|
|
REQUIRE(ret.size() == 1);
|
|
REQUIRE(ret[0] == "b");
|
|
|
|
ret = utils::split("", "-", 0, false);
|
|
REQUIRE(ret.size() == 1);
|
|
REQUIRE(ret[0] == "");
|
|
|
|
ret = utils::split("", "-");
|
|
REQUIRE(ret.size() == 0);
|
|
}
|