mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 20:27:11 +01:00 
			
		
		
		
	| @@ -331,7 +331,7 @@ MatchersRanges.tests.cpp:<line number>: passed: inner_lists_are_empty.front(), I | ||||
| MatchersRanges.tests.cpp:<line number>: passed: has_empty{}, !IsEmpty() for: {?} not is empty | ||||
| MatchersRanges.tests.cpp:<line number>: passed: unrelated::ADL_empty{}, IsEmpty() for: {?} is empty | ||||
| Message.tests.cpp:<line number>: passed: with 7 messages: 'a := 1' and 'b := 2' and 'c := 3' and 'a + b := 3' and 'a+b := 3' and 'c > b := true' and 'a == 1 := true' | ||||
| Message.tests.cpp:<line number>: passed: with 7 messages: 'std::vector<int>{1, 2, 3}[0, 1, 2] := 3' and 'std::vector<int>{1, 2, 3}[(0, 1)] := 2' and 'std::vector<int>{1, 2, 3}[0] := 1' and '(helper_1436<int, int>{12, -12}) := { 12, -12 }' and '(helper_1436<int, int>(-12, 12)) := { -12, 12 }' and '(1, 2) := 2' and '(2, 3) := 3' | ||||
| Message.tests.cpp:<line number>: passed: with 7 messages: 'custom_index_op<int>{1, 2, 3}[0, 1, 2] := 0' and 'custom_index_op<int>{1, 2, 3}[(0, 1)] := 0' and 'custom_index_op<int>{1, 2, 3}[0] := 0' and '(helper_1436<int, int>{12, -12}) := { 12, -12 }' and '(helper_1436<int, int>(-12, 12)) := { -12, 12 }' and '(1, 2) := 2' and '(2, 3) := 3' | ||||
| Message.tests.cpp:<line number>: passed: with 11 messages: '("comma, in string", "escaped, \", ") := "escaped, ", "' and '"single quote in string,'," := "single quote in string,',"' and '"some escapes, \\,\\\\" := "some escapes, \,\\"' and '"some, ), unmatched, } prenheses {[<" := "some, ), unmatched, } prenheses {[<"' and ''"' := '"'' and ''\'' := '''' and '',' := ','' and ''}' := '}'' and '')' := ')'' and ''(' := '('' and ''{' := '{'' | ||||
| ToStringGeneral.tests.cpp:<line number>: passed: true with 1 message: 'i := 2' | ||||
| ToStringGeneral.tests.cpp:<line number>: passed: true with 1 message: '3' | ||||
|   | ||||
| @@ -329,7 +329,7 @@ MatchersRanges.tests.cpp:<line number>: passed: inner_lists_are_empty.front(), I | ||||
| MatchersRanges.tests.cpp:<line number>: passed: has_empty{}, !IsEmpty() for: {?} not is empty | ||||
| MatchersRanges.tests.cpp:<line number>: passed: unrelated::ADL_empty{}, IsEmpty() for: {?} is empty | ||||
| Message.tests.cpp:<line number>: passed: with 7 messages: 'a := 1' and 'b := 2' and 'c := 3' and 'a + b := 3' and 'a+b := 3' and 'c > b := true' and 'a == 1 := true' | ||||
| Message.tests.cpp:<line number>: passed: with 7 messages: 'std::vector<int>{1, 2, 3}[0, 1, 2] := 3' and 'std::vector<int>{1, 2, 3}[(0, 1)] := 2' and 'std::vector<int>{1, 2, 3}[0] := 1' and '(helper_1436<int, int>{12, -12}) := { 12, -12 }' and '(helper_1436<int, int>(-12, 12)) := { -12, 12 }' and '(1, 2) := 2' and '(2, 3) := 3' | ||||
| Message.tests.cpp:<line number>: passed: with 7 messages: 'custom_index_op<int>{1, 2, 3}[0, 1, 2] := 0' and 'custom_index_op<int>{1, 2, 3}[(0, 1)] := 0' and 'custom_index_op<int>{1, 2, 3}[0] := 0' and '(helper_1436<int, int>{12, -12}) := { 12, -12 }' and '(helper_1436<int, int>(-12, 12)) := { -12, 12 }' and '(1, 2) := 2' and '(2, 3) := 3' | ||||
| Message.tests.cpp:<line number>: passed: with 11 messages: '("comma, in string", "escaped, \", ") := "escaped, ", "' and '"single quote in string,'," := "single quote in string,',"' and '"some escapes, \\,\\\\" := "some escapes, \,\\"' and '"some, ), unmatched, } prenheses {[<" := "some, ), unmatched, } prenheses {[<"' and ''"' := '"'' and ''\'' := '''' and '',' := ','' and ''}' := '}'' and '')' := ')'' and ''(' := '('' and ''{' := '{'' | ||||
| ToStringGeneral.tests.cpp:<line number>: passed: true with 1 message: 'i := 2' | ||||
| ToStringGeneral.tests.cpp:<line number>: passed: true with 1 message: '3' | ||||
|   | ||||
| @@ -2740,9 +2740,9 @@ Message.tests.cpp:<line number> | ||||
|  | ||||
| Message.tests.cpp:<line number>: PASSED: | ||||
| with messages: | ||||
|   std::vector<int>{1, 2, 3}[0, 1, 2] := 3 | ||||
|   std::vector<int>{1, 2, 3}[(0, 1)] := 2 | ||||
|   std::vector<int>{1, 2, 3}[0] := 1 | ||||
|   custom_index_op<int>{1, 2, 3}[0, 1, 2] := 0 | ||||
|   custom_index_op<int>{1, 2, 3}[(0, 1)] := 0 | ||||
|   custom_index_op<int>{1, 2, 3}[0] := 0 | ||||
|   (helper_1436<int, int>{12, -12}) := { 12, -12 } | ||||
|   (helper_1436<int, int>(-12, 12)) := { -12, 12 } | ||||
|   (1, 2) := 2 | ||||
|   | ||||
| @@ -2738,9 +2738,9 @@ Message.tests.cpp:<line number> | ||||
|  | ||||
| Message.tests.cpp:<line number>: PASSED: | ||||
| with messages: | ||||
|   std::vector<int>{1, 2, 3}[0, 1, 2] := 3 | ||||
|   std::vector<int>{1, 2, 3}[(0, 1)] := 2 | ||||
|   std::vector<int>{1, 2, 3}[0] := 1 | ||||
|   custom_index_op<int>{1, 2, 3}[0, 1, 2] := 0 | ||||
|   custom_index_op<int>{1, 2, 3}[(0, 1)] := 0 | ||||
|   custom_index_op<int>{1, 2, 3}[0] := 0 | ||||
|   (helper_1436<int, int>{12, -12}) := { 12, -12 } | ||||
|   (helper_1436<int, int>(-12, 12)) := { -12, 12 } | ||||
|   (1, 2) := 2 | ||||
|   | ||||
| @@ -659,7 +659,7 @@ ok {test-number} - unrelated::ADL_empty{}, IsEmpty() for: {?} is empty | ||||
| # CAPTURE can deal with complex expressions | ||||
| ok {test-number} - with 7 messages: 'a := 1' and 'b := 2' and 'c := 3' and 'a + b := 3' and 'a+b := 3' and 'c > b := true' and 'a == 1 := true' | ||||
| # CAPTURE can deal with complex expressions involving commas | ||||
| ok {test-number} - with 7 messages: 'std::vector<int>{1, 2, 3}[0, 1, 2] := 3' and 'std::vector<int>{1, 2, 3}[(0, 1)] := 2' and 'std::vector<int>{1, 2, 3}[0] := 1' and '(helper_1436<int, int>{12, -12}) := { 12, -12 }' and '(helper_1436<int, int>(-12, 12)) := { -12, 12 }' and '(1, 2) := 2' and '(2, 3) := 3' | ||||
| ok {test-number} - with 7 messages: 'custom_index_op<int>{1, 2, 3}[0, 1, 2] := 0' and 'custom_index_op<int>{1, 2, 3}[(0, 1)] := 0' and 'custom_index_op<int>{1, 2, 3}[0] := 0' and '(helper_1436<int, int>{12, -12}) := { 12, -12 }' and '(helper_1436<int, int>(-12, 12)) := { -12, 12 }' and '(1, 2) := 2' and '(2, 3) := 3' | ||||
| # CAPTURE parses string and character constants | ||||
| ok {test-number} - with 11 messages: '("comma, in string", "escaped, \", ") := "escaped, ", "' and '"single quote in string,'," := "single quote in string,',"' and '"some escapes, \\,\\\\" := "some escapes, \,\\"' and '"some, ), unmatched, } prenheses {[<" := "some, ), unmatched, } prenheses {[<"' and ''"' := '"'' and ''\'' := '''' and '',' := ','' and ''}' := '}'' and '')' := ')'' and ''(' := '('' and ''{' := '{'' | ||||
| # Capture and info messages | ||||
|   | ||||
| @@ -657,7 +657,7 @@ ok {test-number} - unrelated::ADL_empty{}, IsEmpty() for: {?} is empty | ||||
| # CAPTURE can deal with complex expressions | ||||
| ok {test-number} - with 7 messages: 'a := 1' and 'b := 2' and 'c := 3' and 'a + b := 3' and 'a+b := 3' and 'c > b := true' and 'a == 1 := true' | ||||
| # CAPTURE can deal with complex expressions involving commas | ||||
| ok {test-number} - with 7 messages: 'std::vector<int>{1, 2, 3}[0, 1, 2] := 3' and 'std::vector<int>{1, 2, 3}[(0, 1)] := 2' and 'std::vector<int>{1, 2, 3}[0] := 1' and '(helper_1436<int, int>{12, -12}) := { 12, -12 }' and '(helper_1436<int, int>(-12, 12)) := { -12, 12 }' and '(1, 2) := 2' and '(2, 3) := 3' | ||||
| ok {test-number} - with 7 messages: 'custom_index_op<int>{1, 2, 3}[0, 1, 2] := 0' and 'custom_index_op<int>{1, 2, 3}[(0, 1)] := 0' and 'custom_index_op<int>{1, 2, 3}[0] := 0' and '(helper_1436<int, int>{12, -12}) := { 12, -12 }' and '(helper_1436<int, int>(-12, 12)) := { -12, 12 }' and '(1, 2) := 2' and '(2, 3) := 3' | ||||
| # CAPTURE parses string and character constants | ||||
| ok {test-number} - with 11 messages: '("comma, in string", "escaped, \", ") := "escaped, ", "' and '"single quote in string,'," := "single quote in string,',"' and '"some escapes, \\,\\\\" := "some escapes, \,\\"' and '"some, ), unmatched, } prenheses {[<" := "some, ), unmatched, } prenheses {[<"' and ''"' := '"'' and ''\'' := '''' and '',' := ','' and ''}' := '}'' and '')' := ')'' and ''(' := '('' and ''{' := '{'' | ||||
| # Capture and info messages | ||||
|   | ||||
| @@ -2911,13 +2911,13 @@ Nor would this | ||||
|   </TestCase> | ||||
|   <TestCase name="CAPTURE can deal with complex expressions involving commas" tags="[capture][messages]" filename="tests/<exe-name>/UsageTests/Message.tests.cpp" > | ||||
|     <Info filename="tests/<exe-name>/UsageTests/Message.tests.cpp" > | ||||
|       std::vector<int>{1, 2, 3}[0, 1, 2] := 3 | ||||
|       custom_index_op<int>{1, 2, 3}[0, 1, 2] := 0 | ||||
|     </Info> | ||||
|     <Info filename="tests/<exe-name>/UsageTests/Message.tests.cpp" > | ||||
|       std::vector<int>{1, 2, 3}[(0, 1)] := 2 | ||||
|       custom_index_op<int>{1, 2, 3}[(0, 1)] := 0 | ||||
|     </Info> | ||||
|     <Info filename="tests/<exe-name>/UsageTests/Message.tests.cpp" > | ||||
|       std::vector<int>{1, 2, 3}[0] := 1 | ||||
|       custom_index_op<int>{1, 2, 3}[0] := 0 | ||||
|     </Info> | ||||
|     <Info filename="tests/<exe-name>/UsageTests/Message.tests.cpp" > | ||||
|       (helper_1436<int, int>{12, -12}) := { 12, -12 } | ||||
|   | ||||
| @@ -2911,13 +2911,13 @@ Nor would this | ||||
|   </TestCase> | ||||
|   <TestCase name="CAPTURE can deal with complex expressions involving commas" tags="[capture][messages]" filename="tests/<exe-name>/UsageTests/Message.tests.cpp" > | ||||
|     <Info filename="tests/<exe-name>/UsageTests/Message.tests.cpp" > | ||||
|       std::vector<int>{1, 2, 3}[0, 1, 2] := 3 | ||||
|       custom_index_op<int>{1, 2, 3}[0, 1, 2] := 0 | ||||
|     </Info> | ||||
|     <Info filename="tests/<exe-name>/UsageTests/Message.tests.cpp" > | ||||
|       std::vector<int>{1, 2, 3}[(0, 1)] := 2 | ||||
|       custom_index_op<int>{1, 2, 3}[(0, 1)] := 0 | ||||
|     </Info> | ||||
|     <Info filename="tests/<exe-name>/UsageTests/Message.tests.cpp" > | ||||
|       std::vector<int>{1, 2, 3}[0] := 1 | ||||
|       custom_index_op<int>{1, 2, 3}[0] := 0 | ||||
|     </Info> | ||||
|     <Info filename="tests/<exe-name>/UsageTests/Message.tests.cpp" > | ||||
|       (helper_1436<int, int>{12, -12}) := { 12, -12 } | ||||
|   | ||||
| @@ -255,10 +255,24 @@ std::ostream& operator<<(std::ostream& out, helper_1436<T1, T2> const& helper) { | ||||
| #pragma clang diagnostic ignored "-Wunused-value" | ||||
| #endif | ||||
|  | ||||
| namespace { | ||||
|     template <typename T> | ||||
|     struct custom_index_op { | ||||
|         constexpr custom_index_op( std::initializer_list<T> ) {} | ||||
|         constexpr T operator[]( size_t ) { return T{}; } | ||||
| #if defined( __cpp_multidimensional_subscript ) && \ | ||||
|     __cpp_multidimensional_subscript >= 202110L | ||||
|         constexpr T operator[]( size_t, size_t, size_t ) const noexcept { | ||||
|             return T{}; | ||||
|         } | ||||
| #endif | ||||
|     }; | ||||
| } | ||||
|  | ||||
| TEST_CASE("CAPTURE can deal with complex expressions involving commas", "[messages][capture]") { | ||||
|     CAPTURE(std::vector<int>{1, 2, 3}[0, 1, 2], | ||||
|             std::vector<int>{1, 2, 3}[(0, 1)], | ||||
|             std::vector<int>{1, 2, 3}[0]); | ||||
|     CAPTURE(custom_index_op<int>{1, 2, 3}[0, 1, 2], | ||||
|             custom_index_op<int>{1, 2, 3}[(0, 1)], | ||||
|             custom_index_op<int>{1, 2, 3}[0]); | ||||
|     CAPTURE((helper_1436<int, int>{12, -12}), | ||||
|             (helper_1436<int, int>(-12, 12))); | ||||
|     CAPTURE( (1, 2), (2, 3) ); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Martin Hořeňovský
					Martin Hořeňovský