@@ -3302,7 +3302,7 @@ void RegisterTests_Widgets(ImGuiTestEngine* e)
33023302 ImGuiListClipper clipper;
33033303 clipper.Begin (ITEMS_COUNT);
33043304 if (ms_io->RangeSrcItem > 0 )
3305- clipper.IncludeByIndex (selection.ItemDataToIndex (ms_io->RangeSrcItem ));
3305+ clipper.IncludeItemByIndex (selection.ItemDataToIndex (ms_io->RangeSrcItem ));
33063306 while (clipper.Step ())
33073307 {
33083308 for (int item_n = clipper.DisplayStart ; item_n < clipper.DisplayEnd ; item_n++)
@@ -3570,6 +3570,20 @@ void RegisterTests_Widgets(ImGuiTestEngine* e)
35703570 ctx->KeyPress (ImGuiMod_Ctrl | ImGuiKey_A);
35713571 IM_CHECK_EQ (selection0.SelectionSize , 1 );
35723572 IM_CHECK_EQ (selection1.SelectionSize , 10 );
3573+
3574+ // Check leaving a scope with keyboard directional move
3575+ // May need to clarify how this behave depending on "leaving" source, as mouse clicks don't impact this.
3576+ #if IMGUI_VERSION_NUM >= 18983
3577+ ctx->ItemClick (" Scope 1/Object 0000" );
3578+ IM_CHECK_EQ (selection0.SelectionSize , 1 );
3579+ IM_CHECK_EQ (selection1.SelectionSize , 1 );
3580+ ctx->KeyPress (ImGuiKey_UpArrow);
3581+ IM_CHECK_EQ (selection0.SelectionSize , 1 );
3582+ IM_CHECK_EQ (selection1.SelectionSize , 0 );
3583+ ctx->KeyPress (ImGuiKey_DownArrow);
3584+ IM_CHECK_EQ (selection0.SelectionSize , 0 );
3585+ IM_CHECK_EQ (selection1.SelectionSize , 1 );
3586+ #endif
35733587 };
35743588
35753589 // Test mouse-right click on unfocused window
0 commit comments