#include "runtime_config.h" #include #include namespace { bool Require(bool value, const char* message) { if (!value) { std::cerr << message << '\n'; return false; } return true; } } // namespace int main() { { std::istringstream input("[video]\nmetalfx_spatial_upscaling = true\n"); const RuntimeUserConfig config = RuntimeConfigFile::ParseConfig(input, "enabled.toml"); if (!Require(config.metalFxSpatialUpscaling == std::optional{true}, "valid MetalFX setting was not loaded")) return 1; } { std::istringstream input("[video]\nmetalfx_spatial_upscaling = false\n"); const RuntimeUserConfig config = RuntimeConfigFile::ParseConfig(input, "disabled.toml"); if (!Require(config.metalFxSpatialUpscaling == std::optional{false}, "false MetalFX setting was not loaded")) return 1; } { std::istringstream input("[video]\nmetalfx_spatial_upscaling = \"yes\"\n"); const RuntimeUserConfig config = RuntimeConfigFile::ParseConfig(input, "invalid.toml"); if (!Require(!config.metalFxSpatialUpscaling, "invalid MetalFX setting was accepted")) return 1; } return 0; }