File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -100,6 +100,36 @@ TEST_CASE("paths can be matched", "[path]") {
100100 REQUIRE (tester.callback4_invoked == true );
101101 }
102102
103+ SECTION (" invoking a lambda" ) {
104+ bool callback1_invoked{false };
105+ bool callback2_invoked{false };
106+ std::size_t number{};
107+
108+ auto callback1 = [&callback1_invoked]() { callback1_invoked = true ; };
109+ auto callback2 = [&callback2_invoked, &number](std::size_t input) {
110+ callback2_invoked = true ;
111+ number = input;
112+ };
113+
114+ table.add <&decltype (callback1)::operator ()>(" /callback/1" , &callback1);
115+ table.add <&decltype (callback2)::operator ()>(" /callback/2/{\\ d+}" ,
116+ &callback2);
117+
118+ REQUIRE (callback1_invoked == false );
119+ REQUIRE (callback2_invoked == false );
120+
121+ table.route (" /callback/1" );
122+
123+ REQUIRE (callback1_invoked == true );
124+ REQUIRE (callback2_invoked == false );
125+
126+ table.route (" /callback/2/5" );
127+
128+ REQUIRE (callback1_invoked == true );
129+ REQUIRE (callback2_invoked == true );
130+ REQUIRE (number == 5 );
131+ }
132+
103133 SECTION (" invoking a member function with slug" ) {
104134 struct slug_data {
105135 std::size_t number;
You can’t perform that action at this time.
0 commit comments