| 
									
										
										
										
											2017-08-09 12:10:14 +01:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  *  Created by Phil on 9/8/2017. | 
					
						
							|  |  |  |  *  Copyright 2017 Two Blue Cubes Ltd. All rights reserved. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *  Distributed under the Boost Software License, Version 1.0. (See accompanying | 
					
						
							|  |  |  |  *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #include "catch_capture_matchers.h"
 | 
					
						
							|  |  |  | #include "catch_interfaces_registry_hub.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace Catch { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     using StringMatcher = Matchers::Impl::MatcherBase<std::string>; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // This is the general overload that takes a any string matcher
 | 
					
						
							| 
									
										
										
										
											2018-03-07 04:08:35 -05:00
										 |  |  |     // There is another overload, in catch_assertionhandler.h/.cpp, that only takes a string and infers
 | 
					
						
							| 
									
										
										
										
											2017-08-09 12:10:14 +01:00
										 |  |  |     // the Equals matcher (so the header does not mention matchers)
 | 
					
						
							|  |  |  |     void handleExceptionMatchExpr( AssertionHandler& handler, StringMatcher const& matcher, StringRef matcherString  ) { | 
					
						
							| 
									
										
										
										
											2017-08-17 19:19:17 +01:00
										 |  |  |         std::string exceptionMessage = Catch::translateActiveException(); | 
					
						
							|  |  |  |         MatchExpr<std::string, StringMatcher const&> expr( exceptionMessage, matcher, matcherString ); | 
					
						
							| 
									
										
										
										
											2017-11-24 19:15:46 +00:00
										 |  |  |         handler.handleExpr( expr ); | 
					
						
							| 
									
										
										
										
											2017-08-09 12:10:14 +01:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } // namespace Catch
 |