25 lines
975 B
C++
25 lines
975 B
C++
#include <gtest/gtest.h>
|
|
#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);
|
|
}
|