From edbbe8dcfd30fcfe84f6b62240e22dbf9138677c Mon Sep 17 00:00:00 2001 From: YongDo-Hyun Date: Wed, 26 Nov 2025 20:10:42 +0300 Subject: feat: add local test executable and improve JSON string escaping - Added option to build a local test executable for value assignments. - Enhanced JSON string formatting by escaping special characters. - Updated README with build instructions and prerequisites. - Modified .gitignore to include .vscode directory. - Added file read/write tests in format_test.cpp. - Refactored value assignment logic to reduce code duplication. Signed-off-by: YongDo-Hyun --- test/test_value.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 test/test_value.cpp (limited to 'test/test_value.cpp') diff --git a/test/test_value.cpp b/test/test_value.cpp new file mode 100644 index 0000000000..009cefe8ef --- /dev/null +++ b/test/test_value.cpp @@ -0,0 +1,34 @@ +#include +#include "nbt_tags.h" +#include "value.h" + +using namespace nbt; + +int main() +{ + try { + value v; + + v = int8_t(-5); + std::cout << "assigned int8_t(-5): as int32=" << int32_t(v) << ", as double=" << double(v) << "\n"; + + v = int16_t(12345); + std::cout << "assigned int16_t(12345): as int32=" << int32_t(v) << ", as double=" << double(v) << "\n"; + + v = int32_t(100000); + std::cout << "assigned int32_t(100000): as int64=" << int64_t(v) << ", as double=" << double(v) << "\n"; + + v = float(3.14f); + std::cout << "assigned float(3.14): as double=" << double(v) << "\n"; + + v = double(2.718281828); + std::cout << "assigned double(2.71828): as double=" << double(v) << "\n"; + + std::cout << "Test finished OK\n"; + } + catch(const std::exception& e) { + std::cerr << "Exception: " << e.what() << "\n"; + return 1; + } + return 0; +} -- cgit 0.0.5-2-1-g0f52