mirror of
https://github.com/EnderIce2/Fennix.git
synced 2025-07-16 01:31:42 +00:00
.github
.vscode
Architecture
Core
Execute
FileSystem
Files
GUI
Library
Network
Profiling
Recovery
SystemCalls
Tasking
Tests
RandomNumberGenerator.cpp
String.cpp
TypeSize.cpp
t.h
include
.gitignore
DAPI.hpp
Doxyfile
Fex.hpp
KConfig.cpp
KThread.cpp
Kernel.cpp
LICENSE
Makefile
README.md
dump.sh
ipc.h
kernel.h
syscalls.h
111 lines
2.3 KiB
C++
111 lines
2.3 KiB
C++
#ifdef DEBUG
|
|
|
|
#include <string.hpp>
|
|
#include <debug.h>
|
|
|
|
void TestString()
|
|
{
|
|
String hw("Hello, world!");
|
|
debug("String length: %d", hw.length());
|
|
debug("String capacity: %d", hw.capacity());
|
|
debug("String data: %s", hw.c_str());
|
|
if (hw == "Hello, world!" && hw != "World, hello!")
|
|
debug("String comparison works!");
|
|
else
|
|
{
|
|
error("String comparison doesn't work! \"%s\"", hw.c_str());
|
|
while (1)
|
|
;
|
|
}
|
|
|
|
String hi("Hi");
|
|
char chi[3];
|
|
chi[0] = hi[0];
|
|
chi[1] = hi[1];
|
|
chi[2] = '\0';
|
|
if (strcmp(chi, "Hi") == 0)
|
|
debug("String indexing works!");
|
|
else
|
|
{
|
|
error("String indexing doesn't work! \"%s\" \"%s\"", chi, hi.c_str());
|
|
while (1)
|
|
;
|
|
}
|
|
|
|
hi << " there!";
|
|
if (hi == "Hi there!")
|
|
debug("String concatenation works!");
|
|
else
|
|
{
|
|
error("String concatenation doesn't work! \"%s\"", hi.c_str());
|
|
while (1)
|
|
;
|
|
}
|
|
|
|
hi << " " << hw;
|
|
if (hi == "Hi there! Hello, world!")
|
|
debug("String concatenation works!");
|
|
else
|
|
{
|
|
error("String concatenation doesn't work! \"%s\"", hi.c_str());
|
|
while (1)
|
|
;
|
|
}
|
|
|
|
String eq0("Hello, world!");
|
|
String eq1("Hello, world!");
|
|
String eq2("World, hello!");
|
|
|
|
if (eq0 == eq1)
|
|
debug("String equality works!");
|
|
else
|
|
{
|
|
error("String equality doesn't work! \"%s\" \"%s\"", eq0.c_str(), eq1.c_str());
|
|
while (1)
|
|
;
|
|
}
|
|
|
|
if (eq0 != eq2)
|
|
debug("String inequality works!");
|
|
else
|
|
{
|
|
error("String inequality doesn't work! \"%s\" \"%s\"", eq0.c_str(), eq2.c_str());
|
|
while (1)
|
|
;
|
|
}
|
|
|
|
char chw[14];
|
|
int i = 0;
|
|
foreach (auto c in hw)
|
|
{
|
|
chw[i] = c;
|
|
i++;
|
|
}
|
|
chw[i] = '\0';
|
|
|
|
if (strcmp(chw, "Hello, world!") == 0)
|
|
debug("String iteration works!");
|
|
else
|
|
{
|
|
error("String iteration doesn't work! \"%s\" \"%s\" %d", chw, hw.c_str(), i);
|
|
while (1)
|
|
;
|
|
}
|
|
|
|
String a("Hello");
|
|
String b("World");
|
|
String c;
|
|
c = a + ", " + b + "!";
|
|
|
|
if (c == "Hello, World!")
|
|
debug("String addition works!");
|
|
else
|
|
{
|
|
error("String addition doesn't work! \"%s\"", c.c_str());
|
|
while (1)
|
|
;
|
|
}
|
|
}
|
|
|
|
#endif // DEBUG
|