mirror of
				https://github.com/ArthurSonzogni/FTXUI.git
				synced 2025-11-01 02:58:12 +08:00 
			
		
		
		
	Add ToggleTest.
This commit is contained in:
		 ArthurSonzogni
					ArthurSonzogni
				
			
				
					committed by
					
						 Arthur Sonzogni
						Arthur Sonzogni
					
				
			
			
				
	
			
			
			 Arthur Sonzogni
						Arthur Sonzogni
					
				
			
						parent
						
							f48bfcff10
						
					
				
				
					commit
					6600e4fc03
				
			
							
								
								
									
										75
									
								
								src/ftxui/component/toggle_test.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								src/ftxui/component/toggle_test.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,75 @@ | ||||
| #include "ftxui/component/toggle.hpp" | ||||
|  | ||||
| #include "gtest/gtest.h" | ||||
|  | ||||
| using namespace ftxui; | ||||
| using namespace ftxui; | ||||
|  | ||||
| TEST(ToggleTest, leftRightArrow) { | ||||
|   Toggle toggle; | ||||
|  | ||||
|   // With arrow key. | ||||
|   EXPECT_EQ(toggle.selected, 0); | ||||
|   toggle.OnEvent(Event::ArrowRight); | ||||
|   EXPECT_EQ(toggle.selected, 1); | ||||
|   toggle.OnEvent(Event::ArrowRight); | ||||
|   EXPECT_EQ(toggle.selected, 1); | ||||
|   toggle.OnEvent(Event::ArrowLeft); | ||||
|   EXPECT_EQ(toggle.selected, 0); | ||||
|   toggle.OnEvent(Event::ArrowLeft); | ||||
|   EXPECT_EQ(toggle.selected, 0); | ||||
|  | ||||
|   // With vim like characters. | ||||
|   EXPECT_EQ(toggle.selected, 0); | ||||
|   toggle.OnEvent(Event::Character('l')); | ||||
|   EXPECT_EQ(toggle.selected, 1); | ||||
|   toggle.OnEvent(Event::Character('l')); | ||||
|   EXPECT_EQ(toggle.selected, 1); | ||||
|   toggle.OnEvent(Event::Character('h')); | ||||
|   EXPECT_EQ(toggle.selected, 0); | ||||
|   toggle.OnEvent(Event::Character('h')); | ||||
|   EXPECT_EQ(toggle.selected, 0); | ||||
|  | ||||
|   // With more entries | ||||
|   toggle.entries = {L"1", L"2", L"3"}; | ||||
|   EXPECT_EQ(toggle.selected, 0); | ||||
|   toggle.OnEvent(Event::ArrowRight); | ||||
|   EXPECT_EQ(toggle.selected, 1); | ||||
|   toggle.OnEvent(Event::ArrowRight); | ||||
|   EXPECT_EQ(toggle.selected, 2); | ||||
|   toggle.OnEvent(Event::ArrowRight); | ||||
|   EXPECT_EQ(toggle.selected, 2); | ||||
|   toggle.OnEvent(Event::ArrowLeft); | ||||
|   EXPECT_EQ(toggle.selected, 1); | ||||
|   toggle.OnEvent(Event::ArrowLeft); | ||||
|   EXPECT_EQ(toggle.selected, 0); | ||||
|   toggle.OnEvent(Event::ArrowLeft); | ||||
|   EXPECT_EQ(toggle.selected, 0); | ||||
| } | ||||
|  | ||||
| TEST(ToggleTest, Tab) { | ||||
|   Toggle toggle; | ||||
|   toggle.entries = {L"1", L"2", L"3"}; | ||||
|  | ||||
|   EXPECT_EQ(toggle.selected, 0); | ||||
|   toggle.OnEvent(Event::Tab); | ||||
|   EXPECT_EQ(toggle.selected, 1); | ||||
|   toggle.OnEvent(Event::Tab); | ||||
|   EXPECT_EQ(toggle.selected, 2); | ||||
|   toggle.OnEvent(Event::Tab); | ||||
|   EXPECT_EQ(toggle.selected, 0); | ||||
|   toggle.OnEvent(Event::Tab); | ||||
|   EXPECT_EQ(toggle.selected, 1); | ||||
|   toggle.OnEvent(Event::Tab); | ||||
|   EXPECT_EQ(toggle.selected, 2); | ||||
|   toggle.OnEvent(Event::TabReverse); | ||||
|   EXPECT_EQ(toggle.selected, 1); | ||||
|   toggle.OnEvent(Event::TabReverse); | ||||
|   EXPECT_EQ(toggle.selected, 0); | ||||
|   toggle.OnEvent(Event::TabReverse); | ||||
|   EXPECT_EQ(toggle.selected, 2); | ||||
|   toggle.OnEvent(Event::TabReverse); | ||||
|   EXPECT_EQ(toggle.selected, 1); | ||||
|   toggle.OnEvent(Event::TabReverse); | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user