mirror of
				https://github.com/ArthurSonzogni/FTXUI.git
				synced 2025-11-04 13:38:14 +08:00 
			
		
		
		
	Return true when an event a RadioBox is state change due to pressing Return or space. Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
This commit is contained in:
		@@ -103,8 +103,8 @@ class RadioboxBase : public ComponentBase {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    if (event == Event::Character(' ') || event == Event::Return) {
 | 
					    if (event == Event::Character(' ') || event == Event::Return) {
 | 
				
			||||||
      *selected_ = hovered_;
 | 
					      *selected_ = hovered_;
 | 
				
			||||||
      //*selected_ = focused_entry();
 | 
					 | 
				
			||||||
      option_->on_change();
 | 
					      option_->on_change();
 | 
				
			||||||
 | 
					      return true;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return false;
 | 
					    return false;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,106 +11,205 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace ftxui {
 | 
					namespace ftxui {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TEST(RadioboxTest, Navigation) {
 | 
					TEST(RadioboxTest, NavigationArrow) {
 | 
				
			||||||
  int selected = 0;
 | 
					  int selected = 0;
 | 
				
			||||||
  std::vector<std::string> entries = {"1", "2", "3"};
 | 
					  std::vector<std::string> entries = {"1", "2", "3"};
 | 
				
			||||||
  auto radiobox = Radiobox(&entries, &selected);
 | 
					  auto radiobox = Radiobox(&entries, &selected);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // With arrow key.
 | 
					  // Down + Return
 | 
				
			||||||
  EXPECT_EQ(selected, 0);
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
  radiobox->OnEvent(Event::ArrowDown);
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::ArrowDown));
 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 1);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::ArrowDown);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 2);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::ArrowDown);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 2);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::ArrowUp);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 1);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::ArrowUp);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 0);
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
  radiobox->OnEvent(Event::ArrowUp);
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					  EXPECT_EQ(selected, 1);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::ArrowDown));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 1);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
 | 
					  EXPECT_FALSE(radiobox->OnEvent(Event::ArrowDown));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Up + Return
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::ArrowUp));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 1);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::ArrowUp));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 1);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
 | 
					  EXPECT_FALSE(radiobox->OnEvent(Event::ArrowUp));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEST(RadioboxTest, NavigationArrowVim) {
 | 
				
			||||||
 | 
					  int selected = 0;
 | 
				
			||||||
 | 
					  std::vector<std::string> entries = {"1", "2", "3"};
 | 
				
			||||||
 | 
					  auto radiobox = Radiobox(&entries, &selected);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // J + Return
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Character('j')));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 1);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Character('j')));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 1);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
 | 
					  EXPECT_FALSE(radiobox->OnEvent(Event::Character('j')));
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // K + Return
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Character('k')));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 1);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Character('k')));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 1);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
 | 
					  EXPECT_FALSE(radiobox->OnEvent(Event::Character('k')));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEST(RadioboxTest, NavigationTab) {
 | 
				
			||||||
 | 
					  int selected = 0;
 | 
				
			||||||
 | 
					  std::vector<std::string> entries = {"1", "2", "3"};
 | 
				
			||||||
 | 
					  auto radiobox = Radiobox(&entries, &selected);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Tab + Return
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Tab));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 1);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Tab));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 1);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Tab));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Tab));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 1);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Tab));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 1);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // TabReverse + Return
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::TabReverse));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 1);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::TabReverse));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 1);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::TabReverse));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::TabReverse));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 1);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::TabReverse));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 1);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEST(RadioboxTest, NavigationHome) {
 | 
				
			||||||
 | 
					  int selected = 0;
 | 
				
			||||||
 | 
					  std::vector<std::string> entries = {"1", "2", "3"};
 | 
				
			||||||
 | 
					  auto radiobox = Radiobox(&entries, &selected);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  selected = 0;
 | 
				
			||||||
 | 
					  EXPECT_FALSE(radiobox->OnEvent(Event::Home));
 | 
				
			||||||
  EXPECT_EQ(selected, 0);
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // With vim like characters.
 | 
					  selected = 1;
 | 
				
			||||||
  EXPECT_EQ(selected, 0);
 | 
					  EXPECT_FALSE(radiobox->OnEvent(Event::Home));
 | 
				
			||||||
  radiobox->OnEvent(Event::Character('j'));
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 1);
 | 
					  EXPECT_EQ(selected, 1);
 | 
				
			||||||
  radiobox->OnEvent(Event::Character('j'));
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 2);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::Character('j'));
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 2);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::Character('k'));
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 1);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::Character('k'));
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 0);
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
  radiobox->OnEvent(Event::Character('k'));
 | 
					  EXPECT_FALSE(radiobox->OnEvent(Event::Home));
 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
  EXPECT_EQ(selected, 0);
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // With more entries
 | 
					  selected = 2;
 | 
				
			||||||
  entries = {"1", "2", "3"};
 | 
					  EXPECT_FALSE(radiobox->OnEvent(Event::Home));
 | 
				
			||||||
  EXPECT_EQ(selected, 0);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::ArrowDown);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 1);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::ArrowDown);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 2);
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
  radiobox->OnEvent(Event::ArrowDown);
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 2);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::ArrowUp);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 1);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::ArrowUp);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 0);
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
  radiobox->OnEvent(Event::ArrowUp);
 | 
					  EXPECT_FALSE(radiobox->OnEvent(Event::Home));
 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 0);
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // With tab.
 | 
					TEST(RadioboxTest, NavigationEnd) {
 | 
				
			||||||
 | 
					  int selected = 0;
 | 
				
			||||||
 | 
					  std::vector<std::string> entries = {"1", "2", "3"};
 | 
				
			||||||
 | 
					  auto radiobox = Radiobox(&entries, &selected);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  selected = 0;
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::End));
 | 
				
			||||||
  EXPECT_EQ(selected, 0);
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
  radiobox->OnEvent(Event::Tab);
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 1);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::Tab);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 2);
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
  radiobox->OnEvent(Event::Tab);
 | 
					  EXPECT_FALSE(radiobox->OnEvent(Event::End));
 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  selected = 1;
 | 
				
			||||||
 | 
					  EXPECT_FALSE(radiobox->OnEvent(Event::End));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 1);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
 | 
					  EXPECT_FALSE(radiobox->OnEvent(Event::End));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  selected = 2;
 | 
				
			||||||
 | 
					  EXPECT_FALSE(radiobox->OnEvent(Event::End));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEST(RadioboxTest, EventSpace) {
 | 
				
			||||||
 | 
					  int selected = 0;
 | 
				
			||||||
 | 
					  std::vector<std::string> entries = {"1", "2", "3"};
 | 
				
			||||||
 | 
					  auto radiobox = Radiobox(&entries, &selected);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  EXPECT_EQ(selected, 0);
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
  radiobox->OnEvent(Event::Tab);
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::ArrowDown));
 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 1);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::Tab);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 2);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::TabReverse);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 1);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::TabReverse);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 0);
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
  radiobox->OnEvent(Event::TabReverse);
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Character(' ')));
 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 2);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::TabReverse);
 | 
					 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					 | 
				
			||||||
  EXPECT_EQ(selected, 1);
 | 
					  EXPECT_EQ(selected, 1);
 | 
				
			||||||
  radiobox->OnEvent(Event::TabReverse);
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::ArrowDown));
 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					  EXPECT_EQ(selected, 1);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Character(' ')));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
 | 
					  EXPECT_FALSE(radiobox->OnEvent(Event::ArrowDown));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Character(' ')));
 | 
				
			||||||
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TEST(RadioboxTest, RemoveEntries) {
 | 
					TEST(RadioboxTest, RemoveEntries) {
 | 
				
			||||||
@@ -124,9 +223,9 @@ TEST(RadioboxTest, RemoveEntries) {
 | 
				
			|||||||
  EXPECT_EQ(selected, 0);
 | 
					  EXPECT_EQ(selected, 0);
 | 
				
			||||||
  EXPECT_EQ(focused_entry, 0);
 | 
					  EXPECT_EQ(focused_entry, 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  radiobox->OnEvent(Event::ArrowDown);
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::ArrowDown));
 | 
				
			||||||
  radiobox->OnEvent(Event::ArrowDown);
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::ArrowDown));
 | 
				
			||||||
  radiobox->OnEvent(Event::Return);
 | 
					  EXPECT_TRUE(radiobox->OnEvent(Event::Return));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  EXPECT_EQ(selected, 2);
 | 
					  EXPECT_EQ(selected, 2);
 | 
				
			||||||
  EXPECT_EQ(focused_entry, 2);
 | 
					  EXPECT_EQ(focused_entry, 2);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user