settings_test.cpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*
  2. * Copyright 2010-2025 Branimir Karadzic. All rights reserved.
  3. * License: https://github.com/bkaradzic/bx/blob/master/LICENSE
  4. */
  5. #include "test.h"
  6. #include <bx/settings.h>
  7. #include <bx/file.h>
  8. TEST_CASE("Settings", "")
  9. {
  10. bx::FilePath filePath;
  11. filePath.set(bx::Dir::Temp);
  12. filePath.join("settings.ini");
  13. bx::DefaultAllocator allocator;
  14. bx::Settings settings(&allocator);
  15. settings.set("meh/podmac", "true");
  16. settings.set("test/foo/bar/abvgd", "1389");
  17. bx::FileWriter writer;
  18. if (bx::open(&writer, filePath, false, bx::ErrorIgnore{}) )
  19. {
  20. bx::write(&writer, settings, bx::ErrorIgnore{});
  21. bx::close(&writer);
  22. }
  23. REQUIRE(settings.get("meh").isEmpty() );
  24. REQUIRE(0 == bx::strCmp(settings.get("meh/podmac"), "true") );
  25. REQUIRE(0 == bx::strCmp(settings.get("test/foo/bar/abvgd"), "1389") );
  26. settings.remove("meh/podmac");
  27. REQUIRE(settings.get("meh/podmac").isEmpty() );
  28. settings.clear();
  29. bx::FileReader reader;
  30. if (bx::open(&reader, filePath, bx::ErrorIgnore{}) )
  31. {
  32. bx::read(&reader, settings, bx::ErrorIgnore{});
  33. bx::close(&reader);
  34. }
  35. REQUIRE(settings.get("meh").isEmpty() );
  36. REQUIRE(0 == bx::strCmp(settings.get("meh/podmac"), "true") );
  37. REQUIRE(0 == bx::strCmp(settings.get("test/foo/bar/abvgd"), "1389") );
  38. }