settings_test.cpp 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*
  2. * Copyright 2010-2018 Branimir Karadzic. All rights reserved.
  3. * License: https://github.com/bkaradzic/bx#license-bsd-2-clause
  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) )
  19. {
  20. bx::write(&writer, settings);
  21. bx::close(&writer);
  22. }
  23. REQUIRE(NULL == settings.get("meh") );
  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(NULL == settings.get("meh/podmac") );
  28. settings.clear();
  29. bx::FileReader reader;
  30. if (bx::open(&reader, filePath) )
  31. {
  32. bx::read(&reader, settings);
  33. bx::close(&reader);
  34. }
  35. REQUIRE(NULL == settings.get("meh") );
  36. REQUIRE(0 == bx::strCmp(settings.get("meh/podmac"), "true") );
  37. REQUIRE(0 == bx::strCmp(settings.get("test/foo/bar/abvgd"), "1389") );
  38. }