Files
OrcaSlicer/tests/libslic3r/test_appconfig.cpp
T
Hanif Koh 59deff0694 Add Missing Includes Across the Remaining Sources and Tests
Covers src/slic3r/Utils, src/slic3r/plugin, src/slic3r/Config, src/libvgcode, src/dev-utils, src/OrcaSlicer.cpp and tests/, the directories left after src/slic3r/GUI and src/libslic3r. Generated with clang-tidy misc-include-cleaner. libvgcode's own headers are included by relative path as in the rest of that library, and Catch2 and pybind11 with angle brackets as elsewhere in the repo.
2026-10-02 15:41:30 +08:00

85 lines
2.9 KiB
C++

#include <catch2/catch_all.hpp>
#include <catch2/catch_test_macros.hpp>
#include "libslic3r/AppConfig.hpp"
using namespace Slic3r;
TEST_CASE("AppConfig network version helpers", "[AppConfig]") {
AppConfig config;
SECTION("skipped versions starts empty") {
auto skipped = config.get_skipped_network_versions();
REQUIRE(skipped.empty());
}
SECTION("add and check skipped version") {
config.add_skipped_network_version("02.01.01.52");
REQUIRE(config.is_network_version_skipped("02.01.01.52"));
REQUIRE_FALSE(config.is_network_version_skipped("02.03.00.62"));
}
SECTION("multiple skipped versions") {
config.add_skipped_network_version("02.01.01.52");
config.add_skipped_network_version("02.00.02.50");
auto skipped = config.get_skipped_network_versions();
REQUIRE(skipped.size() == 2);
REQUIRE(config.is_network_version_skipped("02.01.01.52"));
REQUIRE(config.is_network_version_skipped("02.00.02.50"));
}
SECTION("clear skipped versions") {
config.add_skipped_network_version("02.01.01.52");
config.clear_skipped_network_versions();
REQUIRE_FALSE(config.is_network_version_skipped("02.01.01.52"));
}
SECTION("duplicate add is idempotent") {
config.add_skipped_network_version("02.01.01.52");
config.add_skipped_network_version("02.01.01.52");
auto skipped = config.get_skipped_network_versions();
REQUIRE(skipped.size() == 1);
REQUIRE(config.is_network_version_skipped("02.01.01.52"));
}
}
TEST_CASE("AppConfig Speed Dial recent count defaults, clamps and parses", "[AppConfig]") {
AppConfig config;
SECTION("unset falls back to the default") {
REQUIRE(config.get_speed_dial_recent_count() == SPEED_DIAL_RECENT_COUNT_DEFAULT);
}
SECTION("zero disables recents") {
config.set(SETTING_SPEED_DIAL_RECENT_COUNT, "0");
REQUIRE(config.get_speed_dial_recent_count() == 0);
}
SECTION("a value in range is returned as-is") {
config.set(SETTING_SPEED_DIAL_RECENT_COUNT, "7");
REQUIRE(config.get_speed_dial_recent_count() == 7);
}
SECTION("the maximum is kept") {
config.set(SETTING_SPEED_DIAL_RECENT_COUNT, "10");
REQUIRE(config.get_speed_dial_recent_count() == SPEED_DIAL_RECENT_COUNT_MAX);
}
SECTION("values above the maximum clamp down") {
config.set(SETTING_SPEED_DIAL_RECENT_COUNT, "42");
REQUIRE(config.get_speed_dial_recent_count() == SPEED_DIAL_RECENT_COUNT_MAX);
}
SECTION("negative values clamp up to 0") {
config.set(SETTING_SPEED_DIAL_RECENT_COUNT, "-3");
REQUIRE(config.get_speed_dial_recent_count() == 0);
}
SECTION("garbage falls back to the default") {
config.set(SETTING_SPEED_DIAL_RECENT_COUNT, "abc");
REQUIRE(config.get_speed_dial_recent_count() == SPEED_DIAL_RECENT_COUNT_DEFAULT);
}
}