Sync editor rendering and UI workspace updates
This commit is contained in:
@@ -37,6 +37,58 @@ TEST(UISelectionModelTest, ToggleSelectionSelectsAndDeselectsMatchingId) {
|
||||
EXPECT_EQ(selection.GetSelectedId(), "treeMaterials");
|
||||
EXPECT_TRUE(selection.ToggleSelection("treeUi"));
|
||||
EXPECT_EQ(selection.GetSelectedId(), "treeUi");
|
||||
ASSERT_EQ(selection.GetSelectedIds().size(), 1u);
|
||||
EXPECT_EQ(selection.GetSelectedIds()[0], "treeUi");
|
||||
}
|
||||
|
||||
TEST(UISelectionModelTest, MultiSelectionTracksMembershipAndPrimarySelection) {
|
||||
UISelectionModel selection = {};
|
||||
|
||||
EXPECT_TRUE(selection.AddSelection("scene", true));
|
||||
EXPECT_TRUE(selection.AddSelection("camera"));
|
||||
EXPECT_TRUE(selection.AddSelection("lights"));
|
||||
EXPECT_EQ(selection.GetSelectionCount(), 3u);
|
||||
EXPECT_TRUE(selection.HasMultipleSelection());
|
||||
EXPECT_TRUE(selection.IsSelected("scene"));
|
||||
EXPECT_TRUE(selection.IsSelected("camera"));
|
||||
EXPECT_TRUE(selection.IsSelected("lights"));
|
||||
EXPECT_EQ(selection.GetSelectedId(), "scene");
|
||||
|
||||
EXPECT_TRUE(selection.SetPrimarySelection("lights"));
|
||||
EXPECT_EQ(selection.GetSelectedId(), "lights");
|
||||
EXPECT_FALSE(selection.SetPrimarySelection("missing"));
|
||||
}
|
||||
|
||||
TEST(UISelectionModelTest, SetSelectionsNormalizesDuplicatesAndKeepsRequestedPrimary) {
|
||||
UISelectionModel selection = {};
|
||||
|
||||
EXPECT_TRUE(selection.SetSelections(
|
||||
{ "", "camera", "lights", "camera", "sun" },
|
||||
"lights"));
|
||||
ASSERT_EQ(selection.GetSelectedIds().size(), 3u);
|
||||
EXPECT_EQ(selection.GetSelectedIds()[0], "camera");
|
||||
EXPECT_EQ(selection.GetSelectedIds()[1], "lights");
|
||||
EXPECT_EQ(selection.GetSelectedIds()[2], "sun");
|
||||
EXPECT_EQ(selection.GetSelectedId(), "lights");
|
||||
|
||||
EXPECT_TRUE(selection.SetSelections({ "camera", "sun" }));
|
||||
EXPECT_EQ(selection.GetSelectedId(), "sun");
|
||||
}
|
||||
|
||||
TEST(UISelectionModelTest, RemovingPrimaryFallsBackToMostRecentlyAddedRemainingItem) {
|
||||
UISelectionModel selection = {};
|
||||
|
||||
EXPECT_TRUE(selection.SetSelections({ "scene", "camera", "lights" }, "camera"));
|
||||
EXPECT_TRUE(selection.RemoveSelection("camera"));
|
||||
EXPECT_TRUE(selection.IsSelected("scene"));
|
||||
EXPECT_TRUE(selection.IsSelected("lights"));
|
||||
EXPECT_FALSE(selection.IsSelected("camera"));
|
||||
EXPECT_EQ(selection.GetSelectedId(), "lights");
|
||||
|
||||
EXPECT_TRUE(selection.RemoveSelection("lights"));
|
||||
EXPECT_EQ(selection.GetSelectedId(), "scene");
|
||||
EXPECT_TRUE(selection.RemoveSelection("scene"));
|
||||
EXPECT_FALSE(selection.HasSelection());
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
Reference in New Issue
Block a user