[ox] Add StringView, Writer system, Preloader system
This commit is contained in:
35
deps/ox/src/ox/std/test/tests.cpp
vendored
35
deps/ox/src/ox/std/test/tests.cpp
vendored
@@ -11,7 +11,7 @@
|
||||
#include <map>
|
||||
#include <ox/std/std.hpp>
|
||||
|
||||
std::map<ox::String, ox::Error(*)()> tests = {
|
||||
static std::map<ox::String, ox::Error(*)()> tests = {
|
||||
{
|
||||
"malloc",
|
||||
[] {
|
||||
@@ -122,6 +122,39 @@ std::map<ox::String, ox::Error(*)()> tests = {
|
||||
return OxError(0);
|
||||
}
|
||||
},
|
||||
{
|
||||
"Serialize-Int",
|
||||
[] {
|
||||
using BA = ox::Array<char, 4>;
|
||||
const auto actual = ox::serialize<uint32_t>(256).unwrap();
|
||||
oxOutf("[{}, {}, {}, {}]", static_cast<int>(actual[0]), static_cast<int>(actual[1]), static_cast<int>(actual[2]), static_cast<int>(actual[3]));
|
||||
oxExpect(ox::serialize<int32_t>(4).unwrap(), BA({4, 0, 0, 0}));
|
||||
oxExpect(ox::serialize<int32_t>(256).unwrap(), BA({0, 1, 0, 0}));
|
||||
oxExpect(ox::serialize<int32_t>(257).unwrap(), BA({1, 1, 0, 0}));
|
||||
oxExpect(ox::serialize<uint32_t>(4).unwrap(), BA({4, 0, 0, 0}));
|
||||
oxExpect(ox::serialize<uint32_t>(256).unwrap(), BA({0, 1, 0, 0}));
|
||||
oxExpect(ox::serialize<uint32_t>(257).unwrap(), BA({1, 1, 0, 0}));
|
||||
oxExpect(ox::serialize<uint32_t>(0xffff'ffff).unwrap(), BA({-1, -1, -1, -1}));
|
||||
return OxError(0);
|
||||
}
|
||||
},
|
||||
{
|
||||
"BufferWriter",
|
||||
[] {
|
||||
ox::Buffer b;
|
||||
ox::BufferWriter w(&b);
|
||||
oxAssert(w.write("asdf", 4), "write failed");
|
||||
oxExpect(b.size(), 4u);
|
||||
oxAssert(w.write("aoeu", 4), "write failed");
|
||||
oxExpect(b.size(), 8u);
|
||||
oxExpect(ox::StringView(b.data(), b.size()), "asdfaoeu");
|
||||
ox::StringView qwerty = "qwerty";
|
||||
oxAssert(w.write(qwerty.data(), qwerty.bytes()), "write failed");
|
||||
oxExpect(b.size(), 14u);
|
||||
oxExpect(ox::StringView(b.data(), b.size()), "asdfaoeuqwerty");
|
||||
return OxError(0);
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
int main(int argc, const char **args) {
|
||||
|
||||
Reference in New Issue
Block a user