#include #include "panels/columns/SectionIconBar.hpp" using geopro::app::visibleIconCount; TEST(SectionIconBar, ShowsAllWhenWideEnoughAndUnderMax) { // 3 图标, 宽 1000, 每个 30, 溢出 30, max 3 → 全显 EXPECT_EQ(visibleIconCount(3, 1000, 30, 30, 3), 3); } TEST(SectionIconBar, CapsAtMaxIcons) { // 5 图标但 max 3, 宽足够 → 显 3, 其余 2 进溢出(此时需留溢出位) EXPECT_EQ(visibleIconCount(5, 1000, 30, 30, 3), 3); } TEST(SectionIconBar, FoldsRightWhenNarrow) { // 3 图标, max 3, 但宽只够 2 个 + 溢出: 75px, 30 each, overflow 30 → 2*30+30=90>75 → 1*30+30=60<=75 → 1 EXPECT_EQ(visibleIconCount(3, 75, 30, 30, 3), 1); } TEST(SectionIconBar, NoOverflowReserveWhenAllFit) { // 2 图标全显且 <=max, 不需溢出位: 宽 60 恰好 2*30 EXPECT_EQ(visibleIconCount(2, 60, 30, 30, 3), 2); } TEST(SectionIconBar, ZeroWhenTooNarrow) { EXPECT_EQ(visibleIconCount(3, 20, 30, 30, 3), 0); }