mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-11-03 21:49:32 +01:00 
			
		
		
		
	@@ -53,6 +53,7 @@ set(INTERNAL_HEADERS
 | 
			
		||||
    ${SOURCES_DIR}/catch_config.hpp
 | 
			
		||||
    ${SOURCES_DIR}/internal/catch_config_android_logwrite.hpp
 | 
			
		||||
    ${SOURCES_DIR}/internal/catch_config_uncaught_exceptions.hpp
 | 
			
		||||
    ${SOURCES_DIR}/internal/catch_config_wchar.hpp
 | 
			
		||||
    ${SOURCES_DIR}/internal/catch_console_colour.hpp
 | 
			
		||||
    ${SOURCES_DIR}/internal/catch_context.hpp
 | 
			
		||||
    ${SOURCES_DIR}/internal/catch_debug_console.hpp
 | 
			
		||||
 
 | 
			
		||||
@@ -52,6 +52,7 @@
 | 
			
		||||
#include <catch2/internal/catch_compiler_capabilities.hpp>
 | 
			
		||||
#include <catch2/internal/catch_config_android_logwrite.hpp>
 | 
			
		||||
#include <catch2/internal/catch_config_uncaught_exceptions.hpp>
 | 
			
		||||
#include <catch2/internal/catch_config_wchar.hpp>
 | 
			
		||||
#include <catch2/internal/catch_console_colour.hpp>
 | 
			
		||||
#include <catch2/internal/catch_console_width.hpp>
 | 
			
		||||
#include <catch2/internal/catch_container_nonmembers.hpp>
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,7 @@
 | 
			
		||||
#include <catch2/internal/catch_noncopyable.hpp>
 | 
			
		||||
#include <catch2/catch_config.hpp>
 | 
			
		||||
#include <catch2/internal/catch_unique_ptr.hpp>
 | 
			
		||||
#include <catch2/internal/catch_compiler_capabilities.hpp>
 | 
			
		||||
#include <catch2/internal/catch_config_wchar.hpp>
 | 
			
		||||
 | 
			
		||||
namespace Catch {
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -14,6 +14,7 @@
 | 
			
		||||
#include <type_traits>
 | 
			
		||||
#include <string>
 | 
			
		||||
#include <catch2/internal/catch_compiler_capabilities.hpp>
 | 
			
		||||
#include <catch2/internal/catch_config_wchar.hpp>
 | 
			
		||||
#include <catch2/internal/catch_stream.hpp>
 | 
			
		||||
#include <catch2/interfaces/catch_interfaces_enum_values_registry.hpp>
 | 
			
		||||
 | 
			
		||||
@@ -162,7 +163,7 @@ namespace Catch {
 | 
			
		||||
        static std::string convert(char * str);
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
#ifdef CATCH_CONFIG_WCHAR
 | 
			
		||||
#if defined(CATCH_CONFIG_WCHAR)
 | 
			
		||||
    template<>
 | 
			
		||||
    struct StringMaker<std::wstring> {
 | 
			
		||||
        static std::string convert(const std::wstring& wstr);
 | 
			
		||||
@@ -183,7 +184,7 @@ namespace Catch {
 | 
			
		||||
    struct StringMaker<wchar_t *> {
 | 
			
		||||
        static std::string convert(wchar_t * str);
 | 
			
		||||
    };
 | 
			
		||||
#endif
 | 
			
		||||
#endif // CATCH_CONFIG_WCHAR
 | 
			
		||||
 | 
			
		||||
    // TBD: Should we use `strnlen` to ensure that we don't go out of the buffer,
 | 
			
		||||
    //      while keeping string semantics?
 | 
			
		||||
 
 | 
			
		||||
@@ -186,11 +186,6 @@
 | 
			
		||||
#  define CATCH_INTERNAL_CONFIG_EXCEPTIONS_ENABLED
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
////////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// DJGPP
 | 
			
		||||
#ifdef __DJGPP__
 | 
			
		||||
#  define CATCH_INTERNAL_CONFIG_NO_WCHAR
 | 
			
		||||
#endif // __DJGPP__
 | 
			
		||||
 | 
			
		||||
////////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// Embarcadero C++Build
 | 
			
		||||
@@ -273,10 +268,6 @@
 | 
			
		||||
#if defined(CATCH_INTERNAL_CONFIG_POSIX_SIGNALS) && !defined(CATCH_INTERNAL_CONFIG_NO_POSIX_SIGNALS) && !defined(CATCH_CONFIG_NO_POSIX_SIGNALS) && !defined(CATCH_CONFIG_POSIX_SIGNALS)
 | 
			
		||||
#   define CATCH_CONFIG_POSIX_SIGNALS
 | 
			
		||||
#endif
 | 
			
		||||
// This is set by default, because we assume that compilers with no wchar_t support are just rare exceptions.
 | 
			
		||||
#if !defined(CATCH_INTERNAL_CONFIG_NO_WCHAR) && !defined(CATCH_CONFIG_NO_WCHAR) && !defined(CATCH_CONFIG_WCHAR)
 | 
			
		||||
#   define CATCH_CONFIG_WCHAR
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !defined(CATCH_INTERNAL_CONFIG_NO_CPP11_TO_STRING) && !defined(CATCH_CONFIG_NO_CPP11_TO_STRING) && !defined(CATCH_CONFIG_CPP11_TO_STRING)
 | 
			
		||||
#    define CATCH_CONFIG_CPP11_TO_STRING
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										33
									
								
								src/catch2/internal/catch_config_wchar.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								src/catch2/internal/catch_config_wchar.hpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
			
		||||
 | 
			
		||||
//              Copyright Catch2 Authors
 | 
			
		||||
// Distributed under the Boost Software License, Version 1.0.
 | 
			
		||||
//   (See accompanying file LICENSE_1_0.txt or copy at
 | 
			
		||||
//        https://www.boost.org/LICENSE_1_0.txt)
 | 
			
		||||
 | 
			
		||||
// SPDX-License-Identifier: BSL-1.0
 | 
			
		||||
 | 
			
		||||
/** \file
 | 
			
		||||
 * Wrapper for the WCHAR configuration option
 | 
			
		||||
 *
 | 
			
		||||
 * We want to support platforms that do not provide `wchar_t`, so we
 | 
			
		||||
 * sometimes have to disable providing wchar_t overloads through Catch2,
 | 
			
		||||
 * e.g. the StringMaker specialization for `std::wstring`.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef CATCH_CONFIG_WCHAR_HPP_INCLUDED
 | 
			
		||||
#define CATCH_CONFIG_WCHAR_HPP_INCLUDED
 | 
			
		||||
 | 
			
		||||
// We assume that WCHAR should be enabled by default, and only disabled
 | 
			
		||||
// for a shortlist (so far only DJGPP) of compilers.
 | 
			
		||||
 | 
			
		||||
#if defined(__DJGPP__)
 | 
			
		||||
#  define CATCH_INTERNAL_CONFIG_NO_WCHAR
 | 
			
		||||
#endif // __DJGPP__
 | 
			
		||||
 | 
			
		||||
#if !defined( CATCH_INTERNAL_CONFIG_NO_WCHAR ) && \
 | 
			
		||||
    !defined( CATCH_CONFIG_NO_WCHAR ) && \
 | 
			
		||||
    !defined( CATCH_CONFIG_WCHAR )
 | 
			
		||||
#    define CATCH_CONFIG_WCHAR
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif // CATCH_CONFIG_WCHAR_HPP_INCLUDED
 | 
			
		||||
@@ -7,6 +7,7 @@
 | 
			
		||||
// SPDX-License-Identifier: BSL-1.0
 | 
			
		||||
#include <catch2/catch_session.hpp>
 | 
			
		||||
#include <catch2/internal/catch_compiler_capabilities.hpp>
 | 
			
		||||
#include <catch2/internal/catch_config_wchar.hpp>
 | 
			
		||||
#include <catch2/internal/catch_leak_detector.hpp>
 | 
			
		||||
#include <catch2/internal/catch_platform.hpp>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user