- add compiler hint for checking the arguments of printf. - change the return value of printf. from std::expected to normal value. use C++ exception to indicate error. * the error of printf usually caused by programmer. so it can be found when testing program. * so i use std::logic_error to indicate this and programmer should fix this before releasing program. - change the use of encoding convertion. for those cases that convertion must be safe, we unwrap it directly.
22 lines
439 B
C++
22 lines
439 B
C++
#include <gtest/gtest.h>
|
|
#include <yycc.hpp>
|
|
#include <yycc/string/op.hpp>
|
|
#include <yycc/patch/ptr_pad.hpp>
|
|
#include <cinttypes>
|
|
|
|
#define OP ::yycc::string::op
|
|
|
|
namespace yycctest::patch::ptr_pad {
|
|
|
|
TEST(PatchPtrPad, Normal) {
|
|
auto rv = OP::printf(u8"0x%" PRIXPTR_LPAD PRIXPTR, nullptr);
|
|
|
|
#if defined(YYCC_PTRSIZE_32)
|
|
EXPECT_EQ(rv, u8"0x00000000");
|
|
#else
|
|
EXPECT_EQ(rv, u8"0x0000000000000000");
|
|
#endif
|
|
}
|
|
|
|
}
|